From 5bfcf87d435e2a6235b791e443be1dc1840526b1 Mon Sep 17 00:00:00 2001 From: ManifoldFR Date: Sat, 23 Dec 2023 04:55:36 +0100 Subject: [PATCH] index.js: fix ArrayBuffer for handle_special_geometry index.js: change return signature of merge_geometries + adapt handle_special_geometry + fix handling of multiple materials per group in handle_special_geometry + fix line 35 + simplify handle_special_geometry --- dist/main.min.js | 2 +- dist/main.min.js.THIRD_PARTY_LICENSES.json | 9 +++++++++ src/index.js | 13 ++++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/dist/main.min.js b/dist/main.min.js index 78922ed..74992a1 100644 --- a/dist/main.min.js +++ b/dist/main.min.js @@ -1,2 +1,2 @@ /*! For license information please see main.min.js.LICENSE.txt */ -!function(A,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MeshCat=t():A.MeshCat=t()}(self,(()=>(()=>{var __webpack_modules__={775:(A,t,e)=>{var g;A=e.nmd(A),function(){if(void 0!==A.exports)var B=e(491),i=e(626),I=e(258);var Q={function:!0,object:!0};function o(A){return A&&A.Object===Object?A:null}parseFloat,parseInt;var E=Q[typeof t]&&t&&!t.nodeType?t:void 0,s=Q.object&&A&&!A.nodeType?A:void 0,n=(s&&s.exports,o(E&&s&&"object"==typeof e.g&&e.g)),C=o(Q[typeof self]&&self),a=o(Q[typeof window]&&window),r=o(Q[typeof this]&&this);function c(A){return String("0000000"+A).slice(-7)}n||a!==(r&&r.window)&&a||C||r||Function("return this")(),"gc"in window||(window.gc=function(){}),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(A,t,e){for(var g=atob(this.toDataURL(t,e).split(",")[1]),B=g.length,i=new Uint8Array(B),I=0;I=E.frameLimit||E.timeLimit&&A>=E.timeLimit)&&(K(),W());var t=new Date(null);t.setSeconds(A),E.motionBlurFrames>2?d.textContent="CCapture "+E.format+" | "+C+" frames ("+a+" inter) | "+t.toISOString().substr(11,8):d.textContent="CCapture "+E.format+" | "+C+" frames | "+t.toISOString().substr(11,8)}(),v("Frame: "+C+" "+a);for(var i=0;i=s[i].triggerTime&&(Z(s[i].callback),s.splice(i,1));for(i=0;i=n[i].triggerTime&&(Z(n[i].callback),n[i].triggerTime+=n[i].time);r.forEach((function(A){Z(A,e-l)})),r=[]}function W(A){A||(A=function(A){return i(A,o.filename+o.extension,o.mimeType),!1}),o.save(A)}function v(A){t&&console.log(A)}return{start:function(){!function(){function A(){return this._hooked||(this._hooked=!0,this._hookedTime=this.currentTime||0,this.pause(),V.push(this)),this._hookedTime+E.startTime}v("Capturer start"),g=window.Date.now(),e=g+E.startTime,I=window.performance.now(),B=I+E.startTime,window.Date.prototype.getTime=function(){return e},window.Date.now=function(){return e},window.setTimeout=function(A,t){var g={callback:A,time:t,triggerTime:e+t};return s.push(g),v("Timeout set to "+g.time),g},window.clearTimeout=function(A){for(var t=0;t2?(function(A){R.width===A.width&&R.height===A.height||(R.width=A.width,R.height=A.height,y=new Uint16Array(R.height*R.width*4),G.fillStyle="#0",G.fillRect(0,0,R.width,R.height))}(A),function(A){G.drawImage(A,0,0),F=G.getImageData(0,0,R.width,R.height);for(var t=0;t=.5*E.motionBlurFrames?function(){for(var A=F.data,t=0;t0&&this.frames.length/this.settings.framerate>=this.settings.autoSaveTime?this.save(function(A){this.filename=this.baseFilename+"-part-"+c(this.part),i(A,this.filename+this.extension,this.mimeType),this.dispose(),this.part++,this.filename=this.baseFilename+"-part-"+c(this.part),this.step()}.bind(this)):this.step()},D.prototype.save=function(A){this.videoWriter.complete().then(A)},D.prototype.dispose=function(A){this.frames=[]},p.prototype=Object.create(h.prototype),p.prototype.start=function(){this.encoder.start(this.settings)},p.prototype.add=function(A){this.encoder.add(A)},p.prototype.save=function(A){this.callback=A,this.encoder.end()},p.prototype.safeToProceed=function(){return this.encoder.safeToProceed()},m.prototype=Object.create(h.prototype),m.prototype.add=function(A){this.stream||(this.stream=A.captureStream(this.framerate),this.mediaRecorder=new MediaRecorder(this.stream),this.mediaRecorder.start(),this.mediaRecorder.ondataavailable=function(A){this.chunks.push(A.data)}.bind(this)),this.step()},m.prototype.save=function(A){this.mediaRecorder.onstop=function(t){var e=new Blob(this.chunks,{type:"video/webm"});this.chunks=[],A(e)}.bind(this),this.mediaRecorder.stop()},f.prototype=Object.create(h.prototype),f.prototype.add=function(A){this.sizeSet||(this.encoder.setOption("width",A.width),this.encoder.setOption("height",A.height),this.sizeSet=!0),this.canvas.width=A.width,this.canvas.height=A.height,this.ctx.drawImage(A,0,0),this.encoder.addFrame(this.ctx,{copy:!0,delay:this.settings.step}),this.step()},f.prototype.save=function(A){this.callback=A,this.encoder.render()},(a||C||{}).CCapture=y,void 0===(g=function(){return y}.call(t,e,t,A))||(A.exports=g)}()},626:A=>{void 0!==A.exports&&(A.exports=function(A,t,e){var g,B,i,I=window,Q="application/octet-stream",o=e||Q,E=A,s=document,n=s.createElement("a"),C=function(A){return String(A)},a=I.Blob||I.MozBlob||I.WebKitBlob||C,r=I.MSBlobBuilder||I.WebKitBlobBuilder||I.BlobBuilder,c=t||"download";if("true"===String(this)&&(o=(E=[E,o])[0],E=E[1]),String(E).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(function(A){for(var t=A.split(/[:;,]/),e=t[1],g=("base64"==t[2]?atob:decodeURIComponent)(t.pop()),B=g.length,i=0,I=new Uint8Array(B);i{A.exports=function A(t,e,g){function B(I,Q){if(!e[I]){if(!t[I]){if(i)return i(I,!0);var o=new Error("Cannot find module '"+I+"'");throw o.code="MODULE_NOT_FOUND",o}var E=e[I]={exports:{}};t[I][0].call(E.exports,(function(A){return B(t[I][1][A]||A)}),E,E.exports,A,t,e,g)}return e[I].exports}for(var i=void 0,I=0;I0&&this._events[A].length>e&&(this._events[A].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[A].length),"function"==typeof console.trace&&console.trace()),this},g.prototype.on=g.prototype.addListener,g.prototype.once=function(A,t){if(!B(t))throw TypeError("listener must be a function");var e=!1;function g(){this.removeListener(A,g),e||(e=!0,t.apply(this,arguments))}return g.listener=t,this.on(A,g),this},g.prototype.removeListener=function(A,t){var e,g,I,Q;if(!B(t))throw TypeError("listener must be a function");if(!this._events||!this._events[A])return this;if(I=(e=this._events[A]).length,g=-1,e===t||B(e.listener)&&e.listener===t)delete this._events[A],this._events.removeListener&&this.emit("removeListener",A,t);else if(i(e)){for(Q=I;Q-- >0;)if(e[Q]===t||e[Q].listener&&e[Q].listener===t){g=Q;break}if(g<0)return this;1===e.length?(e.length=0,delete this._events[A]):e.splice(g,1),this._events.removeListener&&this.emit("removeListener",A,t)}return this},g.prototype.removeAllListeners=function(A){var t,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[A]&&delete this._events[A],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(B(e=this._events[A]))this.removeListener(A,e);else if(e)for(;e.length;)this.removeListener(A,e[e.length-1]);return delete this._events[A],this},g.prototype.listeners=function(A){return this._events&&this._events[A]?B(this._events[A])?[this._events[A]]:this._events[A].slice():[]},g.prototype.listenerCount=function(A){if(this._events){var t=this._events[A];if(B(t))return 1;if(t)return t.length}return 0},g.listenerCount=function(A,t){return A.listenerCount(t)}},{}],2:[function(A,t,e){var g=A("./TypedNeuQuant.js"),B=A("./LZWEncoder.js");function i(){this.page=-1,this.pages=[],this.newPage()}i.pageSize=4096,i.charMap={};for(var I=0;I<256;I++)i.charMap[I]=String.fromCharCode(I);function Q(A,t){this.width=~~A,this.height=~~t,this.transparent=null,this.transIndex=0,this.repeat=-1,this.delay=0,this.image=null,this.pixels=null,this.indexedPixels=null,this.colorDepth=null,this.colorTab=null,this.neuQuant=null,this.usedEntry=new Array,this.palSize=7,this.dispose=-1,this.firstFrame=!0,this.sample=10,this.dither=!1,this.globalPalette=!1,this.out=new i}i.prototype.newPage=function(){this.pages[++this.page]=new Uint8Array(i.pageSize),this.cursor=0},i.prototype.getData=function(){for(var A="",t=0;t=i.pageSize&&this.newPage(),this.pages[this.page][this.cursor++]=A},i.prototype.writeUTFBytes=function(A){for(var t=A.length,e=0;e=0&&(this.dispose=A)},Q.prototype.setRepeat=function(A){this.repeat=A},Q.prototype.setTransparent=function(A){this.transparent=A},Q.prototype.addFrame=function(A){this.image=A,this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null,this.getImagePixels(),this.analyzePixels(),!0===this.globalPalette&&(this.globalPalette=this.colorTab),this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.globalPalette||this.writePalette(),this.writePixels(),this.firstFrame=!1},Q.prototype.finish=function(){this.out.writeByte(59)},Q.prototype.setQuality=function(A){A<1&&(A=1),this.sample=A},Q.prototype.setDither=function(A){!0===A&&(A="FloydSteinberg"),this.dither=A},Q.prototype.setGlobalPalette=function(A){this.globalPalette=A},Q.prototype.getGlobalPalette=function(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette},Q.prototype.writeHeader=function(){this.out.writeUTFBytes("GIF89a")},Q.prototype.analyzePixels=function(){this.colorTab||(this.neuQuant=new g(this.pixels,this.sample),this.neuQuant.buildColormap(),this.colorTab=this.neuQuant.getColormap()),this.dither?this.ditherPixels(this.dither.replace("-serpentine",""),null!==this.dither.match(/-serpentine/)):this.indexPixels(),this.pixels=null,this.colorDepth=8,this.palSize=7,null!==this.transparent&&(this.transIndex=this.findClosest(this.transparent,!0))},Q.prototype.indexPixels=function(A){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);for(var e=0,g=0;g=0&&D+s=0&&p+E>16,(65280&A)>>8,255&A,t)},Q.prototype.findClosestRGB=function(A,t,e,g){if(null===this.colorTab)return-1;if(this.neuQuant&&!g)return this.neuQuant.lookupRGB(A,t,e);for(var B=0,i=16777216,I=this.colorTab.length,Q=0,o=0;Q=0&&(t=7&this.dispose),t<<=2,this.out.writeByte(t|A),this.writeShort(this.delay),this.out.writeByte(this.transIndex),this.out.writeByte(0)},Q.prototype.writeImageDesc=function(){this.out.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame||this.globalPalette?this.out.writeByte(0):this.out.writeByte(128|this.palSize)},Q.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.out.writeByte(240|this.palSize),this.out.writeByte(0),this.out.writeByte(0)},Q.prototype.writeNetscapeExt=function(){this.out.writeByte(33),this.out.writeByte(255),this.out.writeByte(11),this.out.writeUTFBytes("NETSCAPE2.0"),this.out.writeByte(3),this.out.writeByte(1),this.writeShort(this.repeat),this.out.writeByte(0)},Q.prototype.writePalette=function(){this.out.writeBytes(this.colorTab);for(var A=768-this.colorTab.length,t=0;t>8&255)},Q.prototype.writePixels=function(){new B(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this.out)},Q.prototype.stream=function(){return this.out},t.exports=Q},{"./LZWEncoder.js":3,"./TypedNeuQuant.js":4}],3:[function(A,t,e){var g=5003,B=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];t.exports=function(A,t,e,i){var I,Q,o,E,s,n,C=Math.max(2,i),a=new Uint8Array(256),r=new Int32Array(g),c=new Int32Array(g),l=0,h=0,d=!1;function u(A,t){a[Q++]=A,Q>=254&&p(t)}function w(A){D(g),h=s+2,d=!0,y(s,A)}function D(A){for(var t=0;t0&&(A.writeByte(Q),A.writeBytes(a,0,Q),Q=0)}function m(A){return(1<0?I|=A<=8;)u(255&I,t),I>>=8,l-=8;if((h>o||d)&&(d?(o=m(n_bits=E),d=!1):(++n_bits,o=12==n_bits?4096:m(n_bits))),A==n){for(;l>0;)u(255&I,t),I>>=8,l-=8;p(t)}}this.encode=function(e){e.writeByte(C),remaining=A*t,curPixel=0,function(A,t){var e,B,i,I,C,a,l;for(E=A,d=!1,n_bits=E,o=m(n_bits),n=1+(s=1<=0){C=a-i,0===i&&(C=1);do{if((i-=C)<0&&(i+=a),r[i]===e){I=c[i];continue A}}while(r[i]>=0)}y(I,t),I=B,h<4096?(c[i]=h++,r[i]=e):w(t)}else I=c[i];y(I,t),y(n,t)}(C+1,e),e.writeByte(0)}}},{}],4:[function(A,t,e){var g=256,B=1024,i=1<<18;t.exports=function(A,t){var e,I,Q,o,E;function s(A,t,g,i,I){e[t][0]-=A*(e[t][0]-g)/B,e[t][1]-=A*(e[t][1]-i)/B,e[t][2]-=A*(e[t][2]-I)/B}function n(A,t,B,I,Q){for(var o,s,n=Math.abs(t-A),C=Math.min(t+A,g),a=t+1,r=t-1,c=1;an;)s=E[c++],an&&((o=e[r--])[0]-=s*(o[0]-B)/i,o[1]-=s*(o[1]-I)/i,o[2]-=s*(o[2]-Q)/i)}function C(A,t,B){var i,I,E,s,n,C=~(1<<31),a=C,r=-1,c=r;for(i=0;i>12))>10,o[i]-=n,Q[i]+=n<<10;return o[r]+=64,Q[r]-=65536,c}this.buildColormap=function(){(function(){var A,t;for(e=[],I=new Int32Array(256),Q=new Int32Array(g),o=new Int32Array(g),E=new Int32Array(32),A=0;A>6;for(u<=1&&(u=0),e=0;e=a&&(w-=a),0===l&&(l=1),++e%l==0)for(h-=h/r,(u=(d-=d/30)>>6)<=1&&(u=0),o=0;o>=4,e[A][1]>>=4,e[A][2]>>=4,e[A][3]=A}(),function(){var A,t,B,i,Q,o,E=0,s=0;for(A=0;A>1,t=E+1;t>1,t=E+1;t<256;t++)I[t]=255}()},this.getColormap=function(){for(var A=[],t=[],B=0;B=0;)n=E?n=g:(n++,o<0&&(o=-o),(i=Q[0]-A)<0&&(i=-i),(o+=i)=0&&((o=t-(Q=e[C])[1])>=E?C=-1:(C--,o<0&&(o=-o),(i=Q[0]-A)<0&&(i=-i),(o+=i)t;0<=t?++A:--A)e.push(null);return e}.call(this),t=this.spawnWorkers(),!0===this.options.globalPalette)this.renderNextFrame();else for(A=0,e=t;0<=e?Ae;0<=e?++A:--A)this.renderNextFrame();return this.emit("start"),this.emit("progress",0)},g.prototype.abort=function(){for(var A;null!=(A=this.activeWorkers.shift());)this.log("killing active worker"),A.terminate();return this.running=!1,this.emit("abort")},g.prototype.spawnWorkers=function(){var A,t,e,g;return A=Math.min(this.options.workers,this.frames.length),function(){e=[];for(var g=t=this.freeWorkers.length;t<=A?gA;t<=A?g++:g--)e.push(g);return e}.apply(this).forEach((g=this,function(A){var t;return g.log("spawning worker "+A),(t=new Worker(g.options.workerScript)).onmessage=function(A){return g.activeWorkers.splice(g.activeWorkers.indexOf(t),1),g.freeWorkers.push(t),g.frameFinished(A.data)},g.freeWorkers.push(t)})),A},g.prototype.frameFinished=function(A){var t,e;if(this.log("frame "+A.index+" finished - "+this.activeWorkers.length+" active"),this.finishedFrames++,this.emit("progress",this.finishedFrames/this.frames.length),this.imageParts[A.index]=A,!0===this.options.globalPalette&&(this.options.globalPalette=A.globalPalette,this.log("global palette analyzed"),this.frames.length>2))for(t=1,e=this.freeWorkers.length;1<=e?te;1<=e?++t:--t)this.renderNextFrame();return I.call(this.imageParts,null)>=0?this.renderNextFrame():this.finishRendering()},g.prototype.finishRendering=function(){var A,t,e,g,B,i,I,Q,o,E,s,n,C,a,r,c;for(Q=0,B=0,o=(a=this.imageParts).length;B=this.frames.length))return A=this.frames[this.nextFrame++],e=this.freeWorkers.shift(),t=this.getTask(A),this.log("starting frame "+(t.index+1)+" of "+this.frames.length),this.activeWorkers.push(e),e.postMessage(t)},g.prototype.getContextData=function(A){return A.getImageData(0,0,this.options.width,this.options.height).data},g.prototype.getImageData=function(A){var t;return null==this._canvas&&(this._canvas=document.createElement("canvas"),this._canvas.width=this.options.width,this._canvas.height=this.options.height),(t=this._canvas.getContext("2d")).setFill=this.options.background,t.fillRect(0,0,this.options.width,this.options.height),t.drawImage(A,0,0),this.getContextData(t)},g.prototype.getTask=function(A){var t,e;if(e={index:t=this.frames.indexOf(A),last:t===this.frames.length-1,delay:A.delay,dispose:A.dispose,transparent:A.transparent,width:this.options.width,height:this.options.height,quality:this.options.quality,dither:this.options.dither,globalPalette:this.options.globalPalette,repeat:this.options.repeat,canTransfer:"chrome"===B.name},null!=A.data)e.data=A.data;else if(null!=A.context)e.data=this.getContextData(A.context);else{if(null==A.image)throw new Error("Invalid frame");e.data=this.getImageData(A.image)}return e},g.prototype.log=function(){var A;if(A=1<=arguments.length?Q.call(arguments,0):[],this.options.debug)return console.log.apply(console,A)},g}(g)},{"./GIFEncoder.js":2,"./browser.coffee":5,"./gif.worker.coffee":7,events:1}],7:[function(A,t,e){var g,B;g=A("./GIFEncoder.js"),B=function(A){var t,e,B,i;return t=new g(A.width,A.height),0===A.index?t.writeHeader():t.firstFrame=!1,t.setTransparent(A.transparent),t.setDispose(A.dispose),t.setRepeat(A.repeat),t.setDelay(A.delay),t.setQuality(A.quality),t.setDither(A.dither),t.setGlobalPalette(A.globalPalette),t.addFrame(A.data),A.last&&t.finish(),!0===A.globalPalette&&(A.globalPalette=t.getGlobalPalette()),B=t.stream(),A.data=B.pages,A.cursor=B.cursor,A.pageSize=B.constructor.pageSize,A.canTransfer?(i=function(){var t,g,B,i;for(i=[],t=0,g=(B=A.data).length;t{!function(){"use strict";var A=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"];function t(A){var t,e=new Uint8Array(A);for(t=0;t>18&63]+A[i>>12&63]+A[i>>6&63]+A[63&i];switch(Q.length%4){case 1:Q+="=";break;case 2:Q+="=="}return Q}}(),function(){"use strict";var A,t=window.utils;A=[{field:"fileName",length:100},{field:"fileMode",length:8},{field:"uid",length:8},{field:"gid",length:8},{field:"fileSize",length:12},{field:"mtime",length:12},{field:"checksum",length:8},{field:"type",length:1},{field:"linkName",length:100},{field:"ustar",length:8},{field:"owner",length:32},{field:"group",length:32},{field:"majorNumber",length:8},{field:"minorNumber",length:8},{field:"filenamePrefix",length:155},{field:"padding",length:12}],window.header={},window.header.structure=A,window.header.format=function(e,g){var B=t.clean(512),i=0;return A.forEach((function(A){var t,g,I=e[A.field]||"";for(t=0,g=I.length;tg&&(t.push({blocks:B,length:e}),B=[],e=0),B.push(A),e+=A.headerLength+A.inputLength})),t.push({blocks:B,length:e}),t.forEach((function(t){var e=new Uint8Array(t.length),g=0;t.blocks.forEach((function(A){e.set(A.header,g),g+=A.headerLength,e.set(A.input,g),g+=A.inputLength})),A.push(e)})),A.push(new Uint8Array(1024)),new Blob(A,{type:"octet/stream"})},i.prototype.clear=function(){this.written=0,this.out=g.clean(t)},void 0!==A.exports?A.exports=i:window.Tar=i}()},924:(A,t,e)=>{"use strict";function g(A,t){var e=A.__state.conversionName.toString(),g=Math.round(A.r),B=Math.round(A.g),i=Math.round(A.b),I=A.a,Q=Math.round(A.h),o=A.s.toFixed(1),E=A.v.toFixed(1);if(t||"THREE_CHAR_HEX"===e||"SIX_CHAR_HEX"===e){for(var s=A.hex.toString(16);s.length<6;)s="0"+s;return"#"+s}return"CSS_RGB"===e?"rgb("+g+","+B+","+i+")":"CSS_RGBA"===e?"rgba("+g+","+B+","+i+","+I+")":"HEX"===e?"0x"+A.hex.toString(16):"RGB_ARRAY"===e?"["+g+","+B+","+i+"]":"RGBA_ARRAY"===e?"["+g+","+B+","+i+","+I+"]":"RGB_OBJ"===e?"{r:"+g+",g:"+B+",b:"+i+"}":"RGBA_OBJ"===e?"{r:"+g+",g:"+B+",b:"+i+",a:"+I+"}":"HSV_OBJ"===e?"{h:"+Q+",s:"+o+",v:"+E+"}":"HSVA_OBJ"===e?"{h:"+Q+",s:"+o+",v:"+E+",a:"+I+"}":"unknown format"}e.d(t,{Ay:()=>oA});var B=Array.prototype.forEach,i=Array.prototype.slice,I={BREAK:{},extend:function(A){return this.each(i.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(t[e])||(A[e]=t[e])}.bind(this))}),this),A},defaults:function(A){return this.each(i.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(A[e])&&(A[e]=t[e])}.bind(this))}),this),A},compose:function(){var A=i.call(arguments);return function(){for(var t=i.call(arguments),e=A.length-1;e>=0;e--)t=[A[e].apply(this,t)];return t[0]}},each:function(A,t,e){if(A)if(B&&A.forEach&&A.forEach===B)A.forEach(t,e);else if(A.length===A.length+0){var g,i=void 0;for(i=0,g=A.length;i1?I.toArray(arguments):arguments[0];return I.each(Q,(function(t){if(t.litmus(A))return I.each(t.conversions,(function(t,e){if(o=t.read(A),!1===E&&!1!==o)return E=o,o.conversionName=e,o.conversion=t,I.BREAK})),I.BREAK})),E},n=void 0,C={hsv_to_rgb:function(A,t,e){var g=Math.floor(A/60)%6,B=A/60-Math.floor(A/60),i=e*(1-t),I=e*(1-B*t),Q=e*(1-(1-B)*t),o=[[e,Q,i],[I,e,i],[i,e,Q],[i,I,e],[Q,i,e],[e,i,I]][g];return{r:255*o[0],g:255*o[1],b:255*o[2]}},rgb_to_hsv:function(A,t,e){var g=Math.min(A,t,e),B=Math.max(A,t,e),i=B-g,I=void 0;return 0===B?{h:NaN,s:0,v:0}:(I=A===B?(t-e)/i:t===B?2+(e-A)/i:4+(A-t)/i,(I/=6)<0&&(I+=1),{h:360*I,s:i/B,v:B/255})},rgb_to_hex:function(A,t,e){var g=this.hex_with_component(0,2,A);return g=this.hex_with_component(g,1,t),this.hex_with_component(g,0,e)},component_from_hex:function(A,t){return A>>8*t&255},hex_with_component:function(A,t,e){return e<<(n=8*t)|A&~(255<-1?t.length-t.indexOf(".")-1:0}var S=function(A){function t(A,e,g){r(this,t);var B=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e)),i=g||{};return B.__min=i.min,B.__max=i.max,B.__step=i.step,I.isUndefined(B.__step)?0===B.initialValue?B.__impliedStep=1:B.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(B.initialValue))/Math.LN10))/10:B.__impliedStep=B.__step,B.__precision=U(B.__impliedStep),B}return h(t,A),c(t,[{key:"setValue",value:function(A){var e=A;return void 0!==this.__min&&ethis.__max&&(e=this.__max),void 0!==this.__step&&e%this.__step!=0&&(e=Math.round(e/this.__step)*this.__step),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e)}},{key:"min",value:function(A){return this.__min=A,this}},{key:"max",value:function(A){return this.__max=A,this}},{key:"step",value:function(A){return this.__step=A,this.__impliedStep=A,this.__precision=U(A),this}}]),t}(p),H=function(A){function t(A,e,g){r(this,t);var B=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e,g));B.__truncationSuspended=!1;var i=B,Q=void 0;function o(){i.__onFinishChange&&i.__onFinishChange.call(i,i.getValue())}function E(A){var t=Q-A.clientY;i.setValue(i.getValue()+t*i.__impliedStep),Q=A.clientY}function s(){F.unbind(window,"mousemove",E),F.unbind(window,"mouseup",s),o()}return B.__input=document.createElement("input"),B.__input.setAttribute("type","text"),F.bind(B.__input,"change",(function(){var A=parseFloat(i.__input.value);I.isNaN(A)||i.setValue(A)})),F.bind(B.__input,"blur",(function(){o()})),F.bind(B.__input,"mousedown",(function(A){F.bind(window,"mousemove",E),F.bind(window,"mouseup",s),Q=A.clientY})),F.bind(B.__input,"keydown",(function(A){13===A.keyCode&&(i.__truncationSuspended=!0,this.blur(),i.__truncationSuspended=!1,o())})),B.updateDisplay(),B.domElement.appendChild(B.__input),B}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A,e,g;return this.__input.value=this.__truncationSuspended?this.getValue():(A=this.getValue(),e=this.__precision,g=Math.pow(10,e),Math.round(A*g)/g),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(S);function N(A,t,e,g,B){return g+(A-t)/(e-t)*(B-g)}var b=function(A){function t(A,e,g,B,i){r(this,t);var I=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e,{min:g,max:B,step:i})),Q=I;function o(A){A.preventDefault();var t=Q.__background.getBoundingClientRect();return Q.setValue(N(A.clientX,t.left,t.right,Q.__min,Q.__max)),!1}function E(){F.unbind(window,"mousemove",o),F.unbind(window,"mouseup",E),Q.__onFinishChange&&Q.__onFinishChange.call(Q,Q.getValue())}function s(A){var t=A.touches[0].clientX,e=Q.__background.getBoundingClientRect();Q.setValue(N(t,e.left,e.right,Q.__min,Q.__max))}function n(){F.unbind(window,"touchmove",s),F.unbind(window,"touchend",n),Q.__onFinishChange&&Q.__onFinishChange.call(Q,Q.getValue())}return I.__background=document.createElement("div"),I.__foreground=document.createElement("div"),F.bind(I.__background,"mousedown",(function(A){document.activeElement.blur(),F.bind(window,"mousemove",o),F.bind(window,"mouseup",E),o(A)})),F.bind(I.__background,"touchstart",(function(A){1===A.touches.length&&(F.bind(window,"touchmove",s),F.bind(window,"touchend",n),s(A))})),F.addClass(I.__background,"slider"),F.addClass(I.__foreground,"slider-fg"),I.updateDisplay(),I.__background.appendChild(I.__foreground),I.domElement.appendChild(I.__background),I}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*A+"%",l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(S),k=function(A){function t(A,e,g){r(this,t);var B=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e)),i=B;return B.__button=document.createElement("div"),B.__button.innerHTML=void 0===g?"Fire":g,F.bind(B.__button,"click",(function(A){return A.preventDefault(),i.fire(),!1})),F.addClass(B.__button,"button"),B.domElement.appendChild(B.__button),B}return h(t,A),c(t,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),t}(p),Y=function(A){function t(A,e){r(this,t);var g=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e));g.__color=new u(g.getValue()),g.__temp=new u(0);var B=g;g.domElement=document.createElement("div"),F.makeSelectable(g.domElement,!1),g.__selector=document.createElement("div"),g.__selector.className="selector",g.__saturation_field=document.createElement("div"),g.__saturation_field.className="saturation-field",g.__field_knob=document.createElement("div"),g.__field_knob.className="field-knob",g.__field_knob_border="2px solid ",g.__hue_knob=document.createElement("div"),g.__hue_knob.className="hue-knob",g.__hue_field=document.createElement("div"),g.__hue_field.className="hue-field",g.__input=document.createElement("input"),g.__input.type="text",g.__input_textShadow="0 1px 1px ",F.bind(g.__input,"keydown",(function(A){13===A.keyCode&&a.call(this)})),F.bind(g.__input,"blur",a),F.bind(g.__selector,"mousedown",(function(){F.addClass(this,"drag").bind(window,"mouseup",(function(){F.removeClass(B.__selector,"drag")}))})),F.bind(g.__selector,"touchstart",(function(){F.addClass(this,"drag").bind(window,"touchend",(function(){F.removeClass(B.__selector,"drag")}))}));var i,Q=document.createElement("div");function o(A){l(A),F.bind(window,"mousemove",l),F.bind(window,"touchmove",l),F.bind(window,"mouseup",n),F.bind(window,"touchend",n)}function E(A){h(A),F.bind(window,"mousemove",h),F.bind(window,"touchmove",h),F.bind(window,"mouseup",C),F.bind(window,"touchend",C)}function n(){F.unbind(window,"mousemove",l),F.unbind(window,"touchmove",l),F.unbind(window,"mouseup",n),F.unbind(window,"touchend",n),c()}function C(){F.unbind(window,"mousemove",h),F.unbind(window,"touchmove",h),F.unbind(window,"mouseup",C),F.unbind(window,"touchend",C),c()}function a(){var A=s(this.value);!1!==A?(B.__color.__state=A,B.setValue(B.__color.toOriginal())):this.value=B.__color.toString()}function c(){B.__onFinishChange&&B.__onFinishChange.call(B,B.__color.toOriginal())}function l(A){-1===A.type.indexOf("touch")&&A.preventDefault();var t=B.__saturation_field.getBoundingClientRect(),e=A.touches&&A.touches[0]||A,g=e.clientX,i=e.clientY,I=(g-t.left)/(t.right-t.left),Q=1-(i-t.top)/(t.bottom-t.top);return Q>1?Q=1:Q<0&&(Q=0),I>1?I=1:I<0&&(I=0),B.__color.v=Q,B.__color.s=I,B.setValue(B.__color.toOriginal()),!1}function h(A){-1===A.type.indexOf("touch")&&A.preventDefault();var t=B.__hue_field.getBoundingClientRect(),e=1-((A.touches&&A.touches[0]||A).clientY-t.top)/(t.bottom-t.top);return e>1?e=1:e<0&&(e=0),B.__color.h=360*e,B.setValue(B.__color.toOriginal()),!1}return I.extend(g.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),I.extend(g.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:g.__field_knob_border+(g.__color.v<.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),I.extend(g.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),I.extend(g.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),I.extend(Q.style,{width:"100%",height:"100%",background:"none"}),J(Q,"top","rgba(0,0,0,0)","#000"),I.extend(g.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),(i=g.__hue_field).style.background="",i.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",i.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",i.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",i.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",i.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",I.extend(g.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:g.__input_textShadow+"rgba(0,0,0,0.7)"}),F.bind(g.__saturation_field,"mousedown",o),F.bind(g.__saturation_field,"touchstart",o),F.bind(g.__field_knob,"mousedown",o),F.bind(g.__field_knob,"touchstart",o),F.bind(g.__hue_field,"mousedown",E),F.bind(g.__hue_field,"touchstart",E),g.__saturation_field.appendChild(Q),g.__selector.appendChild(g.__field_knob),g.__selector.appendChild(g.__saturation_field),g.__selector.appendChild(g.__hue_field),g.__hue_field.appendChild(g.__hue_knob),g.domElement.appendChild(g.__input),g.domElement.appendChild(g.__selector),g.updateDisplay(),g}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A=s(this.getValue());if(!1!==A){var t=!1;I.each(u.COMPONENTS,(function(e){if(!I.isUndefined(A[e])&&!I.isUndefined(this.__color.__state[e])&&A[e]!==this.__color.__state[e])return t=!0,{}}),this),t&&I.extend(this.__color.__state,A)}I.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var e=this.__color.v<.5||this.__color.s>.5?255:0,g=255-e;I.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+e+","+e+","+e+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,J(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),I.extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+e+","+e+","+e+")",textShadow:this.__input_textShadow+"rgba("+g+","+g+","+g+",.7)"})}}]),t}(p),x=["-moz-","-o-","-webkit-","-ms-",""];function J(A,t,e,g){A.style.background="",I.each(x,(function(B){A.style.cssText+="background: "+B+"linear-gradient("+t+", "+e+" 0%, "+g+" 100%); "}))}var L=function(A,t){var e=A[t];return I.isArray(arguments[2])||I.isObject(arguments[2])?new G(A,t,arguments[2]):I.isNumber(e)?I.isNumber(arguments[2])&&I.isNumber(arguments[3])?I.isNumber(arguments[4])?new b(A,t,arguments[2],arguments[3],arguments[4]):new b(A,t,arguments[2],arguments[3]):I.isNumber(arguments[4])?new H(A,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new H(A,t,{min:arguments[2],max:arguments[3]}):I.isString(e)?new M(A,t):I.isFunction(e)?new k(A,t,""):I.isBoolean(e)?new R(A,t):null},V=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(A){setTimeout(A,1e3/60)},K=function(){function A(){r(this,A),this.backgroundElement=document.createElement("div"),I.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),F.makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),I.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var t=this;F.bind(this.backgroundElement,"click",(function(){t.hide()}))}return c(A,[{key:"show",value:function(){var A=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),I.defer((function(){A.backgroundElement.style.opacity=1,A.domElement.style.opacity=1,A.domElement.style.webkitTransform="scale(1)"}))}},{key:"hide",value:function(){var A=this,t=function t(){A.domElement.style.display="none",A.backgroundElement.style.display="none",F.unbind(A.domElement,"webkitTransitionEnd",t),F.unbind(A.domElement,"transitionend",t),F.unbind(A.domElement,"oTransitionEnd",t)};F.bind(this.domElement,"webkitTransitionEnd",t),F.bind(this.domElement,"transitionend",t),F.bind(this.domElement,"oTransitionEnd",t),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"}},{key:"layout",value:function(){this.domElement.style.left=window.innerWidth/2-F.getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-F.getHeight(this.domElement)/2+"px"}}]),A}();!function(A,t){var e=t||document,g=document.createElement("style");g.type="text/css",g.innerHTML=A;var B=e.getElementsByTagName("head")[0];try{B.appendChild(g)}catch(A){}}(function(A){if(A&&"undefined"!=typeof window){var t=document.createElement("style");return t.setAttribute("type","text/css"),t.innerHTML=A,document.head.appendChild(t),A}}(".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-y:visible}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .cr.function .property-name{width:100%}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n"));var Z="Default",T=function(){try{return!!window.localStorage}catch(A){return!1}}(),W=void 0,v=!0,X=void 0,P=!1,_=[],O=function A(t){var e=this,g=t||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),F.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],g=I.defaults(g,{closeOnTop:!1,autoPlace:!0,width:A.DEFAULT_WIDTH}),g=I.defaults(g,{resizable:g.autoPlace,hideable:g.autoPlace}),I.isUndefined(g.load)?g.load={preset:Z}:g.preset&&(g.load.preset=g.preset),I.isUndefined(g.parent)&&g.hideable&&_.push(this),g.resizable=I.isUndefined(g.parent)&&g.resizable,g.autoPlace&&I.isUndefined(g.scrollable)&&(g.scrollable=!0);var B,i=T&&"true"===localStorage.getItem(tA(0,"isLocal")),Q=void 0,o=void 0;if(Object.defineProperties(this,{parent:{get:function(){return g.parent}},scrollable:{get:function(){return g.scrollable}},autoPlace:{get:function(){return g.autoPlace}},closeOnTop:{get:function(){return g.closeOnTop}},preset:{get:function(){return e.parent?e.getRoot().preset:g.load.preset},set:function(A){e.parent?e.getRoot().preset=A:g.load.preset=A,function(A){for(var t=0;t1){var g=e.__li.nextElementSibling;return e.remove(),AA(A,e.object,e.property,{before:g,factoryArgs:[I.toArray(arguments)]})}if(I.isArray(t)||I.isObject(t)){var B=e.__li.nextElementSibling;return e.remove(),AA(A,e.object,e.property,{before:B,factoryArgs:[t]})}},name:function(A){return e.__li.firstElementChild.firstElementChild.innerHTML=A,e},listen:function(){return e.__gui.listen(e),e},remove:function(){return e.__gui.remove(e),e}}),e instanceof b){var g=new H(e.object,e.property,{min:e.__min,max:e.__max,step:e.__step});I.each(["updateDisplay","onChange","onFinishChange","step","min","max"],(function(A){var t=e[A],B=g[A];e[A]=g[A]=function(){var A=Array.prototype.slice.call(arguments);return B.apply(g,A),t.apply(e,A)}})),F.addClass(t,"has-slider"),e.domElement.insertBefore(g.domElement,e.domElement.firstElementChild)}else if(e instanceof H){var B=function(t){if(I.isNumber(e.__min)&&I.isNumber(e.__max)){var g=e.__li.firstElementChild.firstElementChild.innerHTML,B=e.__gui.__listening.indexOf(e)>-1;e.remove();var i=AA(A,e.object,e.property,{before:e.__li.nextElementSibling,factoryArgs:[e.__min,e.__max,e.__step]});return i.name(g),B&&i.listen(),i}return t};e.min=I.compose(B,e.min),e.max=I.compose(B,e.max)}else e instanceof R?(F.bind(t,"click",(function(){F.fakeEvent(e.__checkbox,"click")})),F.bind(e.__checkbox,"click",(function(A){A.stopPropagation()}))):e instanceof k?(F.bind(t,"click",(function(){F.fakeEvent(e.__button,"click")})),F.bind(t,"mouseover",(function(){F.addClass(e.__button,"hover")})),F.bind(t,"mouseout",(function(){F.removeClass(e.__button,"hover")}))):e instanceof Y&&(F.addClass(t,"color"),e.updateDisplay=I.compose((function(A){return t.style.borderLeftColor=e.__color.toString(),A}),e.updateDisplay),e.updateDisplay());e.setValue=I.compose((function(t){return A.getRoot().__preset_select&&e.isModified()&&j(A.getRoot(),!0),t}),e.setValue)}(A,E,B),A.__controllers.push(B),B}function tA(A,t){return document.location.href+"."+t}function eA(A,t,e){var g=document.createElement("option");g.innerHTML=t,g.value=t,A.__preset_select.appendChild(g),e&&(A.__preset_select.selectedIndex=A.__preset_select.length-1)}function gA(A,t){t.style.display=A.useLocalStorage?"block":"none"}function BA(A){var t=void 0;function e(e){return e.preventDefault(),A.width+=t-e.clientX,A.onResize(),t=e.clientX,!1}function g(){F.removeClass(A.__closeButton,O.CLASS_DRAG),F.unbind(window,"mousemove",e),F.unbind(window,"mouseup",g)}function B(B){return B.preventDefault(),t=B.clientX,F.addClass(A.__closeButton,O.CLASS_DRAG),F.bind(window,"mousemove",e),F.bind(window,"mouseup",g),!1}A.__resize_handle=document.createElement("div"),I.extend(A.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),F.bind(A.__resize_handle,"mousedown",B),F.bind(A.__closeButton,"mousedown",B),A.domElement.insertBefore(A.__resize_handle,A.domElement.firstElementChild)}function iA(A,t){A.domElement.style.width=t+"px",A.__save_row&&A.autoPlace&&(A.__save_row.style.width=t+"px"),A.__closeButton&&(A.__closeButton.style.width=t+"px")}function IA(A,t){var e={};return I.each(A.__rememberedObjects,(function(g,B){var i={},Q=A.__rememberedObjectIndecesToControllers[B];I.each(Q,(function(A,e){i[e]=t?A.initialValue:A.getValue()})),e[B]=i})),e}function QA(A){0!==A.length&&V.call(window,(function(){QA(A)})),I.each(A,(function(A){A.updateDisplay()}))}O.toggleHide=function(){P=!P,I.each(_,(function(A){A.domElement.style.display=P?"none":""}))},O.CLASS_AUTO_PLACE="a",O.CLASS_AUTO_PLACE_CONTAINER="ac",O.CLASS_MAIN="main",O.CLASS_CONTROLLER_ROW="cr",O.CLASS_TOO_TALL="taller-than-window",O.CLASS_CLOSED="closed",O.CLASS_CLOSE_BUTTON="close-button",O.CLASS_CLOSE_TOP="close-top",O.CLASS_CLOSE_BOTTOM="close-bottom",O.CLASS_DRAG="drag",O.DEFAULT_WIDTH=245,O.TEXT_CLOSED="Close Controls",O.TEXT_OPEN="Open Controls",O._keydownHandler=function(A){"text"===document.activeElement.type||72!==A.which&&72!==A.keyCode||O.toggleHide()},F.bind(window,"keydown",O._keydownHandler,!1),I.extend(O.prototype,{add:function(A,t){return AA(this,A,t,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(A,t){return AA(this,A,t,{color:!0})},remove:function(A){this.__ul.removeChild(A.__li),this.__controllers.splice(this.__controllers.indexOf(A),1);var t=this;I.defer((function(){t.onResize()}))},destroy:function(){if(this.parent)throw new Error("Only the root GUI should be removed with .destroy(). For subfolders, use gui.removeFolder(folder) instead.");this.autoPlace&&X.removeChild(this.domElement);var A=this;I.each(this.__folders,(function(t){A.removeFolder(t)})),F.unbind(window,"keydown",O._keydownHandler,!1),q(this)},addFolder:function(A){if(void 0!==this.__folders[A])throw new Error('You already have a folder in this GUI by the name "'+A+'"');var t={name:A,parent:this};t.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[A]&&(t.closed=this.load.folders[A].closed,t.load=this.load.folders[A]);var e=new O(t);this.__folders[A]=e;var g=z(this,e.domElement);return F.addClass(g,"folder"),e},removeFolder:function(A){this.__ul.removeChild(A.domElement.parentElement),delete this.__folders[A.name],this.load&&this.load.folders&&this.load.folders[A.name]&&delete this.load.folders[A.name],q(A);var t=this;I.each(A.__folders,(function(t){A.removeFolder(t)})),I.defer((function(){t.onResize()}))},open:function(){this.closed=!1},close:function(){this.closed=!0},hide:function(){this.domElement.style.display="none"},show:function(){this.domElement.style.display=""},onResize:function(){var A=this.getRoot();if(A.scrollable){var t=F.getOffset(A.__ul).top,e=0;I.each(A.__ul.childNodes,(function(t){A.autoPlace&&t===A.__save_row||(e+=F.getHeight(t))})),window.innerHeight-t-20GUI\'s constructor:\n\n \n\n
\n\n Automatically save\n values to localStorage on exit.\n\n
The values saved to localStorage will\n override those passed to dat.GUI\'s constructor. This makes it\n easier to work incrementally, but localStorage is fragile,\n and your friends may not see the same values you do.\n\n
\n\n
\n\n'),this.parent)throw new Error("You can only call remember on a top level GUI.");var A=this;I.each(Array.prototype.slice.call(arguments),(function(t){0===A.__rememberedObjects.length&&function(A){var t=A.__save_row=document.createElement("li");F.addClass(A.domElement,"has-save"),A.__ul.insertBefore(t,A.__ul.firstChild),F.addClass(t,"save-row");var e=document.createElement("span");e.innerHTML=" ",F.addClass(e,"button gears");var g=document.createElement("span");g.innerHTML="Save",F.addClass(g,"button"),F.addClass(g,"save");var B=document.createElement("span");B.innerHTML="New",F.addClass(B,"button"),F.addClass(B,"save-as");var i=document.createElement("span");i.innerHTML="Revert",F.addClass(i,"button"),F.addClass(i,"revert");var Q=A.__preset_select=document.createElement("select");if(A.load&&A.load.remembered?I.each(A.load.remembered,(function(t,e){eA(A,e,e===A.preset)})):eA(A,Z,!1),F.bind(Q,"change",(function(){for(var t=0;t0&&(A.preset=this.preset,A.remembered||(A.remembered={}),A.remembered[this.preset]=IA(this)),A.folders={},I.each(this.__folders,(function(t,e){A.folders[e]=t.getSaveObject()})),A},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=IA(this),j(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(A){this.load.remembered||(this.load.remembered={},this.load.remembered[Z]=IA(this,!0)),this.load.remembered[A]=IA(this),this.preset=A,eA(this,A,!0),this.saveToLocalStorageIfPossible()},revert:function(A){I.each(this.__controllers,(function(t){this.getRoot().load.remembered?$(A||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())}),this),I.each(this.__folders,(function(A){A.revert(A)})),A||j(this.getRoot(),!1)},listen:function(A){var t=0===this.__listening.length;this.__listening.push(A),t&&QA(this.__listening)},updateDisplay:function(){I.each(this.__controllers,(function(A){A.updateDisplay()})),I.each(this.__folders,(function(A){A.updateDisplay()}))}});const oA={color:{Color:u,math:C,interpret:s},controllers:{Controller:p,BooleanController:R,OptionController:G,StringController:M,NumberController:S,NumberControllerBox:H,NumberControllerSlider:b,FunctionController:k,ColorController:Y},dom:{dom:F},gui:{GUI:O},GUI:O}},762:A=>{"use strict";A.exports="data:application/javascript;base64,CnZhciBCQVNJUyA9IChmdW5jdGlvbigpIHsKICB2YXIgX3NjcmlwdERpciA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCA/IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjIDogdW5kZWZpbmVkOwogIGlmICh0eXBlb2YgX19maWxlbmFtZSAhPT0gJ3VuZGVmaW5lZCcpIF9zY3JpcHREaXIgPSBfc2NyaXB0RGlyIHx8IF9fZmlsZW5hbWU7CiAgcmV0dXJuICgKZnVuY3Rpb24oQkFTSVMpIHsKICBCQVNJUyA9IEJBU0lTIHx8IHt9OwoKdmFyIE1vZHVsZT10eXBlb2YgQkFTSVMhPT0idW5kZWZpbmVkIj9CQVNJUzp7fTt2YXIgcmVhZHlQcm9taXNlUmVzb2x2ZSxyZWFkeVByb21pc2VSZWplY3Q7TW9kdWxlWyJyZWFkeSJdPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtyZWFkeVByb21pc2VSZXNvbHZlPXJlc29sdmU7cmVhZHlQcm9taXNlUmVqZWN0PXJlamVjdH0pO3ZhciBtb2R1bGVPdmVycmlkZXM9e307dmFyIGtleTtmb3Ioa2V5IGluIE1vZHVsZSl7aWYoTW9kdWxlLmhhc093blByb3BlcnR5KGtleSkpe21vZHVsZU92ZXJyaWRlc1trZXldPU1vZHVsZVtrZXldfX12YXIgYXJndW1lbnRzXz1bXTt2YXIgdGhpc1Byb2dyYW09Ii4vdGhpcy5wcm9ncmFtIjt2YXIgcXVpdF89ZnVuY3Rpb24oc3RhdHVzLHRvVGhyb3cpe3Rocm93IHRvVGhyb3d9O3ZhciBFTlZJUk9OTUVOVF9JU19XRUI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1dPUktFUj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfTk9ERT1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfU0hFTEw9ZmFsc2U7RU5WSVJPTk1FTlRfSVNfV0VCPXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0IjtFTlZJUk9OTUVOVF9JU19XT1JLRVI9dHlwZW9mIGltcG9ydFNjcmlwdHM9PT0iZnVuY3Rpb24iO0VOVklST05NRU5UX0lTX05PREU9dHlwZW9mIHByb2Nlc3M9PT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM9PT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZT09PSJzdHJpbmciO0VOVklST05NRU5UX0lTX1NIRUxMPSFFTlZJUk9OTUVOVF9JU19XRUImJiFFTlZJUk9OTUVOVF9JU19OT0RFJiYhRU5WSVJPTk1FTlRfSVNfV09SS0VSO3ZhciBzY3JpcHREaXJlY3Rvcnk9IiI7ZnVuY3Rpb24gbG9jYXRlRmlsZShwYXRoKXtpZihNb2R1bGVbImxvY2F0ZUZpbGUiXSl7cmV0dXJuIE1vZHVsZVsibG9jYXRlRmlsZSJdKHBhdGgsc2NyaXB0RGlyZWN0b3J5KX1yZXR1cm4gc2NyaXB0RGlyZWN0b3J5K3BhdGh9dmFyIHJlYWRfLHJlYWRBc3luYyxyZWFkQmluYXJ5LHNldFdpbmRvd1RpdGxlO3ZhciBub2RlRlM7dmFyIG5vZGVQYXRoO2lmKEVOVklST05NRU5UX0lTX05PREUpe2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7c2NyaXB0RGlyZWN0b3J5PXJlcXVpcmUoInBhdGgiKS5kaXJuYW1lKHNjcmlwdERpcmVjdG9yeSkrIi8ifWVsc2V7c2NyaXB0RGlyZWN0b3J5PV9fZGlybmFtZSsiLyJ9cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZChmaWxlbmFtZSxiaW5hcnkpe2lmKCFub2RlRlMpbm9kZUZTPXJlcXVpcmUoImZzIik7aWYoIW5vZGVQYXRoKW5vZGVQYXRoPXJlcXVpcmUoInBhdGgiKTtmaWxlbmFtZT1ub2RlUGF0aFsibm9ybWFsaXplIl0oZmlsZW5hbWUpO3JldHVybiBub2RlRlNbInJlYWRGaWxlU3luYyJdKGZpbGVuYW1lLGJpbmFyeT9udWxsOiJ1dGY4Iil9O3JlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeShmaWxlbmFtZSl7dmFyIHJldD1yZWFkXyhmaWxlbmFtZSx0cnVlKTtpZighcmV0LmJ1ZmZlcil7cmV0PW5ldyBVaW50OEFycmF5KHJldCl9YXNzZXJ0KHJldC5idWZmZXIpO3JldHVybiByZXR9O2lmKHByb2Nlc3NbImFyZ3YiXS5sZW5ndGg+MSl7dGhpc1Byb2dyYW09cHJvY2Vzc1siYXJndiJdWzFdLnJlcGxhY2UoL1xcL2csIi8iKX1hcmd1bWVudHNfPXByb2Nlc3NbImFyZ3YiXS5zbGljZSgyKTtwcm9jZXNzWyJvbiJdKCJ1bmNhdWdodEV4Y2VwdGlvbiIsZnVuY3Rpb24oZXgpe2lmKCEoZXggaW5zdGFuY2VvZiBFeGl0U3RhdHVzKSl7dGhyb3cgZXh9fSk7cHJvY2Vzc1sib24iXSgidW5oYW5kbGVkUmVqZWN0aW9uIixhYm9ydCk7cXVpdF89ZnVuY3Rpb24oc3RhdHVzKXtwcm9jZXNzWyJleGl0Il0oc3RhdHVzKX07TW9kdWxlWyJpbnNwZWN0Il09ZnVuY3Rpb24oKXtyZXR1cm4iW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF0ifX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1NIRUxMKXtpZih0eXBlb2YgcmVhZCE9InVuZGVmaW5lZCIpe3JlYWRfPWZ1bmN0aW9uIHNoZWxsX3JlYWQoZil7cmV0dXJuIHJlYWQoZil9fXJlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeShmKXt2YXIgZGF0YTtpZih0eXBlb2YgcmVhZGJ1ZmZlcj09PSJmdW5jdGlvbiIpe3JldHVybiBuZXcgVWludDhBcnJheShyZWFkYnVmZmVyKGYpKX1kYXRhPXJlYWQoZiwiYmluYXJ5Iik7YXNzZXJ0KHR5cGVvZiBkYXRhPT09Im9iamVjdCIpO3JldHVybiBkYXRhfTtpZih0eXBlb2Ygc2NyaXB0QXJncyE9InVuZGVmaW5lZCIpe2FyZ3VtZW50c189c2NyaXB0QXJnc31lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHMhPSJ1bmRlZmluZWQiKXthcmd1bWVudHNfPWFyZ3VtZW50c31pZih0eXBlb2YgcXVpdD09PSJmdW5jdGlvbiIpe3F1aXRfPWZ1bmN0aW9uKHN0YXR1cyl7cXVpdChzdGF0dXMpfX1pZih0eXBlb2YgcHJpbnQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGNvbnNvbGU9PT0idW5kZWZpbmVkIiljb25zb2xlPXt9O2NvbnNvbGUubG9nPXByaW50O2NvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPXR5cGVvZiBwcmludEVyciE9PSJ1bmRlZmluZWQiP3ByaW50RXJyOnByaW50fX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKXtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIpe3NjcmlwdERpcmVjdG9yeT1zZWxmLmxvY2F0aW9uLmhyZWZ9ZWxzZSBpZih0eXBlb2YgZG9jdW1lbnQhPT0idW5kZWZpbmVkIiYmZG9jdW1lbnQuY3VycmVudFNjcmlwdCl7c2NyaXB0RGlyZWN0b3J5PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjfWlmKF9zY3JpcHREaXIpe3NjcmlwdERpcmVjdG9yeT1fc2NyaXB0RGlyfWlmKHNjcmlwdERpcmVjdG9yeS5pbmRleE9mKCJibG9iOiIpIT09MCl7c2NyaXB0RGlyZWN0b3J5PXNjcmlwdERpcmVjdG9yeS5zdWJzdHIoMCxzY3JpcHREaXJlY3RvcnkubGFzdEluZGV4T2YoIi8iKSsxKX1lbHNle3NjcmlwdERpcmVjdG9yeT0iIn17cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZCh1cmwpe3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhyLnNlbmQobnVsbCk7cmV0dXJuIHhoci5yZXNwb25zZVRleHR9O2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KHVybCl7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7eGhyLnNlbmQobnVsbCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZSl9fXJlYWRBc3luYz1mdW5jdGlvbiByZWFkQXN5bmModXJsLG9ubG9hZCxvbmVycm9yKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsdHJ1ZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5vbmxvYWQ9ZnVuY3Rpb24geGhyX29ubG9hZCgpe2lmKHhoci5zdGF0dXM9PTIwMHx8eGhyLnN0YXR1cz09MCYmeGhyLnJlc3BvbnNlKXtvbmxvYWQoeGhyLnJlc3BvbnNlKTtyZXR1cm59b25lcnJvcigpfTt4aHIub25lcnJvcj1vbmVycm9yO3hoci5zZW5kKG51bGwpfX1zZXRXaW5kb3dUaXRsZT1mdW5jdGlvbih0aXRsZSl7ZG9jdW1lbnQudGl0bGU9dGl0bGV9fWVsc2V7fXZhciBvdXQ9TW9kdWxlWyJwcmludCJdfHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBlcnI9TW9kdWxlWyJwcmludEVyciJdfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3Ioa2V5IGluIG1vZHVsZU92ZXJyaWRlcyl7aWYobW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3BlcnR5KGtleSkpe01vZHVsZVtrZXldPW1vZHVsZU92ZXJyaWRlc1trZXldfX1tb2R1bGVPdmVycmlkZXM9bnVsbDtpZihNb2R1bGVbImFyZ3VtZW50cyJdKWFyZ3VtZW50c189TW9kdWxlWyJhcmd1bWVudHMiXTtpZihNb2R1bGVbInRoaXNQcm9ncmFtIl0pdGhpc1Byb2dyYW09TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdO2lmKE1vZHVsZVsicXVpdCJdKXF1aXRfPU1vZHVsZVsicXVpdCJdO3ZhciB0ZW1wUmV0MD0wO3ZhciBzZXRUZW1wUmV0MD1mdW5jdGlvbih2YWx1ZSl7dGVtcFJldDA9dmFsdWV9O3ZhciB3YXNtQmluYXJ5O2lmKE1vZHVsZVsid2FzbUJpbmFyeSJdKXdhc21CaW5hcnk9TW9kdWxlWyJ3YXNtQmluYXJ5Il07dmFyIG5vRXhpdFJ1bnRpbWU7aWYoTW9kdWxlWyJub0V4aXRSdW50aW1lIl0pbm9FeGl0UnVudGltZT1Nb2R1bGVbIm5vRXhpdFJ1bnRpbWUiXTtpZih0eXBlb2YgV2ViQXNzZW1ibHkhPT0ib2JqZWN0Iil7YWJvcnQoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKX12YXIgd2FzbU1lbW9yeTt2YXIgQUJPUlQ9ZmFsc2U7dmFyIEVYSVRTVEFUVVM7ZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbix0ZXh0KXtpZighY29uZGl0aW9uKXthYm9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIit0ZXh0KX19dmFyIFVURjhEZWNvZGVyPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnVuZGVmaW5lZDtmdW5jdGlvbiBVVEY4QXJyYXlUb1N0cmluZyhoZWFwLGlkeCxtYXhCeXRlc1RvUmVhZCl7dmFyIGVuZElkeD1pZHgrbWF4Qnl0ZXNUb1JlYWQ7dmFyIGVuZFB0cj1pZHg7d2hpbGUoaGVhcFtlbmRQdHJdJiYhKGVuZFB0cj49ZW5kSWR4KSkrK2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZoZWFwLnN1YmFycmF5JiZVVEY4RGVjb2Rlcil7cmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZShoZWFwLnN1YmFycmF5KGlkeCxlbmRQdHIpKX1lbHNle3ZhciBzdHI9IiI7d2hpbGUoaWR4PGVuZFB0cil7dmFyIHUwPWhlYXBbaWR4KytdO2lmKCEodTAmMTI4KSl7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTtjb250aW51ZX12YXIgdTE9aGVhcFtpZHgrK10mNjM7aWYoKHUwJjIyNCk9PTE5Mil7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCh1MCYzMSk8PDZ8dTEpO2NvbnRpbnVlfXZhciB1Mj1oZWFwW2lkeCsrXSY2MztpZigodTAmMjQwKT09MjI0KXt1MD0odTAmMTUpPDwxMnx1MTw8Nnx1Mn1lbHNle3UwPSh1MCY3KTw8MTh8dTE8PDEyfHUyPDw2fGhlYXBbaWR4KytdJjYzfWlmKHUwPDY1NTM2KXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodTApfWVsc2V7dmFyIGNoPXUwLTY1NTM2O3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjaD4+MTAsNTYzMjB8Y2gmMTAyMyl9fX1yZXR1cm4gc3RyfWZ1bmN0aW9uIFVURjhUb1N0cmluZyhwdHIsbWF4Qnl0ZXNUb1JlYWQpe3JldHVybiBwdHI/VVRGOEFycmF5VG9TdHJpbmcoSEVBUFU4LHB0cixtYXhCeXRlc1RvUmVhZCk6IiJ9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4QXJyYXkoc3RyLGhlYXAsb3V0SWR4LG1heEJ5dGVzVG9Xcml0ZSl7aWYoIShtYXhCeXRlc1RvV3JpdGU+MCkpcmV0dXJuIDA7dmFyIHN0YXJ0SWR4PW91dElkeDt2YXIgZW5kSWR4PW91dElkeCttYXhCeXRlc1RvV3JpdGUtMTtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgdT1zdHIuY2hhckNvZGVBdChpKTtpZih1Pj01NTI5NiYmdTw9NTczNDMpe3ZhciB1MT1zdHIuY2hhckNvZGVBdCgrK2kpO3U9NjU1MzYrKCh1JjEwMjMpPDwxMCl8dTEmMTAyM31pZih1PD0xMjcpe2lmKG91dElkeD49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPXV9ZWxzZSBpZih1PD0yMDQ3KXtpZihvdXRJZHgrMT49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPTE5Mnx1Pj42O2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2UgaWYodTw9NjU1MzUpe2lmKG91dElkeCsyPj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109MjI0fHU+PjEyO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2V7aWYob3V0SWR4KzM+PWVuZElkeClicmVhaztoZWFwW291dElkeCsrXT0yNDB8dT4+MTg7aGVhcFtvdXRJZHgrK109MTI4fHU+PjEyJjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfX1oZWFwW291dElkeF09MDtyZXR1cm4gb3V0SWR4LXN0YXJ0SWR4fWZ1bmN0aW9uIHN0cmluZ1RvVVRGOChzdHIsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl7cmV0dXJuIHN0cmluZ1RvVVRGOEFycmF5KHN0cixIRUFQVTgsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl9ZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEY4KHN0cil7dmFyIGxlbj0wO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl1PTY1NTM2KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29kZUF0KCsraSkmMTAyMztpZih1PD0xMjcpKytsZW47ZWxzZSBpZih1PD0yMDQ3KWxlbis9MjtlbHNlIGlmKHU8PTY1NTM1KWxlbis9MztlbHNlIGxlbis9NH1yZXR1cm4gbGVufXZhciBVVEYxNkRlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnVuZGVmaW5lZDtmdW5jdGlvbiBVVEYxNlRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7dmFyIGVuZFB0cj1wdHI7dmFyIGlkeD1lbmRQdHI+PjE7dmFyIG1heElkeD1pZHgrbWF4Qnl0ZXNUb1JlYWQvMjt3aGlsZSghKGlkeD49bWF4SWR4KSYmSEVBUFUxNltpZHhdKSsraWR4O2VuZFB0cj1pZHg8PDE7aWYoZW5kUHRyLXB0cj4zMiYmVVRGMTZEZWNvZGVyKXtyZXR1cm4gVVRGMTZEZWNvZGVyLmRlY29kZShIRUFQVTguc3ViYXJyYXkocHRyLGVuZFB0cikpfWVsc2V7dmFyIHN0cj0iIjtmb3IodmFyIGk9MDshKGk+PW1heEJ5dGVzVG9SZWFkLzIpOysraSl7dmFyIGNvZGVVbml0PUhFQVAxNltwdHIraSoyPj4xXTtpZihjb2RlVW5pdD09MClicmVhaztzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY29kZVVuaXQpfXJldHVybiBzdHJ9fWZ1bmN0aW9uIHN0cmluZ1RvVVRGMTYoc3RyLG91dFB0cixtYXhCeXRlc1RvV3JpdGUpe2lmKG1heEJ5dGVzVG9Xcml0ZT09PXVuZGVmaW5lZCl7bWF4Qnl0ZXNUb1dyaXRlPTIxNDc0ODM2NDd9aWYobWF4Qnl0ZXNUb1dyaXRlPDIpcmV0dXJuIDA7bWF4Qnl0ZXNUb1dyaXRlLT0yO3ZhciBzdGFydFB0cj1vdXRQdHI7dmFyIG51bUNoYXJzVG9Xcml0ZT1tYXhCeXRlc1RvV3JpdGU8c3RyLmxlbmd0aCoyP21heEJ5dGVzVG9Xcml0ZS8yOnN0ci5sZW5ndGg7Zm9yKHZhciBpPTA7aTxudW1DaGFyc1RvV3JpdGU7KytpKXt2YXIgY29kZVVuaXQ9c3RyLmNoYXJDb2RlQXQoaSk7SEVBUDE2W291dFB0cj4+MV09Y29kZVVuaXQ7b3V0UHRyKz0yfUhFQVAxNltvdXRQdHI+PjFdPTA7cmV0dXJuIG91dFB0ci1zdGFydFB0cn1mdW5jdGlvbiBsZW5ndGhCeXRlc1VURjE2KHN0cil7cmV0dXJuIHN0ci5sZW5ndGgqMn1mdW5jdGlvbiBVVEYzMlRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7dmFyIGk9MDt2YXIgc3RyPSIiO3doaWxlKCEoaT49bWF4Qnl0ZXNUb1JlYWQvNCkpe3ZhciB1dGYzMj1IRUFQMzJbcHRyK2kqND4+Ml07aWYodXRmMzI9PTApYnJlYWs7KytpO2lmKHV0ZjMyPj02NTUzNil7dmFyIGNoPXV0ZjMyLTY1NTM2O3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjaD4+MTAsNTYzMjB8Y2gmMTAyMyl9ZWxzZXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodXRmMzIpfX1yZXR1cm4gc3RyfWZ1bmN0aW9uIHN0cmluZ1RvVVRGMzIoc3RyLG91dFB0cixtYXhCeXRlc1RvV3JpdGUpe2lmKG1heEJ5dGVzVG9Xcml0ZT09PXVuZGVmaW5lZCl7bWF4Qnl0ZXNUb1dyaXRlPTIxNDc0ODM2NDd9aWYobWF4Qnl0ZXNUb1dyaXRlPDQpcmV0dXJuIDA7dmFyIHN0YXJ0UHRyPW91dFB0cjt2YXIgZW5kUHRyPXN0YXJ0UHRyK21heEJ5dGVzVG9Xcml0ZS00O2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciBjb2RlVW5pdD1zdHIuY2hhckNvZGVBdChpKTtpZihjb2RlVW5pdD49NTUyOTYmJmNvZGVVbml0PD01NzM0Myl7dmFyIHRyYWlsU3Vycm9nYXRlPXN0ci5jaGFyQ29kZUF0KCsraSk7Y29kZVVuaXQ9NjU1MzYrKChjb2RlVW5pdCYxMDIzKTw8MTApfHRyYWlsU3Vycm9nYXRlJjEwMjN9SEVBUDMyW291dFB0cj4+Ml09Y29kZVVuaXQ7b3V0UHRyKz00O2lmKG91dFB0cis0PmVuZFB0cilicmVha31IRUFQMzJbb3V0UHRyPj4yXT0wO3JldHVybiBvdXRQdHItc3RhcnRQdHJ9ZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEYzMihzdHIpe3ZhciBsZW49MDtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgY29kZVVuaXQ9c3RyLmNoYXJDb2RlQXQoaSk7aWYoY29kZVVuaXQ+PTU1Mjk2JiZjb2RlVW5pdDw9NTczNDMpKytpO2xlbis9NH1yZXR1cm4gbGVufWZ1bmN0aW9uIGFsaWduVXAoeCxtdWx0aXBsZSl7aWYoeCVtdWx0aXBsZT4wKXt4Kz1tdWx0aXBsZS14JW11bHRpcGxlfXJldHVybiB4fXZhciBidWZmZXIsSEVBUDgsSEVBUFU4LEhFQVAxNixIRUFQVTE2LEhFQVAzMixIRUFQVTMyLEhFQVBGMzIsSEVBUEY2NDtmdW5jdGlvbiB1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyhidWYpe2J1ZmZlcj1idWY7TW9kdWxlWyJIRUFQOCJdPUhFQVA4PW5ldyBJbnQ4QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVAxNiJdPUhFQVAxNj1uZXcgSW50MTZBcnJheShidWYpO01vZHVsZVsiSEVBUDMyIl09SEVBUDMyPW5ldyBJbnQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQVTgiXT1IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBVMTYiXT1IRUFQVTE2PW5ldyBVaW50MTZBcnJheShidWYpO01vZHVsZVsiSEVBUFUzMiJdPUhFQVBVMzI9bmV3IFVpbnQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQRjMyIl09SEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQRjY0Il09SEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGJ1Zil9dmFyIElOSVRJQUxfTUVNT1JZPU1vZHVsZVsiSU5JVElBTF9NRU1PUlkiXXx8MTY3NzcyMTY7dmFyIHdhc21UYWJsZTt2YXIgX19BVFBSRVJVTl9fPVtdO3ZhciBfX0FUSU5JVF9fPVtdO3ZhciBfX0FUTUFJTl9fPVtdO3ZhciBfX0FUUE9TVFJVTl9fPVtdO3ZhciBydW50aW1lSW5pdGlhbGl6ZWQ9ZmFsc2U7ZnVuY3Rpb24gcHJlUnVuKCl7aWYoTW9kdWxlWyJwcmVSdW4iXSl7aWYodHlwZW9mIE1vZHVsZVsicHJlUnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwcmVSdW4iXT1bTW9kdWxlWyJwcmVSdW4iXV07d2hpbGUoTW9kdWxlWyJwcmVSdW4iXS5sZW5ndGgpe2FkZE9uUHJlUnVuKE1vZHVsZVsicHJlUnVuIl0uc2hpZnQoKSl9fWNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQUkVSVU5fXyl9ZnVuY3Rpb24gaW5pdFJ1bnRpbWUoKXtydW50aW1lSW5pdGlhbGl6ZWQ9dHJ1ZTtjYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUSU5JVF9fKX1mdW5jdGlvbiBwcmVNYWluKCl7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyl9ZnVuY3Rpb24gcG9zdFJ1bigpe2lmKE1vZHVsZVsicG9zdFJ1biJdKXtpZih0eXBlb2YgTW9kdWxlWyJwb3N0UnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwb3N0UnVuIl09W01vZHVsZVsicG9zdFJ1biJdXTt3aGlsZShNb2R1bGVbInBvc3RSdW4iXS5sZW5ndGgpe2FkZE9uUG9zdFJ1bihNb2R1bGVbInBvc3RSdW4iXS5zaGlmdCgpKX19Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBPU1RSVU5fXyl9ZnVuY3Rpb24gYWRkT25QcmVSdW4oY2Ipe19fQVRQUkVSVU5fXy51bnNoaWZ0KGNiKX1mdW5jdGlvbiBhZGRPblBvc3RSdW4oY2Ipe19fQVRQT1NUUlVOX18udW5zaGlmdChjYil9dmFyIHJ1bkRlcGVuZGVuY2llcz0wO3ZhciBydW5EZXBlbmRlbmN5V2F0Y2hlcj1udWxsO3ZhciBkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9bnVsbDtmdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMrKztpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX19ZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5kZW5jeShpZCl7cnVuRGVwZW5kZW5jaWVzLS07aWYoTW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0pe01vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyl9aWYocnVuRGVwZW5kZW5jaWVzPT0wKXtpZihydW5EZXBlbmRlbmN5V2F0Y2hlciE9PW51bGwpe2NsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpO3J1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGx9aWYoZGVwZW5kZW5jaWVzRnVsZmlsbGVkKXt2YXIgY2FsbGJhY2s9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2NhbGxiYWNrKCl9fX1Nb2R1bGVbInByZWxvYWRlZEltYWdlcyJdPXt9O01vZHVsZVsicHJlbG9hZGVkQXVkaW9zIl09e307ZnVuY3Rpb24gYWJvcnQod2hhdCl7aWYoTW9kdWxlWyJvbkFib3J0Il0pe01vZHVsZVsib25BYm9ydCJdKHdoYXQpfXdoYXQrPSIiO2Vycih3aGF0KTtBQk9SVD10cnVlO0VYSVRTVEFUVVM9MTt3aGF0PSJhYm9ydCgiK3doYXQrIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjt2YXIgZT1uZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKHdoYXQpO3JlYWR5UHJvbWlzZVJlamVjdChlKTt0aHJvdyBlfWZ1bmN0aW9uIGhhc1ByZWZpeChzdHIscHJlZml4KXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP3N0ci5zdGFydHNXaXRoKHByZWZpeCk6c3RyLmluZGV4T2YocHJlZml4KT09PTB9dmFyIGRhdGFVUklQcmVmaXg9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIGlzRGF0YVVSSShmaWxlbmFtZSl7cmV0dXJuIGhhc1ByZWZpeChmaWxlbmFtZSxkYXRhVVJJUHJlZml4KX12YXIgZmlsZVVSSVByZWZpeD0iZmlsZTovLyI7ZnVuY3Rpb24gaXNGaWxlVVJJKGZpbGVuYW1lKXtyZXR1cm4gaGFzUHJlZml4KGZpbGVuYW1lLGZpbGVVUklQcmVmaXgpfXZhciB3YXNtQmluYXJ5RmlsZT0iYmFzaXNfdHJhbnNjb2Rlci53YXNtIjtpZighaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxlKSl7d2FzbUJpbmFyeUZpbGU9bG9jYXRlRmlsZSh3YXNtQmluYXJ5RmlsZSl9ZnVuY3Rpb24gZ2V0QmluYXJ5KCl7dHJ5e2lmKHdhc21CaW5hcnkpe3JldHVybiBuZXcgVWludDhBcnJheSh3YXNtQmluYXJ5KX1pZihyZWFkQmluYXJ5KXtyZXR1cm4gcmVhZEJpbmFyeSh3YXNtQmluYXJ5RmlsZSl9ZWxzZXt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9fWNhdGNoKGVycil7YWJvcnQoZXJyKX19ZnVuY3Rpb24gZ2V0QmluYXJ5UHJvbWlzZSgpe2lmKCF3YXNtQmluYXJ5JiYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpJiZ0eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSl7cmV0dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlWyJvayJdKXt0aHJvdyJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICciK3dhc21CaW5hcnlGaWxlKyInIn1yZXR1cm4gcmVzcG9uc2VbImFycmF5QnVmZmVyIl0oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGdldEJpbmFyeSgpfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZ2V0QmluYXJ5KX1mdW5jdGlvbiBjcmVhdGVXYXNtKCl7dmFyIGluZm89eyJhIjphc21MaWJyYXJ5QXJnfTtmdW5jdGlvbiByZWNlaXZlSW5zdGFuY2UoaW5zdGFuY2UsbW9kdWxlKXt2YXIgZXhwb3J0cz1pbnN0YW5jZS5leHBvcnRzO01vZHVsZVsiYXNtIl09ZXhwb3J0czt3YXNtTWVtb3J5PU1vZHVsZVsiYXNtIl1bIksiXTt1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyh3YXNtTWVtb3J5LmJ1ZmZlcik7d2FzbVRhYmxlPU1vZHVsZVsiYXNtIl1bIkwiXTtyZW1vdmVSdW5EZXBlbmRlbmN5KCJ3YXNtLWluc3RhbnRpYXRlIil9YWRkUnVuRGVwZW5kZW5jeSgid2FzbS1pbnN0YW50aWF0ZSIpO2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW50aWF0ZWRTb3VyY2Uob3V0cHV0KXtyZWNlaXZlSW5zdGFuY2Uob3V0cHV0WyJpbnN0YW5jZSJdKX1mdW5jdGlvbiBpbnN0YW50aWF0ZUFycmF5QnVmZmVyKHJlY2VpdmVyKXtyZXR1cm4gZ2V0QmluYXJ5UHJvbWlzZSgpLnRoZW4oZnVuY3Rpb24oYmluYXJ5KXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYmluYXJ5LGluZm8pfSkudGhlbihyZWNlaXZlcixmdW5jdGlvbihyZWFzb24pe2VycigiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogIityZWFzb24pO2Fib3J0KHJlYXNvbil9KX1mdW5jdGlvbiBpbnN0YW50aWF0ZUFzeW5jKCl7aWYoIXdhc21CaW5hcnkmJnR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZz09PSJmdW5jdGlvbiImJiFpc0RhdGFVUkkod2FzbUJpbmFyeUZpbGUpJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSYmdHlwZW9mIGZldGNoPT09ImZ1bmN0aW9uIil7cmV0dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7dmFyIHJlc3VsdD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhyZXNwb25zZSxpbmZvKTtyZXR1cm4gcmVzdWx0LnRoZW4ocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSxmdW5jdGlvbihyZWFzb24pe2Vycigid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrcmVhc29uKTtlcnIoImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uIik7cmV0dXJuIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9KX0pfWVsc2V7cmV0dXJuIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9fWlmKE1vZHVsZVsiaW5zdGFudGlhdGVXYXNtIl0pe3RyeXt2YXIgZXhwb3J0cz1Nb2R1bGVbImluc3RhbnRpYXRlV2FzbSJdKGluZm8scmVjZWl2ZUluc3RhbmNlKTtyZXR1cm4gZXhwb3J0c31jYXRjaChlKXtlcnIoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZSk7cmV0dXJuIGZhbHNlfX1pbnN0YW50aWF0ZUFzeW5jKCkuY2F0Y2gocmVhZHlQcm9taXNlUmVqZWN0KTtyZXR1cm57fX1mdW5jdGlvbiBjYWxsUnVudGltZUNhbGxiYWNrcyhjYWxsYmFja3Mpe3doaWxlKGNhbGxiYWNrcy5sZW5ndGg+MCl7dmFyIGNhbGxiYWNrPWNhbGxiYWNrcy5zaGlmdCgpO2lmKHR5cGVvZiBjYWxsYmFjaz09ImZ1bmN0aW9uIil7Y2FsbGJhY2soTW9kdWxlKTtjb250aW51ZX12YXIgZnVuYz1jYWxsYmFjay5mdW5jO2lmKHR5cGVvZiBmdW5jPT09Im51bWJlciIpe2lmKGNhbGxiYWNrLmFyZz09PXVuZGVmaW5lZCl7d2FzbVRhYmxlLmdldChmdW5jKSgpfWVsc2V7d2FzbVRhYmxlLmdldChmdW5jKShjYWxsYmFjay5hcmcpfX1lbHNle2Z1bmMoY2FsbGJhY2suYXJnPT09dW5kZWZpbmVkP251bGw6Y2FsbGJhY2suYXJnKX19fXZhciBzdHJ1Y3RSZWdpc3RyYXRpb25zPXt9O2Z1bmN0aW9uIHJ1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKXt3aGlsZShkZXN0cnVjdG9ycy5sZW5ndGgpe3ZhciBwdHI9ZGVzdHJ1Y3RvcnMucG9wKCk7dmFyIGRlbD1kZXN0cnVjdG9ycy5wb3AoKTtkZWwocHRyKX19ZnVuY3Rpb24gc2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIHRoaXNbImZyb21XaXJlVHlwZSJdKEhFQVBVMzJbcG9pbnRlcj4+Ml0pfXZhciBhd2FpdGluZ0RlcGVuZGVuY2llcz17fTt2YXIgcmVnaXN0ZXJlZFR5cGVzPXt9O3ZhciB0eXBlRGVwZW5kZW5jaWVzPXt9O3ZhciBjaGFyXzA9NDg7dmFyIGNoYXJfOT01NztmdW5jdGlvbiBtYWtlTGVnYWxGdW5jdGlvbk5hbWUobmFtZSl7aWYodW5kZWZpbmVkPT09bmFtZSl7cmV0dXJuIl91bmtub3duIn1uYW1lPW5hbWUucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLCIkIik7dmFyIGY9bmFtZS5jaGFyQ29kZUF0KDApO2lmKGY+PWNoYXJfMCYmZjw9Y2hhcl85KXtyZXR1cm4iXyIrbmFtZX1lbHNle3JldHVybiBuYW1lfX1mdW5jdGlvbiBjcmVhdGVOYW1lZEZ1bmN0aW9uKG5hbWUsYm9keSl7bmFtZT1tYWtlTGVnYWxGdW5jdGlvbk5hbWUobmFtZSk7cmV0dXJuIG5ldyBGdW5jdGlvbigiYm9keSIsInJldHVybiBmdW5jdGlvbiAiK25hbWUrIigpIHtcbiIrJyAgICAidXNlIHN0cmljdCI7JysiICAgIHJldHVybiBib2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4iKyJ9O1xuIikoYm9keSl9ZnVuY3Rpb24gZXh0ZW5kRXJyb3IoYmFzZUVycm9yVHlwZSxlcnJvck5hbWUpe3ZhciBlcnJvckNsYXNzPWNyZWF0ZU5hbWVkRnVuY3Rpb24oZXJyb3JOYW1lLGZ1bmN0aW9uKG1lc3NhZ2Upe3RoaXMubmFtZT1lcnJvck5hbWU7dGhpcy5tZXNzYWdlPW1lc3NhZ2U7dmFyIHN0YWNrPW5ldyBFcnJvcihtZXNzYWdlKS5zdGFjaztpZihzdGFjayE9PXVuZGVmaW5lZCl7dGhpcy5zdGFjaz10aGlzLnRvU3RyaW5nKCkrIlxuIitzdGFjay5yZXBsYWNlKC9eRXJyb3IoOlteXG5dKik/XG4vLCIiKX19KTtlcnJvckNsYXNzLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJhc2VFcnJvclR5cGUucHJvdG90eXBlKTtlcnJvckNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lcnJvckNsYXNzO2Vycm9yQ2xhc3MucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5tZXNzYWdlPT09dW5kZWZpbmVkKXtyZXR1cm4gdGhpcy5uYW1lfWVsc2V7cmV0dXJuIHRoaXMubmFtZSsiOiAiK3RoaXMubWVzc2FnZX19O3JldHVybiBlcnJvckNsYXNzfXZhciBJbnRlcm5hbEVycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiB0aHJvd0ludGVybmFsRXJyb3IobWVzc2FnZSl7dGhyb3cgbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSl9ZnVuY3Rpb24gd2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQobXlUeXBlcyxkZXBlbmRlbnRUeXBlcyxnZXRUeXBlQ29udmVydGVycyl7bXlUeXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpe3R5cGVEZXBlbmRlbmNpZXNbdHlwZV09ZGVwZW5kZW50VHlwZXN9KTtmdW5jdGlvbiBvbkNvbXBsZXRlKHR5cGVDb252ZXJ0ZXJzKXt2YXIgbXlUeXBlQ29udmVydGVycz1nZXRUeXBlQ29udmVydGVycyh0eXBlQ29udmVydGVycyk7aWYobXlUeXBlQ29udmVydGVycy5sZW5ndGghPT1teVR5cGVzLmxlbmd0aCl7dGhyb3dJbnRlcm5hbEVycm9yKCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50Iil9Zm9yKHZhciBpPTA7aTxteVR5cGVzLmxlbmd0aDsrK2kpe3JlZ2lzdGVyVHlwZShteVR5cGVzW2ldLG15VHlwZUNvbnZlcnRlcnNbaV0pfX12YXIgdHlwZUNvbnZlcnRlcnM9bmV3IEFycmF5KGRlcGVuZGVudFR5cGVzLmxlbmd0aCk7dmFyIHVucmVnaXN0ZXJlZFR5cGVzPVtdO3ZhciByZWdpc3RlcmVkPTA7ZGVwZW5kZW50VHlwZXMuZm9yRWFjaChmdW5jdGlvbihkdCxpKXtpZihyZWdpc3RlcmVkVHlwZXMuaGFzT3duUHJvcGVydHkoZHQpKXt0eXBlQ29udmVydGVyc1tpXT1yZWdpc3RlcmVkVHlwZXNbZHRdfWVsc2V7dW5yZWdpc3RlcmVkVHlwZXMucHVzaChkdCk7aWYoIWF3YWl0aW5nRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KGR0KSl7YXdhaXRpbmdEZXBlbmRlbmNpZXNbZHRdPVtdfWF3YWl0aW5nRGVwZW5kZW5jaWVzW2R0XS5wdXNoKGZ1bmN0aW9uKCl7dHlwZUNvbnZlcnRlcnNbaV09cmVnaXN0ZXJlZFR5cGVzW2R0XTsrK3JlZ2lzdGVyZWQ7aWYocmVnaXN0ZXJlZD09PXVucmVnaXN0ZXJlZFR5cGVzLmxlbmd0aCl7b25Db21wbGV0ZSh0eXBlQ29udmVydGVycyl9fSl9fSk7aWYoMD09PXVucmVnaXN0ZXJlZFR5cGVzLmxlbmd0aCl7b25Db21wbGV0ZSh0eXBlQ29udmVydGVycyl9fWZ1bmN0aW9uIF9fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdChzdHJ1Y3RUeXBlKXt2YXIgcmVnPXN0cnVjdFJlZ2lzdHJhdGlvbnNbc3RydWN0VHlwZV07ZGVsZXRlIHN0cnVjdFJlZ2lzdHJhdGlvbnNbc3RydWN0VHlwZV07dmFyIHJhd0NvbnN0cnVjdG9yPXJlZy5yYXdDb25zdHJ1Y3Rvcjt2YXIgcmF3RGVzdHJ1Y3Rvcj1yZWcucmF3RGVzdHJ1Y3Rvcjt2YXIgZmllbGRSZWNvcmRzPXJlZy5maWVsZHM7dmFyIGZpZWxkVHlwZXM9ZmllbGRSZWNvcmRzLm1hcChmdW5jdGlvbihmaWVsZCl7cmV0dXJuIGZpZWxkLmdldHRlclJldHVyblR5cGV9KS5jb25jYXQoZmllbGRSZWNvcmRzLm1hcChmdW5jdGlvbihmaWVsZCl7cmV0dXJuIGZpZWxkLnNldHRlckFyZ3VtZW50VHlwZX0pKTt3aGVuRGVwZW5kZW50VHlwZXNBcmVSZXNvbHZlZChbc3RydWN0VHlwZV0sZmllbGRUeXBlcyxmdW5jdGlvbihmaWVsZFR5cGVzKXt2YXIgZmllbGRzPXt9O2ZpZWxkUmVjb3Jkcy5mb3JFYWNoKGZ1bmN0aW9uKGZpZWxkLGkpe3ZhciBmaWVsZE5hbWU9ZmllbGQuZmllbGROYW1lO3ZhciBnZXR0ZXJSZXR1cm5UeXBlPWZpZWxkVHlwZXNbaV07dmFyIGdldHRlcj1maWVsZC5nZXR0ZXI7dmFyIGdldHRlckNvbnRleHQ9ZmllbGQuZ2V0dGVyQ29udGV4dDt2YXIgc2V0dGVyQXJndW1lbnRUeXBlPWZpZWxkVHlwZXNbaStmaWVsZFJlY29yZHMubGVuZ3RoXTt2YXIgc2V0dGVyPWZpZWxkLnNldHRlcjt2YXIgc2V0dGVyQ29udGV4dD1maWVsZC5zZXR0ZXJDb250ZXh0O2ZpZWxkc1tmaWVsZE5hbWVdPXtyZWFkOmZ1bmN0aW9uKHB0cil7cmV0dXJuIGdldHRlclJldHVyblR5cGVbImZyb21XaXJlVHlwZSJdKGdldHRlcihnZXR0ZXJDb250ZXh0LHB0cikpfSx3cml0ZTpmdW5jdGlvbihwdHIsbyl7dmFyIGRlc3RydWN0b3JzPVtdO3NldHRlcihzZXR0ZXJDb250ZXh0LHB0cixzZXR0ZXJBcmd1bWVudFR5cGVbInRvV2lyZVR5cGUiXShkZXN0cnVjdG9ycyxvKSk7cnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpfX19KTtyZXR1cm5be25hbWU6cmVnLm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24ocHRyKXt2YXIgcnY9e307Zm9yKHZhciBpIGluIGZpZWxkcyl7cnZbaV09ZmllbGRzW2ldLnJlYWQocHRyKX1yYXdEZXN0cnVjdG9yKHB0cik7cmV0dXJuIHJ2fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsbyl7Zm9yKHZhciBmaWVsZE5hbWUgaW4gZmllbGRzKXtpZighKGZpZWxkTmFtZSBpbiBvKSl7dGhyb3cgbmV3IFR5cGVFcnJvcignTWlzc2luZyBmaWVsZDogICInK2ZpZWxkTmFtZSsnIicpfX12YXIgcHRyPXJhd0NvbnN0cnVjdG9yKCk7Zm9yKGZpZWxkTmFtZSBpbiBmaWVsZHMpe2ZpZWxkc1tmaWVsZE5hbWVdLndyaXRlKHB0cixvW2ZpZWxkTmFtZV0pfWlmKGRlc3RydWN0b3JzIT09bnVsbCl7ZGVzdHJ1Y3RvcnMucHVzaChyYXdEZXN0cnVjdG9yLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOnJhd0Rlc3RydWN0b3J9XX0pfWZ1bmN0aW9uIGdldFNoaWZ0RnJvbVNpemUoc2l6ZSl7c3dpdGNoKHNpemUpe2Nhc2UgMTpyZXR1cm4gMDtjYXNlIDI6cmV0dXJuIDE7Y2FzZSA0OnJldHVybiAyO2Nhc2UgODpyZXR1cm4gMztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gdHlwZSBzaXplOiAiK3NpemUpfX1mdW5jdGlvbiBlbWJpbmRfaW5pdF9jaGFyQ29kZXMoKXt2YXIgY29kZXM9bmV3IEFycmF5KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7KytpKXtjb2Rlc1tpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfWVtYmluZF9jaGFyQ29kZXM9Y29kZXN9dmFyIGVtYmluZF9jaGFyQ29kZXM9dW5kZWZpbmVkO2Z1bmN0aW9uIHJlYWRMYXRpbjFTdHJpbmcocHRyKXt2YXIgcmV0PSIiO3ZhciBjPXB0cjt3aGlsZShIRUFQVThbY10pe3JldCs9ZW1iaW5kX2NoYXJDb2Rlc1tIRUFQVThbYysrXV19cmV0dXJuIHJldH12YXIgQmluZGluZ0Vycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiB0aHJvd0JpbmRpbmdFcnJvcihtZXNzYWdlKXt0aHJvdyBuZXcgQmluZGluZ0Vycm9yKG1lc3NhZ2UpfWZ1bmN0aW9uIHJlZ2lzdGVyVHlwZShyYXdUeXBlLHJlZ2lzdGVyZWRJbnN0YW5jZSxvcHRpb25zKXtvcHRpb25zPW9wdGlvbnN8fHt9O2lmKCEoImFyZ1BhY2tBZHZhbmNlImluIHJlZ2lzdGVyZWRJbnN0YW5jZSkpe3Rocm93IG5ldyBUeXBlRXJyb3IoInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2UiKX12YXIgbmFtZT1yZWdpc3RlcmVkSW5zdGFuY2UubmFtZTtpZighcmF3VHlwZSl7dGhyb3dCaW5kaW5nRXJyb3IoJ3R5cGUgIicrbmFtZSsnIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyl9aWYocmVnaXN0ZXJlZFR5cGVzLmhhc093blByb3BlcnR5KHJhd1R5cGUpKXtpZihvcHRpb25zLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpe3JldHVybn1lbHNle3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnIituYW1lKyInIHR3aWNlIil9fXJlZ2lzdGVyZWRUeXBlc1tyYXdUeXBlXT1yZWdpc3RlcmVkSW5zdGFuY2U7ZGVsZXRlIHR5cGVEZXBlbmRlbmNpZXNbcmF3VHlwZV07aWYoYXdhaXRpbmdEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocmF3VHlwZSkpe3ZhciBjYWxsYmFja3M9YXdhaXRpbmdEZXBlbmRlbmNpZXNbcmF3VHlwZV07ZGVsZXRlIGF3YWl0aW5nRGVwZW5kZW5jaWVzW3Jhd1R5cGVdO2NhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKGNiKXtjYigpfSl9fWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2Jvb2wocmF3VHlwZSxuYW1lLHNpemUsdHJ1ZVZhbHVlLGZhbHNlVmFsdWUpe3ZhciBzaGlmdD1nZXRTaGlmdEZyb21TaXplKHNpemUpO25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKHd0KXtyZXR1cm4hIXd0fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsbyl7cmV0dXJuIG8/dHJ1ZVZhbHVlOmZhbHNlVmFsdWV9LCJhcmdQYWNrQWR2YW5jZSI6OCwicmVhZFZhbHVlRnJvbVBvaW50ZXIiOmZ1bmN0aW9uKHBvaW50ZXIpe3ZhciBoZWFwO2lmKHNpemU9PT0xKXtoZWFwPUhFQVA4fWVsc2UgaWYoc2l6ZT09PTIpe2hlYXA9SEVBUDE2fWVsc2UgaWYoc2l6ZT09PTQpe2hlYXA9SEVBUDMyfWVsc2V7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogIituYW1lKX1yZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oaGVhcFtwb2ludGVyPj5zaGlmdF0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIENsYXNzSGFuZGxlX2lzQWxpYXNPZihvdGhlcil7aWYoISh0aGlzIGluc3RhbmNlb2YgQ2xhc3NIYW5kbGUpKXtyZXR1cm4gZmFsc2V9aWYoIShvdGhlciBpbnN0YW5jZW9mIENsYXNzSGFuZGxlKSl7cmV0dXJuIGZhbHNlfXZhciBsZWZ0Q2xhc3M9dGhpcy4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgbGVmdD10aGlzLiQkLnB0cjt2YXIgcmlnaHRDbGFzcz1vdGhlci4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcmlnaHQ9b3RoZXIuJCQucHRyO3doaWxlKGxlZnRDbGFzcy5iYXNlQ2xhc3Mpe2xlZnQ9bGVmdENsYXNzLnVwY2FzdChsZWZ0KTtsZWZ0Q2xhc3M9bGVmdENsYXNzLmJhc2VDbGFzc313aGlsZShyaWdodENsYXNzLmJhc2VDbGFzcyl7cmlnaHQ9cmlnaHRDbGFzcy51cGNhc3QocmlnaHQpO3JpZ2h0Q2xhc3M9cmlnaHRDbGFzcy5iYXNlQ2xhc3N9cmV0dXJuIGxlZnRDbGFzcz09PXJpZ2h0Q2xhc3MmJmxlZnQ9PT1yaWdodH1mdW5jdGlvbiBzaGFsbG93Q29weUludGVybmFsUG9pbnRlcihvKXtyZXR1cm57Y291bnQ6by5jb3VudCxkZWxldGVTY2hlZHVsZWQ6by5kZWxldGVTY2hlZHVsZWQscHJlc2VydmVQb2ludGVyT25EZWxldGU6by5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSxwdHI6by5wdHIscHRyVHlwZTpvLnB0clR5cGUsc21hcnRQdHI6by5zbWFydFB0cixzbWFydFB0clR5cGU6by5zbWFydFB0clR5cGV9fWZ1bmN0aW9uIHRocm93SW5zdGFuY2VBbHJlYWR5RGVsZXRlZChvYmope2Z1bmN0aW9uIGdldEluc3RhbmNlVHlwZU5hbWUoaGFuZGxlKXtyZXR1cm4gaGFuZGxlLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLm5hbWV9dGhyb3dCaW5kaW5nRXJyb3IoZ2V0SW5zdGFuY2VUeXBlTmFtZShvYmopKyIgaW5zdGFuY2UgYWxyZWFkeSBkZWxldGVkIil9dmFyIGZpbmFsaXphdGlvbkdyb3VwPWZhbHNlO2Z1bmN0aW9uIGRldGFjaEZpbmFsaXplcihoYW5kbGUpe31mdW5jdGlvbiBydW5EZXN0cnVjdG9yKCQkKXtpZigkJC5zbWFydFB0cil7JCQuc21hcnRQdHJUeXBlLnJhd0Rlc3RydWN0b3IoJCQuc21hcnRQdHIpfWVsc2V7JCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MucmF3RGVzdHJ1Y3RvcigkJC5wdHIpfX1mdW5jdGlvbiByZWxlYXNlQ2xhc3NIYW5kbGUoJCQpeyQkLmNvdW50LnZhbHVlLT0xO3ZhciB0b0RlbGV0ZT0wPT09JCQuY291bnQudmFsdWU7aWYodG9EZWxldGUpe3J1bkRlc3RydWN0b3IoJCQpfX1mdW5jdGlvbiBhdHRhY2hGaW5hbGl6ZXIoaGFuZGxlKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBGaW5hbGl6YXRpb25Hcm91cCl7YXR0YWNoRmluYWxpemVyPWZ1bmN0aW9uKGhhbmRsZSl7cmV0dXJuIGhhbmRsZX07cmV0dXJuIGhhbmRsZX1maW5hbGl6YXRpb25Hcm91cD1uZXcgRmluYWxpemF0aW9uR3JvdXAoZnVuY3Rpb24oaXRlcil7Zm9yKHZhciByZXN1bHQ9aXRlci5uZXh0KCk7IXJlc3VsdC5kb25lO3Jlc3VsdD1pdGVyLm5leHQoKSl7dmFyICQkPXJlc3VsdC52YWx1ZTtpZighJCQucHRyKXtjb25zb2xlLndhcm4oIm9iamVjdCBhbHJlYWR5IGRlbGV0ZWQ6ICIrJCQucHRyKX1lbHNle3JlbGVhc2VDbGFzc0hhbmRsZSgkJCl9fX0pO2F0dGFjaEZpbmFsaXplcj1mdW5jdGlvbihoYW5kbGUpe2ZpbmFsaXphdGlvbkdyb3VwLnJlZ2lzdGVyKGhhbmRsZSxoYW5kbGUuJCQsaGFuZGxlLiQkKTtyZXR1cm4gaGFuZGxlfTtkZXRhY2hGaW5hbGl6ZXI9ZnVuY3Rpb24oaGFuZGxlKXtmaW5hbGl6YXRpb25Hcm91cC51bnJlZ2lzdGVyKGhhbmRsZS4kJCl9O3JldHVybiBhdHRhY2hGaW5hbGl6ZXIoaGFuZGxlKX1mdW5jdGlvbiBDbGFzc0hhbmRsZV9jbG9uZSgpe2lmKCF0aGlzLiQkLnB0cil7dGhyb3dJbnN0YW5jZUFscmVhZHlEZWxldGVkKHRoaXMpfWlmKHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUpe3RoaXMuJCQuY291bnQudmFsdWUrPTE7cmV0dXJuIHRoaXN9ZWxzZXt2YXIgY2xvbmU9YXR0YWNoRmluYWxpemVyKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLHskJDp7dmFsdWU6c2hhbGxvd0NvcHlJbnRlcm5hbFBvaW50ZXIodGhpcy4kJCl9fSkpO2Nsb25lLiQkLmNvdW50LnZhbHVlKz0xO2Nsb25lLiQkLmRlbGV0ZVNjaGVkdWxlZD1mYWxzZTtyZXR1cm4gY2xvbmV9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2RlbGV0ZSgpe2lmKCF0aGlzLiQkLnB0cil7dGhyb3dJbnN0YW5jZUFscmVhZHlEZWxldGVkKHRoaXMpfWlmKHRoaXMuJCQuZGVsZXRlU2NoZWR1bGVkJiYhdGhpcy4kJC5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSl7dGhyb3dCaW5kaW5nRXJyb3IoIk9iamVjdCBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgZGVsZXRpb24iKX1kZXRhY2hGaW5hbGl6ZXIodGhpcyk7cmVsZWFzZUNsYXNzSGFuZGxlKHRoaXMuJCQpO2lmKCF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlKXt0aGlzLiQkLnNtYXJ0UHRyPXVuZGVmaW5lZDt0aGlzLiQkLnB0cj11bmRlZmluZWR9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2lzRGVsZXRlZCgpe3JldHVybiF0aGlzLiQkLnB0cn12YXIgZGVsYXlGdW5jdGlvbj11bmRlZmluZWQ7dmFyIGRlbGV0aW9uUXVldWU9W107ZnVuY3Rpb24gZmx1c2hQZW5kaW5nRGVsZXRlcygpe3doaWxlKGRlbGV0aW9uUXVldWUubGVuZ3RoKXt2YXIgb2JqPWRlbGV0aW9uUXVldWUucG9wKCk7b2JqLiQkLmRlbGV0ZVNjaGVkdWxlZD1mYWxzZTtvYmpbImRlbGV0ZSJdKCl9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2RlbGV0ZUxhdGVyKCl7aWYoIXRoaXMuJCQucHRyKXt0aHJvd0luc3RhbmNlQWxyZWFkeURlbGV0ZWQodGhpcyl9aWYodGhpcy4kJC5kZWxldGVTY2hlZHVsZWQmJiF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlKXt0aHJvd0JpbmRpbmdFcnJvcigiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpfWRlbGV0aW9uUXVldWUucHVzaCh0aGlzKTtpZihkZWxldGlvblF1ZXVlLmxlbmd0aD09PTEmJmRlbGF5RnVuY3Rpb24pe2RlbGF5RnVuY3Rpb24oZmx1c2hQZW5kaW5nRGVsZXRlcyl9dGhpcy4kJC5kZWxldGVTY2hlZHVsZWQ9dHJ1ZTtyZXR1cm4gdGhpc31mdW5jdGlvbiBpbml0X0NsYXNzSGFuZGxlKCl7Q2xhc3NIYW5kbGUucHJvdG90eXBlWyJpc0FsaWFzT2YiXT1DbGFzc0hhbmRsZV9pc0FsaWFzT2Y7Q2xhc3NIYW5kbGUucHJvdG90eXBlWyJjbG9uZSJdPUNsYXNzSGFuZGxlX2Nsb25lO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiZGVsZXRlIl09Q2xhc3NIYW5kbGVfZGVsZXRlO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiaXNEZWxldGVkIl09Q2xhc3NIYW5kbGVfaXNEZWxldGVkO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiZGVsZXRlTGF0ZXIiXT1DbGFzc0hhbmRsZV9kZWxldGVMYXRlcn1mdW5jdGlvbiBDbGFzc0hhbmRsZSgpe312YXIgcmVnaXN0ZXJlZFBvaW50ZXJzPXt9O2Z1bmN0aW9uIGVuc3VyZU92ZXJsb2FkVGFibGUocHJvdG8sbWV0aG9kTmFtZSxodW1hbk5hbWUpe2lmKHVuZGVmaW5lZD09PXByb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGUpe3ZhciBwcmV2RnVuYz1wcm90b1ttZXRob2ROYW1lXTtwcm90b1ttZXRob2ROYW1lXT1mdW5jdGlvbigpe2lmKCFwcm90b1ttZXRob2ROYW1lXS5vdmVybG9hZFRhYmxlLmhhc093blByb3BlcnR5KGFyZ3VtZW50cy5sZW5ndGgpKXt0aHJvd0JpbmRpbmdFcnJvcigiRnVuY3Rpb24gJyIraHVtYW5OYW1lKyInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIithcmd1bWVudHMubGVuZ3RoKyIpIC0gZXhwZWN0cyBvbmUgb2YgKCIrcHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZSsiKSEiKX1yZXR1cm4gcHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZVthcmd1bWVudHMubGVuZ3RoXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3Byb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGU9W107cHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZVtwcmV2RnVuYy5hcmdDb3VudF09cHJldkZ1bmN9fWZ1bmN0aW9uIGV4cG9zZVB1YmxpY1N5bWJvbChuYW1lLHZhbHVlLG51bUFyZ3VtZW50cyl7aWYoTW9kdWxlLmhhc093blByb3BlcnR5KG5hbWUpKXtpZih1bmRlZmluZWQ9PT1udW1Bcmd1bWVudHN8fHVuZGVmaW5lZCE9PU1vZHVsZVtuYW1lXS5vdmVybG9hZFRhYmxlJiZ1bmRlZmluZWQhPT1Nb2R1bGVbbmFtZV0ub3ZlcmxvYWRUYWJsZVtudW1Bcmd1bWVudHNdKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHJlZ2lzdGVyIHB1YmxpYyBuYW1lICciK25hbWUrIicgdHdpY2UiKX1lbnN1cmVPdmVybG9hZFRhYmxlKE1vZHVsZSxuYW1lLG5hbWUpO2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShudW1Bcmd1bWVudHMpKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIitudW1Bcmd1bWVudHMrIikhIil9TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGVbbnVtQXJndW1lbnRzXT12YWx1ZX1lbHNle01vZHVsZVtuYW1lXT12YWx1ZTtpZih1bmRlZmluZWQhPT1udW1Bcmd1bWVudHMpe01vZHVsZVtuYW1lXS5udW1Bcmd1bWVudHM9bnVtQXJndW1lbnRzfX19ZnVuY3Rpb24gUmVnaXN0ZXJlZENsYXNzKG5hbWUsY29uc3RydWN0b3IsaW5zdGFuY2VQcm90b3R5cGUscmF3RGVzdHJ1Y3RvcixiYXNlQ2xhc3MsZ2V0QWN0dWFsVHlwZSx1cGNhc3QsZG93bmNhc3Qpe3RoaXMubmFtZT1uYW1lO3RoaXMuY29uc3RydWN0b3I9Y29uc3RydWN0b3I7dGhpcy5pbnN0YW5jZVByb3RvdHlwZT1pbnN0YW5jZVByb3RvdHlwZTt0aGlzLnJhd0Rlc3RydWN0b3I9cmF3RGVzdHJ1Y3Rvcjt0aGlzLmJhc2VDbGFzcz1iYXNlQ2xhc3M7dGhpcy5nZXRBY3R1YWxUeXBlPWdldEFjdHVhbFR5cGU7dGhpcy51cGNhc3Q9dXBjYXN0O3RoaXMuZG93bmNhc3Q9ZG93bmNhc3Q7dGhpcy5wdXJlVmlydHVhbEZ1bmN0aW9ucz1bXX1mdW5jdGlvbiB1cGNhc3RQb2ludGVyKHB0cixwdHJDbGFzcyxkZXNpcmVkQ2xhc3Mpe3doaWxlKHB0ckNsYXNzIT09ZGVzaXJlZENsYXNzKXtpZighcHRyQ2xhc3MudXBjYXN0KXt0aHJvd0JpbmRpbmdFcnJvcigiRXhwZWN0ZWQgbnVsbCBvciBpbnN0YW5jZSBvZiAiK2Rlc2lyZWRDbGFzcy5uYW1lKyIsIGdvdCBhbiBpbnN0YW5jZSBvZiAiK3B0ckNsYXNzLm5hbWUpfXB0cj1wdHJDbGFzcy51cGNhc3QocHRyKTtwdHJDbGFzcz1wdHJDbGFzcy5iYXNlQ2xhc3N9cmV0dXJuIHB0cn1mdW5jdGlvbiBjb25zdE5vU21hcnRQdHJSYXdQb2ludGVyVG9XaXJlVHlwZShkZXN0cnVjdG9ycyxoYW5kbGUpe2lmKGhhbmRsZT09PW51bGwpe2lmKHRoaXMuaXNSZWZlcmVuY2Upe3Rocm93QmluZGluZ0Vycm9yKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKX1yZXR1cm4gMH1pZighaGFuZGxlLiQkKXt0aHJvd0JpbmRpbmdFcnJvcignQ2Fubm90IHBhc3MgIicrX2VtYmluZF9yZXByKGhhbmRsZSkrJyIgYXMgYSAnK3RoaXMubmFtZSl9aWYoIWhhbmRsZS4kJC5wdHIpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcGFzcyBkZWxldGVkIG9iamVjdCBhcyBhIHBvaW50ZXIgb2YgdHlwZSAiK3RoaXMubmFtZSl9dmFyIGhhbmRsZUNsYXNzPWhhbmRsZS4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcHRyPXVwY2FzdFBvaW50ZXIoaGFuZGxlLiQkLnB0cixoYW5kbGVDbGFzcyx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIHB0cn1mdW5jdGlvbiBnZW5lcmljUG9pbnRlclRvV2lyZVR5cGUoZGVzdHJ1Y3RvcnMsaGFuZGxlKXt2YXIgcHRyO2lmKGhhbmRsZT09PW51bGwpe2lmKHRoaXMuaXNSZWZlcmVuY2Upe3Rocm93QmluZGluZ0Vycm9yKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKX1pZih0aGlzLmlzU21hcnRQb2ludGVyKXtwdHI9dGhpcy5yYXdDb25zdHJ1Y3RvcigpO2lmKGRlc3RydWN0b3JzIT09bnVsbCl7ZGVzdHJ1Y3RvcnMucHVzaCh0aGlzLnJhd0Rlc3RydWN0b3IscHRyKX1yZXR1cm4gcHRyfWVsc2V7cmV0dXJuIDB9fWlmKCFoYW5kbGUuJCQpe3Rocm93QmluZGluZ0Vycm9yKCdDYW5ub3QgcGFzcyAiJytfZW1iaW5kX3JlcHIoaGFuZGxlKSsnIiBhcyBhICcrdGhpcy5uYW1lKX1pZighaGFuZGxlLiQkLnB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKX1pZighdGhpcy5pc0NvbnN0JiZoYW5kbGUuJCQucHRyVHlwZS5pc0NvbnN0KXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiKyhoYW5kbGUuJCQuc21hcnRQdHJUeXBlP2hhbmRsZS4kJC5zbWFydFB0clR5cGUubmFtZTpoYW5kbGUuJCQucHRyVHlwZS5uYW1lKSsiIHRvIHBhcmFtZXRlciB0eXBlICIrdGhpcy5uYW1lKX12YXIgaGFuZGxlQ2xhc3M9aGFuZGxlLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzO3B0cj11cGNhc3RQb2ludGVyKGhhbmRsZS4kJC5wdHIsaGFuZGxlQ2xhc3MsdGhpcy5yZWdpc3RlcmVkQ2xhc3MpO2lmKHRoaXMuaXNTbWFydFBvaW50ZXIpe2lmKHVuZGVmaW5lZD09PWhhbmRsZS4kJC5zbWFydFB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIlBhc3NpbmcgcmF3IHBvaW50ZXIgdG8gc21hcnQgcG9pbnRlciBpcyBpbGxlZ2FsIil9c3dpdGNoKHRoaXMuc2hhcmluZ1BvbGljeSl7Y2FzZSAwOmlmKGhhbmRsZS4kJC5zbWFydFB0clR5cGU9PT10aGlzKXtwdHI9aGFuZGxlLiQkLnNtYXJ0UHRyfWVsc2V7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgIisoaGFuZGxlLiQkLnNtYXJ0UHRyVHlwZT9oYW5kbGUuJCQuc21hcnRQdHJUeXBlLm5hbWU6aGFuZGxlLiQkLnB0clR5cGUubmFtZSkrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSl9YnJlYWs7Y2FzZSAxOnB0cj1oYW5kbGUuJCQuc21hcnRQdHI7YnJlYWs7Y2FzZSAyOmlmKGhhbmRsZS4kJC5zbWFydFB0clR5cGU9PT10aGlzKXtwdHI9aGFuZGxlLiQkLnNtYXJ0UHRyfWVsc2V7dmFyIGNsb25lZEhhbmRsZT1oYW5kbGVbImNsb25lIl0oKTtwdHI9dGhpcy5yYXdTaGFyZShwdHIsX19lbXZhbF9yZWdpc3RlcihmdW5jdGlvbigpe2Nsb25lZEhhbmRsZVsiZGVsZXRlIl0oKX0pKTtpZihkZXN0cnVjdG9ycyE9PW51bGwpe2Rlc3RydWN0b3JzLnB1c2godGhpcy5yYXdEZXN0cnVjdG9yLHB0cil9fWJyZWFrO2RlZmF1bHQ6dGhyb3dCaW5kaW5nRXJyb3IoIlVuc3VwcG9ydGluZyBzaGFyaW5nIHBvbGljeSIpfX1yZXR1cm4gcHRyfWZ1bmN0aW9uIG5vbkNvbnN0Tm9TbWFydFB0clJhd1BvaW50ZXJUb1dpcmVUeXBlKGRlc3RydWN0b3JzLGhhbmRsZSl7aWYoaGFuZGxlPT09bnVsbCl7aWYodGhpcy5pc1JlZmVyZW5jZSl7dGhyb3dCaW5kaW5nRXJyb3IoIm51bGwgaXMgbm90IGEgdmFsaWQgIit0aGlzLm5hbWUpfXJldHVybiAwfWlmKCFoYW5kbGUuJCQpe3Rocm93QmluZGluZ0Vycm9yKCdDYW5ub3QgcGFzcyAiJytfZW1iaW5kX3JlcHIoaGFuZGxlKSsnIiBhcyBhICcrdGhpcy5uYW1lKX1pZighaGFuZGxlLiQkLnB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKX1pZihoYW5kbGUuJCQucHRyVHlwZS5pc0NvbnN0KXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiK2hhbmRsZS4kJC5wdHJUeXBlLm5hbWUrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSl9dmFyIGhhbmRsZUNsYXNzPWhhbmRsZS4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcHRyPXVwY2FzdFBvaW50ZXIoaGFuZGxlLiQkLnB0cixoYW5kbGVDbGFzcyx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIHB0cn1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcl9nZXRQb2ludGVlKHB0cil7aWYodGhpcy5yYXdHZXRQb2ludGVlKXtwdHI9dGhpcy5yYXdHZXRQb2ludGVlKHB0cil9cmV0dXJuIHB0cn1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcl9kZXN0cnVjdG9yKHB0cil7aWYodGhpcy5yYXdEZXN0cnVjdG9yKXt0aGlzLnJhd0Rlc3RydWN0b3IocHRyKX19ZnVuY3Rpb24gUmVnaXN0ZXJlZFBvaW50ZXJfZGVsZXRlT2JqZWN0KGhhbmRsZSl7aWYoaGFuZGxlIT09bnVsbCl7aGFuZGxlWyJkZWxldGUiXSgpfX1mdW5jdGlvbiBkb3duY2FzdFBvaW50ZXIocHRyLHB0ckNsYXNzLGRlc2lyZWRDbGFzcyl7aWYocHRyQ2xhc3M9PT1kZXNpcmVkQ2xhc3Mpe3JldHVybiBwdHJ9aWYodW5kZWZpbmVkPT09ZGVzaXJlZENsYXNzLmJhc2VDbGFzcyl7cmV0dXJuIG51bGx9dmFyIHJ2PWRvd25jYXN0UG9pbnRlcihwdHIscHRyQ2xhc3MsZGVzaXJlZENsYXNzLmJhc2VDbGFzcyk7aWYocnY9PT1udWxsKXtyZXR1cm4gbnVsbH1yZXR1cm4gZGVzaXJlZENsYXNzLmRvd25jYXN0KHJ2KX1mdW5jdGlvbiBnZXRJbmhlcml0ZWRJbnN0YW5jZUNvdW50KCl7cmV0dXJuIE9iamVjdC5rZXlzKHJlZ2lzdGVyZWRJbnN0YW5jZXMpLmxlbmd0aH1mdW5jdGlvbiBnZXRMaXZlSW5oZXJpdGVkSW5zdGFuY2VzKCl7dmFyIHJ2PVtdO2Zvcih2YXIgayBpbiByZWdpc3RlcmVkSW5zdGFuY2VzKXtpZihyZWdpc3RlcmVkSW5zdGFuY2VzLmhhc093blByb3BlcnR5KGspKXtydi5wdXNoKHJlZ2lzdGVyZWRJbnN0YW5jZXNba10pfX1yZXR1cm4gcnZ9ZnVuY3Rpb24gc2V0RGVsYXlGdW5jdGlvbihmbil7ZGVsYXlGdW5jdGlvbj1mbjtpZihkZWxldGlvblF1ZXVlLmxlbmd0aCYmZGVsYXlGdW5jdGlvbil7ZGVsYXlGdW5jdGlvbihmbHVzaFBlbmRpbmdEZWxldGVzKX19ZnVuY3Rpb24gaW5pdF9lbWJpbmQoKXtNb2R1bGVbImdldEluaGVyaXRlZEluc3RhbmNlQ291bnQiXT1nZXRJbmhlcml0ZWRJbnN0YW5jZUNvdW50O01vZHVsZVsiZ2V0TGl2ZUluaGVyaXRlZEluc3RhbmNlcyJdPWdldExpdmVJbmhlcml0ZWRJbnN0YW5jZXM7TW9kdWxlWyJmbHVzaFBlbmRpbmdEZWxldGVzIl09Zmx1c2hQZW5kaW5nRGVsZXRlcztNb2R1bGVbInNldERlbGF5RnVuY3Rpb24iXT1zZXREZWxheUZ1bmN0aW9ufXZhciByZWdpc3RlcmVkSW5zdGFuY2VzPXt9O2Z1bmN0aW9uIGdldEJhc2VzdFBvaW50ZXIoY2xhc3NfLHB0cil7aWYocHRyPT09dW5kZWZpbmVkKXt0aHJvd0JpbmRpbmdFcnJvcigicHRyIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIil9d2hpbGUoY2xhc3NfLmJhc2VDbGFzcyl7cHRyPWNsYXNzXy51cGNhc3QocHRyKTtjbGFzc189Y2xhc3NfLmJhc2VDbGFzc31yZXR1cm4gcHRyfWZ1bmN0aW9uIGdldEluaGVyaXRlZEluc3RhbmNlKGNsYXNzXyxwdHIpe3B0cj1nZXRCYXNlc3RQb2ludGVyKGNsYXNzXyxwdHIpO3JldHVybiByZWdpc3RlcmVkSW5zdGFuY2VzW3B0cl19ZnVuY3Rpb24gbWFrZUNsYXNzSGFuZGxlKHByb3RvdHlwZSxyZWNvcmQpe2lmKCFyZWNvcmQucHRyVHlwZXx8IXJlY29yZC5wdHIpe3Rocm93SW50ZXJuYWxFcnJvcigibWFrZUNsYXNzSGFuZGxlIHJlcXVpcmVzIHB0ciBhbmQgcHRyVHlwZSIpfXZhciBoYXNTbWFydFB0clR5cGU9ISFyZWNvcmQuc21hcnRQdHJUeXBlO3ZhciBoYXNTbWFydFB0cj0hIXJlY29yZC5zbWFydFB0cjtpZihoYXNTbWFydFB0clR5cGUhPT1oYXNTbWFydFB0cil7dGhyb3dJbnRlcm5hbEVycm9yKCJCb3RoIHNtYXJ0UHRyVHlwZSBhbmQgc21hcnRQdHIgbXVzdCBiZSBzcGVjaWZpZWQiKX1yZWNvcmQuY291bnQ9e3ZhbHVlOjF9O3JldHVybiBhdHRhY2hGaW5hbGl6ZXIoT2JqZWN0LmNyZWF0ZShwcm90b3R5cGUseyQkOnt2YWx1ZTpyZWNvcmR9fSkpfWZ1bmN0aW9uIFJlZ2lzdGVyZWRQb2ludGVyX2Zyb21XaXJlVHlwZShwdHIpe3ZhciByYXdQb2ludGVyPXRoaXMuZ2V0UG9pbnRlZShwdHIpO2lmKCFyYXdQb2ludGVyKXt0aGlzLmRlc3RydWN0b3IocHRyKTtyZXR1cm4gbnVsbH12YXIgcmVnaXN0ZXJlZEluc3RhbmNlPWdldEluaGVyaXRlZEluc3RhbmNlKHRoaXMucmVnaXN0ZXJlZENsYXNzLHJhd1BvaW50ZXIpO2lmKHVuZGVmaW5lZCE9PXJlZ2lzdGVyZWRJbnN0YW5jZSl7aWYoMD09PXJlZ2lzdGVyZWRJbnN0YW5jZS4kJC5jb3VudC52YWx1ZSl7cmVnaXN0ZXJlZEluc3RhbmNlLiQkLnB0cj1yYXdQb2ludGVyO3JlZ2lzdGVyZWRJbnN0YW5jZS4kJC5zbWFydFB0cj1wdHI7cmV0dXJuIHJlZ2lzdGVyZWRJbnN0YW5jZVsiY2xvbmUiXSgpfWVsc2V7dmFyIHJ2PXJlZ2lzdGVyZWRJbnN0YW5jZVsiY2xvbmUiXSgpO3RoaXMuZGVzdHJ1Y3RvcihwdHIpO3JldHVybiBydn19ZnVuY3Rpb24gbWFrZURlZmF1bHRIYW5kbGUoKXtpZih0aGlzLmlzU21hcnRQb2ludGVyKXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMucG9pbnRlZVR5cGUscHRyOnJhd1BvaW50ZXIsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6cHRyfSl9ZWxzZXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMscHRyOnB0cn0pfX12YXIgYWN0dWFsVHlwZT10aGlzLnJlZ2lzdGVyZWRDbGFzcy5nZXRBY3R1YWxUeXBlKHJhd1BvaW50ZXIpO3ZhciByZWdpc3RlcmVkUG9pbnRlclJlY29yZD1yZWdpc3RlcmVkUG9pbnRlcnNbYWN0dWFsVHlwZV07aWYoIXJlZ2lzdGVyZWRQb2ludGVyUmVjb3JkKXtyZXR1cm4gbWFrZURlZmF1bHRIYW5kbGUuY2FsbCh0aGlzKX12YXIgdG9UeXBlO2lmKHRoaXMuaXNDb25zdCl7dG9UeXBlPXJlZ2lzdGVyZWRQb2ludGVyUmVjb3JkLmNvbnN0UG9pbnRlclR5cGV9ZWxzZXt0b1R5cGU9cmVnaXN0ZXJlZFBvaW50ZXJSZWNvcmQucG9pbnRlclR5cGV9dmFyIGRwPWRvd25jYXN0UG9pbnRlcihyYXdQb2ludGVyLHRoaXMucmVnaXN0ZXJlZENsYXNzLHRvVHlwZS5yZWdpc3RlcmVkQ2xhc3MpO2lmKGRwPT09bnVsbCl7cmV0dXJuIG1ha2VEZWZhdWx0SGFuZGxlLmNhbGwodGhpcyl9aWYodGhpcy5pc1NtYXJ0UG9pbnRlcil7cmV0dXJuIG1ha2VDbGFzc0hhbmRsZSh0b1R5cGUucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRvVHlwZSxwdHI6ZHAsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6cHRyfSl9ZWxzZXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRvVHlwZS5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUse3B0clR5cGU6dG9UeXBlLHB0cjpkcH0pfX1mdW5jdGlvbiBpbml0X1JlZ2lzdGVyZWRQb2ludGVyKCl7UmVnaXN0ZXJlZFBvaW50ZXIucHJvdG90eXBlLmdldFBvaW50ZWU9UmVnaXN0ZXJlZFBvaW50ZXJfZ2V0UG9pbnRlZTtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGUuZGVzdHJ1Y3Rvcj1SZWdpc3RlcmVkUG9pbnRlcl9kZXN0cnVjdG9yO1JlZ2lzdGVyZWRQb2ludGVyLnByb3RvdHlwZVsiYXJnUGFja0FkdmFuY2UiXT04O1JlZ2lzdGVyZWRQb2ludGVyLnByb3RvdHlwZVsicmVhZFZhbHVlRnJvbVBvaW50ZXIiXT1zaW1wbGVSZWFkVmFsdWVGcm9tUG9pbnRlcjtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGVbImRlbGV0ZU9iamVjdCJdPVJlZ2lzdGVyZWRQb2ludGVyX2RlbGV0ZU9iamVjdDtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGVbImZyb21XaXJlVHlwZSJdPVJlZ2lzdGVyZWRQb2ludGVyX2Zyb21XaXJlVHlwZX1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcihuYW1lLHJlZ2lzdGVyZWRDbGFzcyxpc1JlZmVyZW5jZSxpc0NvbnN0LGlzU21hcnRQb2ludGVyLHBvaW50ZWVUeXBlLHNoYXJpbmdQb2xpY3kscmF3R2V0UG9pbnRlZSxyYXdDb25zdHJ1Y3RvcixyYXdTaGFyZSxyYXdEZXN0cnVjdG9yKXt0aGlzLm5hbWU9bmFtZTt0aGlzLnJlZ2lzdGVyZWRDbGFzcz1yZWdpc3RlcmVkQ2xhc3M7dGhpcy5pc1JlZmVyZW5jZT1pc1JlZmVyZW5jZTt0aGlzLmlzQ29uc3Q9aXNDb25zdDt0aGlzLmlzU21hcnRQb2ludGVyPWlzU21hcnRQb2ludGVyO3RoaXMucG9pbnRlZVR5cGU9cG9pbnRlZVR5cGU7dGhpcy5zaGFyaW5nUG9saWN5PXNoYXJpbmdQb2xpY3k7dGhpcy5yYXdHZXRQb2ludGVlPXJhd0dldFBvaW50ZWU7dGhpcy5yYXdDb25zdHJ1Y3Rvcj1yYXdDb25zdHJ1Y3Rvcjt0aGlzLnJhd1NoYXJlPXJhd1NoYXJlO3RoaXMucmF3RGVzdHJ1Y3Rvcj1yYXdEZXN0cnVjdG9yO2lmKCFpc1NtYXJ0UG9pbnRlciYmcmVnaXN0ZXJlZENsYXNzLmJhc2VDbGFzcz09PXVuZGVmaW5lZCl7aWYoaXNDb25zdCl7dGhpc1sidG9XaXJlVHlwZSJdPWNvbnN0Tm9TbWFydFB0clJhd1BvaW50ZXJUb1dpcmVUeXBlO3RoaXMuZGVzdHJ1Y3RvckZ1bmN0aW9uPW51bGx9ZWxzZXt0aGlzWyJ0b1dpcmVUeXBlIl09bm9uQ29uc3ROb1NtYXJ0UHRyUmF3UG9pbnRlclRvV2lyZVR5cGU7dGhpcy5kZXN0cnVjdG9yRnVuY3Rpb249bnVsbH19ZWxzZXt0aGlzWyJ0b1dpcmVUeXBlIl09Z2VuZXJpY1BvaW50ZXJUb1dpcmVUeXBlfX1mdW5jdGlvbiByZXBsYWNlUHVibGljU3ltYm9sKG5hbWUsdmFsdWUsbnVtQXJndW1lbnRzKXtpZighTW9kdWxlLmhhc093blByb3BlcnR5KG5hbWUpKXt0aHJvd0ludGVybmFsRXJyb3IoIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sIil9aWYodW5kZWZpbmVkIT09TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGUmJnVuZGVmaW5lZCE9PW51bUFyZ3VtZW50cyl7TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGVbbnVtQXJndW1lbnRzXT12YWx1ZX1lbHNle01vZHVsZVtuYW1lXT12YWx1ZTtNb2R1bGVbbmFtZV0uYXJnQ291bnQ9bnVtQXJndW1lbnRzfX1mdW5jdGlvbiBkeW5DYWxsTGVnYWN5KHNpZyxwdHIsYXJncyl7aWYoYXJncyYmYXJncy5sZW5ndGgpe3JldHVybiBNb2R1bGVbImR5bkNhbGxfIitzaWddLmFwcGx5KG51bGwsW3B0cl0uY29uY2F0KGFyZ3MpKX1yZXR1cm4gTW9kdWxlWyJkeW5DYWxsXyIrc2lnXS5jYWxsKG51bGwscHRyKX1mdW5jdGlvbiBkeW5DYWxsKHNpZyxwdHIsYXJncyl7aWYoc2lnLmluZGV4T2YoImoiKSE9LTEpe3JldHVybiBkeW5DYWxsTGVnYWN5KHNpZyxwdHIsYXJncyl9cmV0dXJuIHdhc21UYWJsZS5nZXQocHRyKS5hcHBseShudWxsLGFyZ3MpfWZ1bmN0aW9uIGdldER5bkNhbGxlcihzaWcscHRyKXthc3NlcnQoc2lnLmluZGV4T2YoImoiKT49MCwiZ2V0RHluQ2FsbGVyIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aXRoIGk2NCBzaWdzIik7dmFyIGFyZ0NhY2hlPVtdO3JldHVybiBmdW5jdGlvbigpe2FyZ0NhY2hlLmxlbmd0aD1hcmd1bWVudHMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspe2FyZ0NhY2hlW2ldPWFyZ3VtZW50c1tpXX1yZXR1cm4gZHluQ2FsbChzaWcscHRyLGFyZ0NhY2hlKX19ZnVuY3Rpb24gZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oc2lnbmF0dXJlLHJhd0Z1bmN0aW9uKXtzaWduYXR1cmU9cmVhZExhdGluMVN0cmluZyhzaWduYXR1cmUpO2Z1bmN0aW9uIG1ha2VEeW5DYWxsZXIoKXtpZihzaWduYXR1cmUuaW5kZXhPZigiaiIpIT0tMSl7cmV0dXJuIGdldER5bkNhbGxlcihzaWduYXR1cmUscmF3RnVuY3Rpb24pfXJldHVybiB3YXNtVGFibGUuZ2V0KHJhd0Z1bmN0aW9uKX12YXIgZnA9bWFrZUR5bkNhbGxlcigpO2lmKHR5cGVvZiBmcCE9PSJmdW5jdGlvbiIpe3Rocm93QmluZGluZ0Vycm9yKCJ1bmtub3duIGZ1bmN0aW9uIHBvaW50ZXIgd2l0aCBzaWduYXR1cmUgIitzaWduYXR1cmUrIjogIityYXdGdW5jdGlvbil9cmV0dXJuIGZwfXZhciBVbmJvdW5kVHlwZUVycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiBnZXRUeXBlTmFtZSh0eXBlKXt2YXIgcHRyPV9fX2dldFR5cGVOYW1lKHR5cGUpO3ZhciBydj1yZWFkTGF0aW4xU3RyaW5nKHB0cik7X2ZyZWUocHRyKTtyZXR1cm4gcnZ9ZnVuY3Rpb24gdGhyb3dVbmJvdW5kVHlwZUVycm9yKG1lc3NhZ2UsdHlwZXMpe3ZhciB1bmJvdW5kVHlwZXM9W107dmFyIHNlZW49e307ZnVuY3Rpb24gdmlzaXQodHlwZSl7aWYoc2Vlblt0eXBlXSl7cmV0dXJufWlmKHJlZ2lzdGVyZWRUeXBlc1t0eXBlXSl7cmV0dXJufWlmKHR5cGVEZXBlbmRlbmNpZXNbdHlwZV0pe3R5cGVEZXBlbmRlbmNpZXNbdHlwZV0uZm9yRWFjaCh2aXNpdCk7cmV0dXJufXVuYm91bmRUeXBlcy5wdXNoKHR5cGUpO3NlZW5bdHlwZV09dHJ1ZX10eXBlcy5mb3JFYWNoKHZpc2l0KTt0aHJvdyBuZXcgVW5ib3VuZFR5cGVFcnJvcihtZXNzYWdlKyI6ICIrdW5ib3VuZFR5cGVzLm1hcChnZXRUeXBlTmFtZSkuam9pbihbIiwgIl0pKX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9jbGFzcyhyYXdUeXBlLHJhd1BvaW50ZXJUeXBlLHJhd0NvbnN0UG9pbnRlclR5cGUsYmFzZUNsYXNzUmF3VHlwZSxnZXRBY3R1YWxUeXBlU2lnbmF0dXJlLGdldEFjdHVhbFR5cGUsdXBjYXN0U2lnbmF0dXJlLHVwY2FzdCxkb3duY2FzdFNpZ25hdHVyZSxkb3duY2FzdCxuYW1lLGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3Rvcil7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO2dldEFjdHVhbFR5cGU9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZ2V0QWN0dWFsVHlwZVNpZ25hdHVyZSxnZXRBY3R1YWxUeXBlKTtpZih1cGNhc3Qpe3VwY2FzdD1lbWJpbmRfX3JlcXVpcmVGdW5jdGlvbih1cGNhc3RTaWduYXR1cmUsdXBjYXN0KX1pZihkb3duY2FzdCl7ZG93bmNhc3Q9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZG93bmNhc3RTaWduYXR1cmUsZG93bmNhc3QpfXJhd0Rlc3RydWN0b3I9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZGVzdHJ1Y3RvclNpZ25hdHVyZSxyYXdEZXN0cnVjdG9yKTt2YXIgbGVnYWxGdW5jdGlvbk5hbWU9bWFrZUxlZ2FsRnVuY3Rpb25OYW1lKG5hbWUpO2V4cG9zZVB1YmxpY1N5bWJvbChsZWdhbEZ1bmN0aW9uTmFtZSxmdW5jdGlvbigpe3Rocm93VW5ib3VuZFR5cGVFcnJvcigiQ2Fubm90IGNvbnN0cnVjdCAiK25hbWUrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsW2Jhc2VDbGFzc1Jhd1R5cGVdKX0pO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtyYXdUeXBlLHJhd1BvaW50ZXJUeXBlLHJhd0NvbnN0UG9pbnRlclR5cGVdLGJhc2VDbGFzc1Jhd1R5cGU/W2Jhc2VDbGFzc1Jhd1R5cGVdOltdLGZ1bmN0aW9uKGJhc2Upe2Jhc2U9YmFzZVswXTt2YXIgYmFzZUNsYXNzO3ZhciBiYXNlUHJvdG90eXBlO2lmKGJhc2VDbGFzc1Jhd1R5cGUpe2Jhc2VDbGFzcz1iYXNlLnJlZ2lzdGVyZWRDbGFzcztiYXNlUHJvdG90eXBlPWJhc2VDbGFzcy5pbnN0YW5jZVByb3RvdHlwZX1lbHNle2Jhc2VQcm90b3R5cGU9Q2xhc3NIYW5kbGUucHJvdG90eXBlfXZhciBjb25zdHJ1Y3Rvcj1jcmVhdGVOYW1lZEZ1bmN0aW9uKGxlZ2FsRnVuY3Rpb25OYW1lLGZ1bmN0aW9uKCl7aWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpIT09aW5zdGFuY2VQcm90b3R5cGUpe3Rocm93IG5ldyBCaW5kaW5nRXJyb3IoIlVzZSAnbmV3JyB0byBjb25zdHJ1Y3QgIituYW1lKX1pZih1bmRlZmluZWQ9PT1yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keSl7dGhyb3cgbmV3IEJpbmRpbmdFcnJvcihuYW1lKyIgaGFzIG5vIGFjY2Vzc2libGUgY29uc3RydWN0b3IiKX12YXIgYm9keT1yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVthcmd1bWVudHMubGVuZ3RoXTtpZih1bmRlZmluZWQ9PT1ib2R5KXt0aHJvdyBuZXcgQmluZGluZ0Vycm9yKCJUcmllZCB0byBpbnZva2UgY3RvciBvZiAiK25hbWUrIiB3aXRoIGludmFsaWQgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCIrYXJndW1lbnRzLmxlbmd0aCsiKSAtIGV4cGVjdGVkICgiK09iamVjdC5rZXlzKHJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5KS50b1N0cmluZygpKyIpIHBhcmFtZXRlcnMgaW5zdGVhZCEiKX1yZXR1cm4gYm9keS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KTt2YXIgaW5zdGFuY2VQcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShiYXNlUHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6Y29uc3RydWN0b3J9fSk7Y29uc3RydWN0b3IucHJvdG90eXBlPWluc3RhbmNlUHJvdG90eXBlO3ZhciByZWdpc3RlcmVkQ2xhc3M9bmV3IFJlZ2lzdGVyZWRDbGFzcyhuYW1lLGNvbnN0cnVjdG9yLGluc3RhbmNlUHJvdG90eXBlLHJhd0Rlc3RydWN0b3IsYmFzZUNsYXNzLGdldEFjdHVhbFR5cGUsdXBjYXN0LGRvd25jYXN0KTt2YXIgcmVmZXJlbmNlQ29udmVydGVyPW5ldyBSZWdpc3RlcmVkUG9pbnRlcihuYW1lLHJlZ2lzdGVyZWRDbGFzcyx0cnVlLGZhbHNlLGZhbHNlKTt2YXIgcG9pbnRlckNvbnZlcnRlcj1uZXcgUmVnaXN0ZXJlZFBvaW50ZXIobmFtZSsiKiIscmVnaXN0ZXJlZENsYXNzLGZhbHNlLGZhbHNlLGZhbHNlKTt2YXIgY29uc3RQb2ludGVyQ29udmVydGVyPW5ldyBSZWdpc3RlcmVkUG9pbnRlcihuYW1lKyIgY29uc3QqIixyZWdpc3RlcmVkQ2xhc3MsZmFsc2UsdHJ1ZSxmYWxzZSk7cmVnaXN0ZXJlZFBvaW50ZXJzW3Jhd1R5cGVdPXtwb2ludGVyVHlwZTpwb2ludGVyQ29udmVydGVyLGNvbnN0UG9pbnRlclR5cGU6Y29uc3RQb2ludGVyQ29udmVydGVyfTtyZXBsYWNlUHVibGljU3ltYm9sKGxlZ2FsRnVuY3Rpb25OYW1lLGNvbnN0cnVjdG9yKTtyZXR1cm5bcmVmZXJlbmNlQ29udmVydGVyLHBvaW50ZXJDb252ZXJ0ZXIsY29uc3RQb2ludGVyQ29udmVydGVyXX0pfWZ1bmN0aW9uIGhlYXAzMlZlY3RvclRvQXJyYXkoY291bnQsZmlyc3RFbGVtZW50KXt2YXIgYXJyYXk9W107Zm9yKHZhciBpPTA7aTxjb3VudDtpKyspe2FycmF5LnB1c2goSEVBUDMyWyhmaXJzdEVsZW1lbnQ+PjIpK2ldKX1yZXR1cm4gYXJyYXl9ZnVuY3Rpb24gX19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IocmF3Q2xhc3NUeXBlLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixpbnZva2VyU2lnbmF0dXJlLGludm9rZXIscmF3Q29uc3RydWN0b3Ipe2Fzc2VydChhcmdDb3VudD4wKTt2YXIgcmF3QXJnVHlwZXM9aGVhcDMyVmVjdG9yVG9BcnJheShhcmdDb3VudCxyYXdBcmdUeXBlc0FkZHIpO2ludm9rZXI9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oaW52b2tlclNpZ25hdHVyZSxpbnZva2VyKTt2YXIgYXJncz1bcmF3Q29uc3RydWN0b3JdO3ZhciBkZXN0cnVjdG9ycz1bXTt3aGVuRGVwZW5kZW50VHlwZXNBcmVSZXNvbHZlZChbXSxbcmF3Q2xhc3NUeXBlXSxmdW5jdGlvbihjbGFzc1R5cGUpe2NsYXNzVHlwZT1jbGFzc1R5cGVbMF07dmFyIGh1bWFuTmFtZT0iY29uc3RydWN0b3IgIitjbGFzc1R5cGUubmFtZTtpZih1bmRlZmluZWQ9PT1jbGFzc1R5cGUucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHkpe2NsYXNzVHlwZS5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keT1bXX1pZih1bmRlZmluZWQhPT1jbGFzc1R5cGUucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHlbYXJnQ291bnQtMV0pe3Rocm93IG5ldyBCaW5kaW5nRXJyb3IoIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMgd2l0aCBpZGVudGljYWwgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCIrKGFyZ0NvdW50LTEpKyIpIGZvciBjbGFzcyAnIitjbGFzc1R5cGUubmFtZSsiJyEgT3ZlcmxvYWQgcmVzb2x1dGlvbiBpcyBjdXJyZW50bHkgb25seSBwZXJmb3JtZWQgdXNpbmcgdGhlIHBhcmFtZXRlciBjb3VudCwgbm90IGFjdHVhbCB0eXBlIGluZm8hIil9Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5W2FyZ0NvdW50LTFdPWZ1bmN0aW9uIHVuYm91bmRUeXBlSGFuZGxlcigpe3Rocm93VW5ib3VuZFR5cGVFcnJvcigiQ2Fubm90IGNvbnN0cnVjdCAiK2NsYXNzVHlwZS5uYW1lKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLHJhd0FyZ1R5cGVzKX07d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10scmF3QXJnVHlwZXMsZnVuY3Rpb24oYXJnVHlwZXMpe2NsYXNzVHlwZS5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVthcmdDb3VudC0xXT1mdW5jdGlvbiBjb25zdHJ1Y3Rvcl9ib2R5KCl7aWYoYXJndW1lbnRzLmxlbmd0aCE9PWFyZ0NvdW50LTEpe3Rocm93QmluZGluZ0Vycm9yKGh1bWFuTmFtZSsiIGNhbGxlZCB3aXRoICIrYXJndW1lbnRzLmxlbmd0aCsiIGFyZ3VtZW50cywgZXhwZWN0ZWQgIisoYXJnQ291bnQtMSkpfWRlc3RydWN0b3JzLmxlbmd0aD0wO2FyZ3MubGVuZ3RoPWFyZ0NvdW50O2Zvcih2YXIgaT0xO2k8YXJnQ291bnQ7KytpKXthcmdzW2ldPWFyZ1R5cGVzW2ldWyJ0b1dpcmVUeXBlIl0oZGVzdHJ1Y3RvcnMsYXJndW1lbnRzW2ktMV0pfXZhciBwdHI9aW52b2tlci5hcHBseShudWxsLGFyZ3MpO3J1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKTtyZXR1cm4gYXJnVHlwZXNbMF1bImZyb21XaXJlVHlwZSJdKHB0cil9O3JldHVybltdfSk7cmV0dXJuW119KX1mdW5jdGlvbiBuZXdfKGNvbnN0cnVjdG9yLGFyZ3VtZW50TGlzdCl7aWYoIShjb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7dGhyb3cgbmV3IFR5cGVFcnJvcigibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlICIrdHlwZW9mIGNvbnN0cnVjdG9yKyIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb24iKX12YXIgZHVtbXk9Y3JlYXRlTmFtZWRGdW5jdGlvbihjb25zdHJ1Y3Rvci5uYW1lfHwidW5rbm93bkZ1bmN0aW9uTmFtZSIsZnVuY3Rpb24oKXt9KTtkdW1teS5wcm90b3R5cGU9Y29uc3RydWN0b3IucHJvdG90eXBlO3ZhciBvYmo9bmV3IGR1bW15O3ZhciByPWNvbnN0cnVjdG9yLmFwcGx5KG9iaixhcmd1bWVudExpc3QpO3JldHVybiByIGluc3RhbmNlb2YgT2JqZWN0P3I6b2JqfWZ1bmN0aW9uIGNyYWZ0SW52b2tlckZ1bmN0aW9uKGh1bWFuTmFtZSxhcmdUeXBlcyxjbGFzc1R5cGUsY3BwSW52b2tlckZ1bmMsY3BwVGFyZ2V0RnVuYyl7dmFyIGFyZ0NvdW50PWFyZ1R5cGVzLmxlbmd0aDtpZihhcmdDb3VudDwyKXt0aHJvd0JpbmRpbmdFcnJvcigiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhIil9dmFyIGlzQ2xhc3NNZXRob2RGdW5jPWFyZ1R5cGVzWzFdIT09bnVsbCYmY2xhc3NUeXBlIT09bnVsbDt2YXIgbmVlZHNEZXN0cnVjdG9yU3RhY2s9ZmFsc2U7Zm9yKHZhciBpPTE7aTxhcmdUeXBlcy5sZW5ndGg7KytpKXtpZihhcmdUeXBlc1tpXSE9PW51bGwmJmFyZ1R5cGVzW2ldLmRlc3RydWN0b3JGdW5jdGlvbj09PXVuZGVmaW5lZCl7bmVlZHNEZXN0cnVjdG9yU3RhY2s9dHJ1ZTticmVha319dmFyIHJldHVybnM9YXJnVHlwZXNbMF0ubmFtZSE9PSJ2b2lkIjt2YXIgYXJnc0xpc3Q9IiI7dmFyIGFyZ3NMaXN0V2lyZWQ9IiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudC0yOysraSl7YXJnc0xpc3QrPShpIT09MD8iLCAiOiIiKSsiYXJnIitpO2FyZ3NMaXN0V2lyZWQrPShpIT09MD8iLCAiOiIiKSsiYXJnIitpKyJXaXJlZCJ9dmFyIGludm9rZXJGbkJvZHk9InJldHVybiBmdW5jdGlvbiAiK21ha2VMZWdhbEZ1bmN0aW9uTmFtZShodW1hbk5hbWUpKyIoIithcmdzTGlzdCsiKSB7XG4iKyJpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gIisoYXJnQ291bnQtMikrIikge1xuIisidGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uICIraHVtYW5OYW1lKyIgY2FsbGVkIHdpdGggJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0ZWQgIisoYXJnQ291bnQtMikrIiBhcmdzIScpO1xuIisifVxuIjtpZihuZWVkc0Rlc3RydWN0b3JTdGFjayl7aW52b2tlckZuQm9keSs9InZhciBkZXN0cnVjdG9ycyA9IFtdO1xuIn12YXIgZHRvclN0YWNrPW5lZWRzRGVzdHJ1Y3RvclN0YWNrPyJkZXN0cnVjdG9ycyI6Im51bGwiO3ZhciBhcmdzMT1bInRocm93QmluZGluZ0Vycm9yIiwiaW52b2tlciIsImZuIiwicnVuRGVzdHJ1Y3RvcnMiLCJyZXRUeXBlIiwiY2xhc3NQYXJhbSJdO3ZhciBhcmdzMj1bdGhyb3dCaW5kaW5nRXJyb3IsY3BwSW52b2tlckZ1bmMsY3BwVGFyZ2V0RnVuYyxydW5EZXN0cnVjdG9ycyxhcmdUeXBlc1swXSxhcmdUeXBlc1sxXV07aWYoaXNDbGFzc01ldGhvZEZ1bmMpe2ludm9rZXJGbkJvZHkrPSJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKCIrZHRvclN0YWNrKyIsIHRoaXMpO1xuIn1mb3IodmFyIGk9MDtpPGFyZ0NvdW50LTI7KytpKXtpbnZva2VyRm5Cb2R5Kz0idmFyIGFyZyIraSsiV2lyZWQgPSBhcmdUeXBlIitpKyIudG9XaXJlVHlwZSgiK2R0b3JTdGFjaysiLCBhcmciK2krIik7IC8vICIrYXJnVHlwZXNbaSsyXS5uYW1lKyJcbiI7YXJnczEucHVzaCgiYXJnVHlwZSIraSk7YXJnczIucHVzaChhcmdUeXBlc1tpKzJdKX1pZihpc0NsYXNzTWV0aG9kRnVuYyl7YXJnc0xpc3RXaXJlZD0idGhpc1dpcmVkIisoYXJnc0xpc3RXaXJlZC5sZW5ndGg+MD8iLCAiOiIiKSthcmdzTGlzdFdpcmVkfWludm9rZXJGbkJvZHkrPShyZXR1cm5zPyJ2YXIgcnYgPSAiOiIiKSsiaW52b2tlcihmbiIrKGFyZ3NMaXN0V2lyZWQubGVuZ3RoPjA/IiwgIjoiIikrYXJnc0xpc3RXaXJlZCsiKTtcbiI7aWYobmVlZHNEZXN0cnVjdG9yU3RhY2spe2ludm9rZXJGbkJvZHkrPSJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XG4ifWVsc2V7Zm9yKHZhciBpPWlzQ2xhc3NNZXRob2RGdW5jPzE6MjtpPGFyZ1R5cGVzLmxlbmd0aDsrK2kpe3ZhciBwYXJhbU5hbWU9aT09PTE/InRoaXNXaXJlZCI6ImFyZyIrKGktMikrIldpcmVkIjtpZihhcmdUeXBlc1tpXS5kZXN0cnVjdG9yRnVuY3Rpb24hPT1udWxsKXtpbnZva2VyRm5Cb2R5Kz1wYXJhbU5hbWUrIl9kdG9yKCIrcGFyYW1OYW1lKyIpOyAvLyAiK2FyZ1R5cGVzW2ldLm5hbWUrIlxuIjthcmdzMS5wdXNoKHBhcmFtTmFtZSsiX2R0b3IiKTthcmdzMi5wdXNoKGFyZ1R5cGVzW2ldLmRlc3RydWN0b3JGdW5jdGlvbil9fX1pZihyZXR1cm5zKXtpbnZva2VyRm5Cb2R5Kz0idmFyIHJldCA9IHJldFR5cGUuZnJvbVdpcmVUeXBlKHJ2KTtcbiIrInJldHVybiByZXQ7XG4ifWVsc2V7fWludm9rZXJGbkJvZHkrPSJ9XG4iO2FyZ3MxLnB1c2goaW52b2tlckZuQm9keSk7dmFyIGludm9rZXJGdW5jdGlvbj1uZXdfKEZ1bmN0aW9uLGFyZ3MxKS5hcHBseShudWxsLGFyZ3MyKTtyZXR1cm4gaW52b2tlckZ1bmN0aW9ufWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uKHJhd0NsYXNzVHlwZSxtZXRob2ROYW1lLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixpbnZva2VyU2lnbmF0dXJlLHJhd0ludm9rZXIsY29udGV4dCxpc1B1cmVWaXJ0dWFsKXt2YXIgcmF3QXJnVHlwZXM9aGVhcDMyVmVjdG9yVG9BcnJheShhcmdDb3VudCxyYXdBcmdUeXBlc0FkZHIpO21ldGhvZE5hbWU9cmVhZExhdGluMVN0cmluZyhtZXRob2ROYW1lKTtyYXdJbnZva2VyPWVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGludm9rZXJTaWduYXR1cmUscmF3SW52b2tlcik7d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10sW3Jhd0NsYXNzVHlwZV0sZnVuY3Rpb24oY2xhc3NUeXBlKXtjbGFzc1R5cGU9Y2xhc3NUeXBlWzBdO3ZhciBodW1hbk5hbWU9Y2xhc3NUeXBlLm5hbWUrIi4iK21ldGhvZE5hbWU7aWYoaXNQdXJlVmlydHVhbCl7Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5wdXJlVmlydHVhbEZ1bmN0aW9ucy5wdXNoKG1ldGhvZE5hbWUpfWZ1bmN0aW9uIHVuYm91bmRUeXBlc0hhbmRsZXIoKXt0aHJvd1VuYm91bmRUeXBlRXJyb3IoIkNhbm5vdCBjYWxsICIraHVtYW5OYW1lKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLHJhd0FyZ1R5cGVzKX12YXIgcHJvdG89Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZTt2YXIgbWV0aG9kPXByb3RvW21ldGhvZE5hbWVdO2lmKHVuZGVmaW5lZD09PW1ldGhvZHx8dW5kZWZpbmVkPT09bWV0aG9kLm92ZXJsb2FkVGFibGUmJm1ldGhvZC5jbGFzc05hbWUhPT1jbGFzc1R5cGUubmFtZSYmbWV0aG9kLmFyZ0NvdW50PT09YXJnQ291bnQtMil7dW5ib3VuZFR5cGVzSGFuZGxlci5hcmdDb3VudD1hcmdDb3VudC0yO3VuYm91bmRUeXBlc0hhbmRsZXIuY2xhc3NOYW1lPWNsYXNzVHlwZS5uYW1lO3Byb3RvW21ldGhvZE5hbWVdPXVuYm91bmRUeXBlc0hhbmRsZXJ9ZWxzZXtlbnN1cmVPdmVybG9hZFRhYmxlKHByb3RvLG1ldGhvZE5hbWUsaHVtYW5OYW1lKTtwcm90b1ttZXRob2ROYW1lXS5vdmVybG9hZFRhYmxlW2FyZ0NvdW50LTJdPXVuYm91bmRUeXBlc0hhbmRsZXJ9d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10scmF3QXJnVHlwZXMsZnVuY3Rpb24oYXJnVHlwZXMpe3ZhciBtZW1iZXJGdW5jdGlvbj1jcmFmdEludm9rZXJGdW5jdGlvbihodW1hbk5hbWUsYXJnVHlwZXMsY2xhc3NUeXBlLHJhd0ludm9rZXIsY29udGV4dCk7aWYodW5kZWZpbmVkPT09cHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZSl7bWVtYmVyRnVuY3Rpb24uYXJnQ291bnQ9YXJnQ291bnQtMjtwcm90b1ttZXRob2ROYW1lXT1tZW1iZXJGdW5jdGlvbn1lbHNle3Byb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGVbYXJnQ291bnQtMl09bWVtYmVyRnVuY3Rpb259cmV0dXJuW119KTtyZXR1cm5bXX0pfWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2NvbnN0YW50KG5hbWUsdHlwZSx2YWx1ZSl7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtdLFt0eXBlXSxmdW5jdGlvbih0eXBlKXt0eXBlPXR5cGVbMF07TW9kdWxlW25hbWVdPXR5cGVbImZyb21XaXJlVHlwZSJdKHZhbHVlKTtyZXR1cm5bXX0pfXZhciBlbXZhbF9mcmVlX2xpc3Q9W107dmFyIGVtdmFsX2hhbmRsZV9hcnJheT1be30se3ZhbHVlOnVuZGVmaW5lZH0se3ZhbHVlOm51bGx9LHt2YWx1ZTp0cnVlfSx7dmFsdWU6ZmFsc2V9XTtmdW5jdGlvbiBfX2VtdmFsX2RlY3JlZihoYW5kbGUpe2lmKGhhbmRsZT40JiYwPT09LS1lbXZhbF9oYW5kbGVfYXJyYXlbaGFuZGxlXS5yZWZjb3VudCl7ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV09dW5kZWZpbmVkO2VtdmFsX2ZyZWVfbGlzdC5wdXNoKGhhbmRsZSl9fWZ1bmN0aW9uIGNvdW50X2VtdmFsX2hhbmRsZXMoKXt2YXIgY291bnQ9MDtmb3IodmFyIGk9NTtpPGVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7KytpKXtpZihlbXZhbF9oYW5kbGVfYXJyYXlbaV0hPT11bmRlZmluZWQpeysrY291bnR9fXJldHVybiBjb3VudH1mdW5jdGlvbiBnZXRfZmlyc3RfZW12YWwoKXtmb3IodmFyIGk9NTtpPGVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7KytpKXtpZihlbXZhbF9oYW5kbGVfYXJyYXlbaV0hPT11bmRlZmluZWQpe3JldHVybiBlbXZhbF9oYW5kbGVfYXJyYXlbaV19fXJldHVybiBudWxsfWZ1bmN0aW9uIGluaXRfZW12YWwoKXtNb2R1bGVbImNvdW50X2VtdmFsX2hhbmRsZXMiXT1jb3VudF9lbXZhbF9oYW5kbGVzO01vZHVsZVsiZ2V0X2ZpcnN0X2VtdmFsIl09Z2V0X2ZpcnN0X2VtdmFsfWZ1bmN0aW9uIF9fZW12YWxfcmVnaXN0ZXIodmFsdWUpe3N3aXRjaCh2YWx1ZSl7Y2FzZSB1bmRlZmluZWQ6e3JldHVybiAxfWNhc2UgbnVsbDp7cmV0dXJuIDJ9Y2FzZSB0cnVlOntyZXR1cm4gM31jYXNlIGZhbHNlOntyZXR1cm4gNH1kZWZhdWx0Ont2YXIgaGFuZGxlPWVtdmFsX2ZyZWVfbGlzdC5sZW5ndGg/ZW12YWxfZnJlZV9saXN0LnBvcCgpOmVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV09e3JlZmNvdW50OjEsdmFsdWU6dmFsdWV9O3JldHVybiBoYW5kbGV9fX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9lbXZhbChyYXdUeXBlLG5hbWUpe25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKGhhbmRsZSl7dmFyIHJ2PWVtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnZhbHVlO19fZW12YWxfZGVjcmVmKGhhbmRsZSk7cmV0dXJuIHJ2fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsdmFsdWUpe3JldHVybiBfX2VtdmFsX3JlZ2lzdGVyKHZhbHVlKX0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBlbnVtUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxzaWduZWQpe3N3aXRjaChzaGlmdCl7Y2FzZSAwOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXt2YXIgaGVhcD1zaWduZWQ/SEVBUDg6SEVBUFU4O3JldHVybiB0aGlzWyJmcm9tV2lyZVR5cGUiXShoZWFwW3BvaW50ZXJdKX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXt2YXIgaGVhcD1zaWduZWQ/SEVBUDE2OkhFQVBVMTY7cmV0dXJuIHRoaXNbImZyb21XaXJlVHlwZSJdKGhlYXBbcG9pbnRlcj4+MV0pfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHBvaW50ZXIpe3ZhciBoZWFwPXNpZ25lZD9IRUFQMzI6SEVBUFUzMjtyZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oaGVhcFtwb2ludGVyPj4yXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBpbnRlZ2VyIHR5cGU6ICIrbmFtZSl9fWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2VudW0ocmF3VHlwZSxuYW1lLHNpemUsaXNTaWduZWQpe3ZhciBzaGlmdD1nZXRTaGlmdEZyb21TaXplKHNpemUpO25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtmdW5jdGlvbiBjdG9yKCl7fWN0b3IudmFsdWVzPXt9O3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsY29uc3RydWN0b3I6Y3RvciwiZnJvbVdpcmVUeXBlIjpmdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci52YWx1ZXNbY119LCJ0b1dpcmVUeXBlIjpmdW5jdGlvbihkZXN0cnVjdG9ycyxjKXtyZXR1cm4gYy52YWx1ZX0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6ZW51bVJlYWRWYWx1ZUZyb21Qb2ludGVyKG5hbWUsc2hpZnQsaXNTaWduZWQpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSk7ZXhwb3NlUHVibGljU3ltYm9sKG5hbWUsY3Rvcil9ZnVuY3Rpb24gcmVxdWlyZVJlZ2lzdGVyZWRUeXBlKHJhd1R5cGUsaHVtYW5OYW1lKXt2YXIgaW1wbD1yZWdpc3RlcmVkVHlwZXNbcmF3VHlwZV07aWYodW5kZWZpbmVkPT09aW1wbCl7dGhyb3dCaW5kaW5nRXJyb3IoaHVtYW5OYW1lKyIgaGFzIHVua25vd24gdHlwZSAiK2dldFR5cGVOYW1lKHJhd1R5cGUpKX1yZXR1cm4gaW1wbH1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9lbnVtX3ZhbHVlKHJhd0VudW1UeXBlLG5hbWUsZW51bVZhbHVlKXt2YXIgZW51bVR5cGU9cmVxdWlyZVJlZ2lzdGVyZWRUeXBlKHJhd0VudW1UeXBlLCJlbnVtIik7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3ZhciBFbnVtPWVudW1UeXBlLmNvbnN0cnVjdG9yO3ZhciBWYWx1ZT1PYmplY3QuY3JlYXRlKGVudW1UeXBlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSx7dmFsdWU6e3ZhbHVlOmVudW1WYWx1ZX0sY29uc3RydWN0b3I6e3ZhbHVlOmNyZWF0ZU5hbWVkRnVuY3Rpb24oZW51bVR5cGUubmFtZSsiXyIrbmFtZSxmdW5jdGlvbigpe30pfX0pO0VudW0udmFsdWVzW2VudW1WYWx1ZV09VmFsdWU7RW51bVtuYW1lXT1WYWx1ZX1mdW5jdGlvbiBfZW1iaW5kX3JlcHIodil7aWYodj09PW51bGwpe3JldHVybiJudWxsIn12YXIgdD10eXBlb2YgdjtpZih0PT09Im9iamVjdCJ8fHQ9PT0iYXJyYXkifHx0PT09ImZ1bmN0aW9uIil7cmV0dXJuIHYudG9TdHJpbmcoKX1lbHNle3JldHVybiIiK3Z9fWZ1bmN0aW9uIGZsb2F0UmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCl7c3dpdGNoKHNoaWZ0KXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHBvaW50ZXIpe3JldHVybiB0aGlzWyJmcm9tV2lyZVR5cGUiXShIRUFQRjMyW3BvaW50ZXI+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXtyZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oSEVBUEY2NFtwb2ludGVyPj4zXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBmbG9hdCB0eXBlOiAiK25hbWUpfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9mbG9hdChyYXdUeXBlLG5hbWUsc2l6ZSl7dmFyIHNoaWZ0PWdldFNoaWZ0RnJvbVNpemUoc2l6ZSk7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZX0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ibnVtYmVyIiYmdHlwZW9mIHZhbHVlIT09ImJvb2xlYW4iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCAiJytfZW1iaW5kX3JlcHIodmFsdWUpKyciIHRvICcrdGhpcy5uYW1lKX1yZXR1cm4gdmFsdWV9LCJhcmdQYWNrQWR2YW5jZSI6OCwicmVhZFZhbHVlRnJvbVBvaW50ZXIiOmZsb2F0UmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbihuYW1lLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixzaWduYXR1cmUscmF3SW52b2tlcixmbil7dmFyIGFyZ1R5cGVzPWhlYXAzMlZlY3RvclRvQXJyYXkoYXJnQ291bnQscmF3QXJnVHlwZXNBZGRyKTtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7cmF3SW52b2tlcj1lbWJpbmRfX3JlcXVpcmVGdW5jdGlvbihzaWduYXR1cmUscmF3SW52b2tlcik7ZXhwb3NlUHVibGljU3ltYm9sKG5hbWUsZnVuY3Rpb24oKXt0aHJvd1VuYm91bmRUeXBlRXJyb3IoIkNhbm5vdCBjYWxsICIrbmFtZSsiIGR1ZSB0byB1bmJvdW5kIHR5cGVzIixhcmdUeXBlcyl9LGFyZ0NvdW50LTEpO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtdLGFyZ1R5cGVzLGZ1bmN0aW9uKGFyZ1R5cGVzKXt2YXIgaW52b2tlckFyZ3NBcnJheT1bYXJnVHlwZXNbMF0sbnVsbF0uY29uY2F0KGFyZ1R5cGVzLnNsaWNlKDEpKTtyZXBsYWNlUHVibGljU3ltYm9sKG5hbWUsY3JhZnRJbnZva2VyRnVuY3Rpb24obmFtZSxpbnZva2VyQXJnc0FycmF5LG51bGwscmF3SW52b2tlcixmbiksYXJnQ291bnQtMSk7cmV0dXJuW119KX1mdW5jdGlvbiBpbnRlZ2VyUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxzaWduZWQpe3N3aXRjaChzaGlmdCl7Y2FzZSAwOnJldHVybiBzaWduZWQ/ZnVuY3Rpb24gcmVhZFM4RnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVA4W3BvaW50ZXJdfTpmdW5jdGlvbiByZWFkVThGcm9tUG9pbnRlcihwb2ludGVyKXtyZXR1cm4gSEVBUFU4W3BvaW50ZXJdfTtjYXNlIDE6cmV0dXJuIHNpZ25lZD9mdW5jdGlvbiByZWFkUzE2RnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVAxNltwb2ludGVyPj4xXX06ZnVuY3Rpb24gcmVhZFUxNkZyb21Qb2ludGVyKHBvaW50ZXIpe3JldHVybiBIRUFQVTE2W3BvaW50ZXI+PjFdfTtjYXNlIDI6cmV0dXJuIHNpZ25lZD9mdW5jdGlvbiByZWFkUzMyRnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVAzMltwb2ludGVyPj4yXX06ZnVuY3Rpb24gcmVhZFUzMkZyb21Qb2ludGVyKHBvaW50ZXIpe3JldHVybiBIRUFQVTMyW3BvaW50ZXI+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gaW50ZWdlciB0eXBlOiAiK25hbWUpfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyKHByaW1pdGl2ZVR5cGUsbmFtZSxzaXplLG1pblJhbmdlLG1heFJhbmdlKXtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7aWYobWF4UmFuZ2U9PT0tMSl7bWF4UmFuZ2U9NDI5NDk2NzI5NX12YXIgc2hpZnQ9Z2V0U2hpZnRGcm9tU2l6ZShzaXplKTt2YXIgZnJvbVdpcmVUeXBlPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gdmFsdWV9O2lmKG1pblJhbmdlPT09MCl7dmFyIGJpdHNoaWZ0PTMyLTgqc2l6ZTtmcm9tV2lyZVR5cGU9ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZTw8Yml0c2hpZnQ+Pj5iaXRzaGlmdH19dmFyIGlzVW5zaWduZWRUeXBlPW5hbWUuaW5kZXhPZigidW5zaWduZWQiKSE9LTE7cmVnaXN0ZXJUeXBlKHByaW1pdGl2ZVR5cGUse25hbWU6bmFtZSwiZnJvbVdpcmVUeXBlIjpmcm9tV2lyZVR5cGUsInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ibnVtYmVyIiYmdHlwZW9mIHZhbHVlIT09ImJvb2xlYW4iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCAiJytfZW1iaW5kX3JlcHIodmFsdWUpKyciIHRvICcrdGhpcy5uYW1lKX1pZih2YWx1ZTxtaW5SYW5nZXx8dmFsdWU+bWF4UmFuZ2Upe3Rocm93IG5ldyBUeXBlRXJyb3IoJ1Bhc3NpbmcgYSBudW1iZXIgIicrX2VtYmluZF9yZXByKHZhbHVlKSsnIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlICInK25hbWUrJyIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK21pblJhbmdlKyIsICIrbWF4UmFuZ2UrIl0hIil9cmV0dXJuIGlzVW5zaWduZWRUeXBlP3ZhbHVlPj4+MDp2YWx1ZXwwfSwiYXJnUGFja0FkdmFuY2UiOjgsInJlYWRWYWx1ZUZyb21Qb2ludGVyIjppbnRlZ2VyUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxtaW5SYW5nZSE9PTApLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gX19lbWJpbmRfcmVnaXN0ZXJfbWVtb3J5X3ZpZXcocmF3VHlwZSxkYXRhVHlwZUluZGV4LG5hbWUpe3ZhciB0eXBlTWFwcGluZz1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldO3ZhciBUQT10eXBlTWFwcGluZ1tkYXRhVHlwZUluZGV4XTtmdW5jdGlvbiBkZWNvZGVNZW1vcnlWaWV3KGhhbmRsZSl7aGFuZGxlPWhhbmRsZT4+Mjt2YXIgaGVhcD1IRUFQVTMyO3ZhciBzaXplPWhlYXBbaGFuZGxlXTt2YXIgZGF0YT1oZWFwW2hhbmRsZSsxXTtyZXR1cm4gbmV3IFRBKGJ1ZmZlcixkYXRhLHNpemUpfW5hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmRlY29kZU1lbW9yeVZpZXcsImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6ZGVjb2RlTWVtb3J5Vmlld30se2lnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnM6dHJ1ZX0pfWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX3N0ZF9zdHJpbmcocmF3VHlwZSxuYW1lKXtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7dmFyIHN0ZFN0cmluZ0lzVVRGOD1uYW1lPT09InN0ZDo6c3RyaW5nIjtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKHZhbHVlKXt2YXIgbGVuZ3RoPUhFQVBVMzJbdmFsdWU+PjJdO3ZhciBzdHI7aWYoc3RkU3RyaW5nSXNVVEY4KXt2YXIgZGVjb2RlU3RhcnRQdHI9dmFsdWUrNDtmb3IodmFyIGk9MDtpPD1sZW5ndGg7KytpKXt2YXIgY3VycmVudEJ5dGVQdHI9dmFsdWUrNCtpO2lmKGk9PWxlbmd0aHx8SEVBUFU4W2N1cnJlbnRCeXRlUHRyXT09MCl7dmFyIG1heFJlYWQ9Y3VycmVudEJ5dGVQdHItZGVjb2RlU3RhcnRQdHI7dmFyIHN0cmluZ1NlZ21lbnQ9VVRGOFRvU3RyaW5nKGRlY29kZVN0YXJ0UHRyLG1heFJlYWQpO2lmKHN0cj09PXVuZGVmaW5lZCl7c3RyPXN0cmluZ1NlZ21lbnR9ZWxzZXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCk7c3RyKz1zdHJpbmdTZWdtZW50fWRlY29kZVN0YXJ0UHRyPWN1cnJlbnRCeXRlUHRyKzF9fX1lbHNle3ZhciBhPW5ldyBBcnJheShsZW5ndGgpO2Zvcih2YXIgaT0wO2k8bGVuZ3RoOysraSl7YVtpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEhFQVBVOFt2YWx1ZSs0K2ldKX1zdHI9YS5qb2luKCIiKX1fZnJlZSh2YWx1ZSk7cmV0dXJuIHN0cn0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXt2YWx1ZT1uZXcgVWludDhBcnJheSh2YWx1ZSl9dmFyIGdldExlbmd0aDt2YXIgdmFsdWVJc09mVHlwZVN0cmluZz10eXBlb2YgdmFsdWU9PT0ic3RyaW5nIjtpZighKHZhbHVlSXNPZlR5cGVTdHJpbmd8fHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheXx8dmFsdWUgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8dmFsdWUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZyIpfWlmKHN0ZFN0cmluZ0lzVVRGOCYmdmFsdWVJc09mVHlwZVN0cmluZyl7Z2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIGxlbmd0aEJ5dGVzVVRGOCh2YWx1ZSl9fWVsc2V7Z2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHZhbHVlLmxlbmd0aH19dmFyIGxlbmd0aD1nZXRMZW5ndGgoKTt2YXIgcHRyPV9tYWxsb2MoNCtsZW5ndGgrMSk7SEVBUFUzMltwdHI+PjJdPWxlbmd0aDtpZihzdGRTdHJpbmdJc1VURjgmJnZhbHVlSXNPZlR5cGVTdHJpbmcpe3N0cmluZ1RvVVRGOCh2YWx1ZSxwdHIrNCxsZW5ndGgrMSl9ZWxzZXtpZih2YWx1ZUlzT2ZUeXBlU3RyaW5nKXtmb3IodmFyIGk9MDtpPGxlbmd0aDsrK2kpe3ZhciBjaGFyQ29kZT12YWx1ZS5jaGFyQ29kZUF0KGkpO2lmKGNoYXJDb2RlPjI1NSl7X2ZyZWUocHRyKTt0aHJvd0JpbmRpbmdFcnJvcigiU3RyaW5nIGhhcyBVVEYtMTYgY29kZSB1bml0cyB0aGF0IGRvIG5vdCBmaXQgaW4gOCBiaXRzIil9SEVBUFU4W3B0cis0K2ldPWNoYXJDb2RlfX1lbHNle2Zvcih2YXIgaT0wO2k8bGVuZ3RoOysraSl7SEVBUFU4W3B0cis0K2ldPXZhbHVlW2ldfX19aWYoZGVzdHJ1Y3RvcnMhPT1udWxsKXtkZXN0cnVjdG9ycy5wdXNoKF9mcmVlLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKHB0cil7X2ZyZWUocHRyKX19KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZyhyYXdUeXBlLGNoYXJTaXplLG5hbWUpe25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTt2YXIgZGVjb2RlU3RyaW5nLGVuY29kZVN0cmluZyxnZXRIZWFwLGxlbmd0aEJ5dGVzVVRGLHNoaWZ0O2lmKGNoYXJTaXplPT09Mil7ZGVjb2RlU3RyaW5nPVVURjE2VG9TdHJpbmc7ZW5jb2RlU3RyaW5nPXN0cmluZ1RvVVRGMTY7bGVuZ3RoQnl0ZXNVVEY9bGVuZ3RoQnl0ZXNVVEYxNjtnZXRIZWFwPWZ1bmN0aW9uKCl7cmV0dXJuIEhFQVBVMTZ9O3NoaWZ0PTF9ZWxzZSBpZihjaGFyU2l6ZT09PTQpe2RlY29kZVN0cmluZz1VVEYzMlRvU3RyaW5nO2VuY29kZVN0cmluZz1zdHJpbmdUb1VURjMyO2xlbmd0aEJ5dGVzVVRGPWxlbmd0aEJ5dGVzVVRGMzI7Z2V0SGVhcD1mdW5jdGlvbigpe3JldHVybiBIRUFQVTMyfTtzaGlmdD0yfXJlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24odmFsdWUpe3ZhciBsZW5ndGg9SEVBUFUzMlt2YWx1ZT4+Ml07dmFyIEhFQVA9Z2V0SGVhcCgpO3ZhciBzdHI7dmFyIGRlY29kZVN0YXJ0UHRyPXZhbHVlKzQ7Zm9yKHZhciBpPTA7aTw9bGVuZ3RoOysraSl7dmFyIGN1cnJlbnRCeXRlUHRyPXZhbHVlKzQraSpjaGFyU2l6ZTtpZihpPT1sZW5ndGh8fEhFQVBbY3VycmVudEJ5dGVQdHI+PnNoaWZ0XT09MCl7dmFyIG1heFJlYWRCeXRlcz1jdXJyZW50Qnl0ZVB0ci1kZWNvZGVTdGFydFB0cjt2YXIgc3RyaW5nU2VnbWVudD1kZWNvZGVTdHJpbmcoZGVjb2RlU3RhcnRQdHIsbWF4UmVhZEJ5dGVzKTtpZihzdHI9PT11bmRlZmluZWQpe3N0cj1zdHJpbmdTZWdtZW50fWVsc2V7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApO3N0cis9c3RyaW5nU2VnbWVudH1kZWNvZGVTdGFydFB0cj1jdXJyZW50Qnl0ZVB0citjaGFyU2l6ZX19X2ZyZWUodmFsdWUpO3JldHVybiBzdHJ9LCJ0b1dpcmVUeXBlIjpmdW5jdGlvbihkZXN0cnVjdG9ycyx2YWx1ZSl7aWYoISh0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIikpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIEMrKyBzdHJpbmcgdHlwZSAiK25hbWUpfXZhciBsZW5ndGg9bGVuZ3RoQnl0ZXNVVEYodmFsdWUpO3ZhciBwdHI9X21hbGxvYyg0K2xlbmd0aCtjaGFyU2l6ZSk7SEVBUFUzMltwdHI+PjJdPWxlbmd0aD4+c2hpZnQ7ZW5jb2RlU3RyaW5nKHZhbHVlLHB0cis0LGxlbmd0aCtjaGFyU2l6ZSk7aWYoZGVzdHJ1Y3RvcnMhPT1udWxsKXtkZXN0cnVjdG9ycy5wdXNoKF9mcmVlLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKHB0cil7X2ZyZWUocHRyKX19KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3QocmF3VHlwZSxuYW1lLGNvbnN0cnVjdG9yU2lnbmF0dXJlLHJhd0NvbnN0cnVjdG9yLGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3Rvcil7c3RydWN0UmVnaXN0cmF0aW9uc1tyYXdUeXBlXT17bmFtZTpyZWFkTGF0aW4xU3RyaW5nKG5hbWUpLHJhd0NvbnN0cnVjdG9yOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGNvbnN0cnVjdG9yU2lnbmF0dXJlLHJhd0NvbnN0cnVjdG9yKSxyYXdEZXN0cnVjdG9yOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3RvciksZmllbGRzOltdfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3RfZmllbGQoc3RydWN0VHlwZSxmaWVsZE5hbWUsZ2V0dGVyUmV0dXJuVHlwZSxnZXR0ZXJTaWduYXR1cmUsZ2V0dGVyLGdldHRlckNvbnRleHQsc2V0dGVyQXJndW1lbnRUeXBlLHNldHRlclNpZ25hdHVyZSxzZXR0ZXIsc2V0dGVyQ29udGV4dCl7c3RydWN0UmVnaXN0cmF0aW9uc1tzdHJ1Y3RUeXBlXS5maWVsZHMucHVzaCh7ZmllbGROYW1lOnJlYWRMYXRpbjFTdHJpbmcoZmllbGROYW1lKSxnZXR0ZXJSZXR1cm5UeXBlOmdldHRlclJldHVyblR5cGUsZ2V0dGVyOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGdldHRlclNpZ25hdHVyZSxnZXR0ZXIpLGdldHRlckNvbnRleHQ6Z2V0dGVyQ29udGV4dCxzZXR0ZXJBcmd1bWVudFR5cGU6c2V0dGVyQXJndW1lbnRUeXBlLHNldHRlcjplbWJpbmRfX3JlcXVpcmVGdW5jdGlvbihzZXR0ZXJTaWduYXR1cmUsc2V0dGVyKSxzZXR0ZXJDb250ZXh0OnNldHRlckNvbnRleHR9KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92b2lkKHJhd1R5cGUsbmFtZSl7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtpc1ZvaWQ6dHJ1ZSxuYW1lOm5hbWUsImFyZ1BhY2tBZHZhbmNlIjowLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKCl7cmV0dXJuIHVuZGVmaW5lZH0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLG8pe3JldHVybiB1bmRlZmluZWR9fSl9ZnVuY3Rpb24gcmVxdWlyZUhhbmRsZShoYW5kbGUpe2lmKCFoYW5kbGUpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgdXNlIGRlbGV0ZWQgdmFsLiBoYW5kbGUgPSAiK2hhbmRsZSl9cmV0dXJuIGVtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnZhbHVlfWZ1bmN0aW9uIF9fZW12YWxfYXMoaGFuZGxlLHJldHVyblR5cGUsZGVzdHJ1Y3RvcnNSZWYpe2hhbmRsZT1yZXF1aXJlSGFuZGxlKGhhbmRsZSk7cmV0dXJuVHlwZT1yZXF1aXJlUmVnaXN0ZXJlZFR5cGUocmV0dXJuVHlwZSwiZW12YWw6OmFzIik7dmFyIGRlc3RydWN0b3JzPVtdO3ZhciByZD1fX2VtdmFsX3JlZ2lzdGVyKGRlc3RydWN0b3JzKTtIRUFQMzJbZGVzdHJ1Y3RvcnNSZWY+PjJdPXJkO3JldHVybiByZXR1cm5UeXBlWyJ0b1dpcmVUeXBlIl0oZGVzdHJ1Y3RvcnMsaGFuZGxlKX12YXIgZW12YWxfc3ltYm9scz17fTtmdW5jdGlvbiBnZXRTdHJpbmdPclN5bWJvbChhZGRyZXNzKXt2YXIgc3ltYm9sPWVtdmFsX3N5bWJvbHNbYWRkcmVzc107aWYoc3ltYm9sPT09dW5kZWZpbmVkKXtyZXR1cm4gcmVhZExhdGluMVN0cmluZyhhZGRyZXNzKX1lbHNle3JldHVybiBzeW1ib2x9fXZhciBlbXZhbF9tZXRob2RDYWxsZXJzPVtdO2Z1bmN0aW9uIF9fZW12YWxfY2FsbF92b2lkX21ldGhvZChjYWxsZXIsaGFuZGxlLG1ldGhvZE5hbWUsYXJncyl7Y2FsbGVyPWVtdmFsX21ldGhvZENhbGxlcnNbY2FsbGVyXTtoYW5kbGU9cmVxdWlyZUhhbmRsZShoYW5kbGUpO21ldGhvZE5hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobWV0aG9kTmFtZSk7Y2FsbGVyKGhhbmRsZSxtZXRob2ROYW1lLG51bGwsYXJncyl9ZnVuY3Rpb24gZW12YWxfZ2V0X2dsb2JhbCgpe2lmKHR5cGVvZiBnbG9iYWxUaGlzPT09Im9iamVjdCIpe3JldHVybiBnbG9iYWxUaGlzfXJldHVybiBmdW5jdGlvbigpe3JldHVybiBGdW5jdGlvbn0oKSgicmV0dXJuIHRoaXMiKSgpfWZ1bmN0aW9uIF9fZW12YWxfZ2V0X2dsb2JhbChuYW1lKXtpZihuYW1lPT09MCl7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoZW12YWxfZ2V0X2dsb2JhbCgpKX1lbHNle25hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobmFtZSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoZW12YWxfZ2V0X2dsb2JhbCgpW25hbWVdKX19ZnVuY3Rpb24gX19lbXZhbF9hZGRNZXRob2RDYWxsZXIoY2FsbGVyKXt2YXIgaWQ9ZW12YWxfbWV0aG9kQ2FsbGVycy5sZW5ndGg7ZW12YWxfbWV0aG9kQ2FsbGVycy5wdXNoKGNhbGxlcik7cmV0dXJuIGlkfWZ1bmN0aW9uIF9fZW12YWxfbG9va3VwVHlwZXMoYXJnQ291bnQsYXJnVHlwZXMpe3ZhciBhPW5ldyBBcnJheShhcmdDb3VudCk7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2FbaV09cmVxdWlyZVJlZ2lzdGVyZWRUeXBlKEhFQVAzMlsoYXJnVHlwZXM+PjIpK2ldLCJwYXJhbWV0ZXIgIitpKX1yZXR1cm4gYX1mdW5jdGlvbiBfX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyKGFyZ0NvdW50LGFyZ1R5cGVzKXt2YXIgdHlwZXM9X19lbXZhbF9sb29rdXBUeXBlcyhhcmdDb3VudCxhcmdUeXBlcyk7dmFyIHJldFR5cGU9dHlwZXNbMF07dmFyIHNpZ25hdHVyZU5hbWU9cmV0VHlwZS5uYW1lKyJfJCIrdHlwZXMuc2xpY2UoMSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWV9KS5qb2luKCJfIikrIiQiO3ZhciBwYXJhbXM9WyJyZXRUeXBlIl07dmFyIGFyZ3M9W3JldFR5cGVdO3ZhciBhcmdzTGlzdD0iIjtmb3IodmFyIGk9MDtpPGFyZ0NvdW50LTE7KytpKXthcmdzTGlzdCs9KGkhPT0wPyIsICI6IiIpKyJhcmciK2k7cGFyYW1zLnB1c2goImFyZ1R5cGUiK2kpO2FyZ3MucHVzaCh0eXBlc1sxK2ldKX12YXIgZnVuY3Rpb25OYW1lPW1ha2VMZWdhbEZ1bmN0aW9uTmFtZSgibWV0aG9kQ2FsbGVyXyIrc2lnbmF0dXJlTmFtZSk7dmFyIGZ1bmN0aW9uQm9keT0icmV0dXJuIGZ1bmN0aW9uICIrZnVuY3Rpb25OYW1lKyIoaGFuZGxlLCBuYW1lLCBkZXN0cnVjdG9ycywgYXJncykge1xuIjt2YXIgb2Zmc2V0PTA7Zm9yKHZhciBpPTA7aTxhcmdDb3VudC0xOysraSl7ZnVuY3Rpb25Cb2R5Kz0iICAgIHZhciBhcmciK2krIiA9IGFyZ1R5cGUiK2krIi5yZWFkVmFsdWVGcm9tUG9pbnRlcihhcmdzIisob2Zmc2V0PyIrIitvZmZzZXQ6IiIpKyIpO1xuIjtvZmZzZXQrPXR5cGVzW2krMV1bImFyZ1BhY2tBZHZhbmNlIl19ZnVuY3Rpb25Cb2R5Kz0iICAgIHZhciBydiA9IGhhbmRsZVtuYW1lXSgiK2FyZ3NMaXN0KyIpO1xuIjtmb3IodmFyIGk9MDtpPGFyZ0NvdW50LTE7KytpKXtpZih0eXBlc1tpKzFdWyJkZWxldGVPYmplY3QiXSl7ZnVuY3Rpb25Cb2R5Kz0iICAgIGFyZ1R5cGUiK2krIi5kZWxldGVPYmplY3QoYXJnIitpKyIpO1xuIn19aWYoIXJldFR5cGUuaXNWb2lkKXtmdW5jdGlvbkJvZHkrPSIgICAgcmV0dXJuIHJldFR5cGUudG9XaXJlVHlwZShkZXN0cnVjdG9ycywgcnYpO1xuIn1mdW5jdGlvbkJvZHkrPSJ9O1xuIjtwYXJhbXMucHVzaChmdW5jdGlvbkJvZHkpO3ZhciBpbnZva2VyRnVuY3Rpb249bmV3XyhGdW5jdGlvbixwYXJhbXMpLmFwcGx5KG51bGwsYXJncyk7cmV0dXJuIF9fZW12YWxfYWRkTWV0aG9kQ2FsbGVyKGludm9rZXJGdW5jdGlvbil9ZnVuY3Rpb24gX19lbXZhbF9nZXRfbW9kdWxlX3Byb3BlcnR5KG5hbWUpe25hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobmFtZSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoTW9kdWxlW25hbWVdKX1mdW5jdGlvbiBfX2VtdmFsX2dldF9wcm9wZXJ0eShoYW5kbGUsa2V5KXtoYW5kbGU9cmVxdWlyZUhhbmRsZShoYW5kbGUpO2tleT1yZXF1aXJlSGFuZGxlKGtleSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoaGFuZGxlW2tleV0pfWZ1bmN0aW9uIF9fZW12YWxfaW5jcmVmKGhhbmRsZSl7aWYoaGFuZGxlPjQpe2VtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnJlZmNvdW50Kz0xfX1mdW5jdGlvbiBjcmFmdEVtdmFsQWxsb2NhdG9yKGFyZ0NvdW50KXt2YXIgYXJnc0xpc3Q9IiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2FyZ3NMaXN0Kz0oaSE9PTA/IiwgIjoiIikrImFyZyIraX12YXIgZnVuY3Rpb25Cb2R5PSJyZXR1cm4gZnVuY3Rpb24gZW12YWxfYWxsb2NhdG9yXyIrYXJnQ291bnQrIihjb25zdHJ1Y3RvciwgYXJnVHlwZXMsIGFyZ3MpIHtcbiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2Z1bmN0aW9uQm9keSs9InZhciBhcmdUeXBlIitpKyIgPSByZXF1aXJlUmVnaXN0ZXJlZFR5cGUoTW9kdWxlWydIRUFQMzInXVsoYXJnVHlwZXMgPj4+IDIpICsgIitpKyddLCAicGFyYW1ldGVyICcraSsnIik7XG4nKyJ2YXIgYXJnIitpKyIgPSBhcmdUeXBlIitpKyIucmVhZFZhbHVlRnJvbVBvaW50ZXIoYXJncyk7XG4iKyJhcmdzICs9IGFyZ1R5cGUiK2krIlsnYXJnUGFja0FkdmFuY2UnXTtcbiJ9ZnVuY3Rpb25Cb2R5Kz0idmFyIG9iaiA9IG5ldyBjb25zdHJ1Y3RvcigiK2FyZ3NMaXN0KyIpO1xuIisicmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIob2JqKTtcbiIrIn1cbiI7cmV0dXJuIG5ldyBGdW5jdGlvbigicmVxdWlyZVJlZ2lzdGVyZWRUeXBlIiwiTW9kdWxlIiwiX19lbXZhbF9yZWdpc3RlciIsZnVuY3Rpb25Cb2R5KShyZXF1aXJlUmVnaXN0ZXJlZFR5cGUsTW9kdWxlLF9fZW12YWxfcmVnaXN0ZXIpfXZhciBlbXZhbF9uZXdlcnM9e307ZnVuY3Rpb24gX19lbXZhbF9uZXcoaGFuZGxlLGFyZ0NvdW50LGFyZ1R5cGVzLGFyZ3Mpe2hhbmRsZT1yZXF1aXJlSGFuZGxlKGhhbmRsZSk7dmFyIG5ld2VyPWVtdmFsX25ld2Vyc1thcmdDb3VudF07aWYoIW5ld2VyKXtuZXdlcj1jcmFmdEVtdmFsQWxsb2NhdG9yKGFyZ0NvdW50KTtlbXZhbF9uZXdlcnNbYXJnQ291bnRdPW5ld2VyfXJldHVybiBuZXdlcihoYW5kbGUsYXJnVHlwZXMsYXJncyl9ZnVuY3Rpb24gX19lbXZhbF9uZXdfY3N0cmluZyh2KXtyZXR1cm4gX19lbXZhbF9yZWdpc3RlcihnZXRTdHJpbmdPclN5bWJvbCh2KSl9ZnVuY3Rpb24gX19lbXZhbF9ydW5fZGVzdHJ1Y3RvcnMoaGFuZGxlKXt2YXIgZGVzdHJ1Y3RvcnM9ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV0udmFsdWU7cnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO19fZW12YWxfZGVjcmVmKGhhbmRsZSl9ZnVuY3Rpb24gX2Fib3J0KCl7YWJvcnQoKX1mdW5jdGlvbiBfZW1zY3JpcHRlbl9tZW1jcHlfYmlnKGRlc3Qsc3JjLG51bSl7SEVBUFU4LmNvcHlXaXRoaW4oZGVzdCxzcmMsc3JjK251bSl9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fZ2V0X2hlYXBfc2l6ZSgpe3JldHVybiBIRUFQVTgubGVuZ3RofWZ1bmN0aW9uIGVtc2NyaXB0ZW5fcmVhbGxvY19idWZmZXIoc2l6ZSl7dHJ5e3dhc21NZW1vcnkuZ3JvdyhzaXplLWJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO3VwZGF0ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKHdhc21NZW1vcnkuYnVmZmVyKTtyZXR1cm4gMX1jYXRjaChlKXt9fWZ1bmN0aW9uIF9lbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwKHJlcXVlc3RlZFNpemUpe3JlcXVlc3RlZFNpemU9cmVxdWVzdGVkU2l6ZT4+PjA7dmFyIG9sZFNpemU9X2Vtc2NyaXB0ZW5fZ2V0X2hlYXBfc2l6ZSgpO3ZhciBtYXhIZWFwU2l6ZT0yMTQ3NDgzNjQ4O2lmKHJlcXVlc3RlZFNpemU+bWF4SGVhcFNpemUpe3JldHVybiBmYWxzZX12YXIgbWluSGVhcFNpemU9MTY3NzcyMTY7Zm9yKHZhciBjdXREb3duPTE7Y3V0RG93bjw9NDtjdXREb3duKj0yKXt2YXIgb3Zlckdyb3duSGVhcFNpemU9b2xkU2l6ZSooMSsuMi9jdXREb3duKTtvdmVyR3Jvd25IZWFwU2l6ZT1NYXRoLm1pbihvdmVyR3Jvd25IZWFwU2l6ZSxyZXF1ZXN0ZWRTaXplKzEwMDY2MzI5Nik7dmFyIG5ld1NpemU9TWF0aC5taW4obWF4SGVhcFNpemUsYWxpZ25VcChNYXRoLm1heChtaW5IZWFwU2l6ZSxyZXF1ZXN0ZWRTaXplLG92ZXJHcm93bkhlYXBTaXplKSw2NTUzNikpO3ZhciByZXBsYWNlbWVudD1lbXNjcmlwdGVuX3JlYWxsb2NfYnVmZmVyKG5ld1NpemUpO2lmKHJlcGxhY2VtZW50KXtyZXR1cm4gdHJ1ZX19cmV0dXJuIGZhbHNlfXZhciBTWVNDQUxMUz17bWFwcGluZ3M6e30sYnVmZmVyczpbbnVsbCxbXSxbXV0scHJpbnRDaGFyOmZ1bmN0aW9uKHN0cmVhbSxjdXJyKXt2YXIgYnVmZmVyPVNZU0NBTExTLmJ1ZmZlcnNbc3RyZWFtXTtpZihjdXJyPT09MHx8Y3Vycj09PTEwKXsoc3RyZWFtPT09MT9vdXQ6ZXJyKShVVEY4QXJyYXlUb1N0cmluZyhidWZmZXIsMCkpO2J1ZmZlci5sZW5ndGg9MH1lbHNle2J1ZmZlci5wdXNoKGN1cnIpfX0sdmFyYXJnczp1bmRlZmluZWQsZ2V0OmZ1bmN0aW9uKCl7U1lTQ0FMTFMudmFyYXJncys9NDt2YXIgcmV0PUhFQVAzMltTWVNDQUxMUy52YXJhcmdzLTQ+PjJdO3JldHVybiByZXR9LGdldFN0cjpmdW5jdGlvbihwdHIpe3ZhciByZXQ9VVRGOFRvU3RyaW5nKHB0cik7cmV0dXJuIHJldH0sZ2V0NjQ6ZnVuY3Rpb24obG93LGhpZ2gpe3JldHVybiBsb3d9fTtmdW5jdGlvbiBfZmRfY2xvc2UoZmQpe3JldHVybiAwfWZ1bmN0aW9uIF9mZF9zZWVrKGZkLG9mZnNldF9sb3csb2Zmc2V0X2hpZ2gsd2hlbmNlLG5ld09mZnNldCl7fWZ1bmN0aW9uIF9mZF93cml0ZShmZCxpb3YsaW92Y250LHBudW0pe3ZhciBudW09MDtmb3IodmFyIGk9MDtpPGlvdmNudDtpKyspe3ZhciBwdHI9SEVBUDMyW2lvditpKjg+PjJdO3ZhciBsZW49SEVBUDMyW2lvdisoaSo4KzQpPj4yXTtmb3IodmFyIGo9MDtqPGxlbjtqKyspe1NZU0NBTExTLnByaW50Q2hhcihmZCxIRUFQVThbcHRyK2pdKX1udW0rPWxlbn1IRUFQMzJbcG51bT4+Ml09bnVtO3JldHVybiAwfWZ1bmN0aW9uIF9zZXRUZW1wUmV0MCgkaSl7c2V0VGVtcFJldDAoJGl8MCl9SW50ZXJuYWxFcnJvcj1Nb2R1bGVbIkludGVybmFsRXJyb3IiXT1leHRlbmRFcnJvcihFcnJvciwiSW50ZXJuYWxFcnJvciIpO2VtYmluZF9pbml0X2NoYXJDb2RlcygpO0JpbmRpbmdFcnJvcj1Nb2R1bGVbIkJpbmRpbmdFcnJvciJdPWV4dGVuZEVycm9yKEVycm9yLCJCaW5kaW5nRXJyb3IiKTtpbml0X0NsYXNzSGFuZGxlKCk7aW5pdF9SZWdpc3RlcmVkUG9pbnRlcigpO2luaXRfZW1iaW5kKCk7VW5ib3VuZFR5cGVFcnJvcj1Nb2R1bGVbIlVuYm91bmRUeXBlRXJyb3IiXT1leHRlbmRFcnJvcihFcnJvciwiVW5ib3VuZFR5cGVFcnJvciIpO2luaXRfZW12YWwoKTtfX0FUSU5JVF9fLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtfX193YXNtX2NhbGxfY3RvcnMoKX19KTt2YXIgYXNtTGlicmFyeUFyZz17InQiOl9fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdCwiSSI6X19lbWJpbmRfcmVnaXN0ZXJfYm9vbCwieCI6X19lbWJpbmRfcmVnaXN0ZXJfY2xhc3MsInciOl9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NvbnN0cnVjdG9yLCJkIjpfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbiwiayI6X19lbWJpbmRfcmVnaXN0ZXJfY29uc3RhbnQsIkgiOl9fZW1iaW5kX3JlZ2lzdGVyX2VtdmFsLCJuIjpfX2VtYmluZF9yZWdpc3Rlcl9lbnVtLCJhIjpfX2VtYmluZF9yZWdpc3Rlcl9lbnVtX3ZhbHVlLCJBIjpfX2VtYmluZF9yZWdpc3Rlcl9mbG9hdCwiaSI6X19lbWJpbmRfcmVnaXN0ZXJfZnVuY3Rpb24sImoiOl9fZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIsImgiOl9fZW1iaW5kX3JlZ2lzdGVyX21lbW9yeV92aWV3LCJCIjpfX2VtYmluZF9yZWdpc3Rlcl9zdGRfc3RyaW5nLCJ2IjpfX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZywidSI6X19lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0LCJjIjpfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3RfZmllbGQsIkoiOl9fZW1iaW5kX3JlZ2lzdGVyX3ZvaWQsIm0iOl9fZW12YWxfYXMsInMiOl9fZW12YWxfY2FsbF92b2lkX21ldGhvZCwiYiI6X19lbXZhbF9kZWNyZWYsInkiOl9fZW12YWxfZ2V0X2dsb2JhbCwicCI6X19lbXZhbF9nZXRfbWV0aG9kX2NhbGxlciwiciI6X19lbXZhbF9nZXRfbW9kdWxlX3Byb3BlcnR5LCJlIjpfX2VtdmFsX2dldF9wcm9wZXJ0eSwiZyI6X19lbXZhbF9pbmNyZWYsInEiOl9fZW12YWxfbmV3LCJmIjpfX2VtdmFsX25ld19jc3RyaW5nLCJsIjpfX2VtdmFsX3J1bl9kZXN0cnVjdG9ycywibyI6X2Fib3J0LCJFIjpfZW1zY3JpcHRlbl9tZW1jcHlfYmlnLCJGIjpfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCwiRyI6X2ZkX2Nsb3NlLCJDIjpfZmRfc2VlaywieiI6X2ZkX3dyaXRlLCJEIjpfc2V0VGVtcFJldDB9O3ZhciBhc209Y3JlYXRlV2FzbSgpO3ZhciBfX193YXNtX2NhbGxfY3RvcnM9TW9kdWxlWyJfX193YXNtX2NhbGxfY3RvcnMiXT1mdW5jdGlvbigpe3JldHVybihfX193YXNtX2NhbGxfY3RvcnM9TW9kdWxlWyJfX193YXNtX2NhbGxfY3RvcnMiXT1Nb2R1bGVbImFzbSJdWyJNIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9jIl09ZnVuY3Rpb24oKXtyZXR1cm4oX21hbGxvYz1Nb2R1bGVbIl9tYWxsb2MiXT1Nb2R1bGVbImFzbSJdWyJOIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9mcmVlPU1vZHVsZVsiX2ZyZWUiXT1mdW5jdGlvbigpe3JldHVybihfZnJlZT1Nb2R1bGVbIl9mcmVlIl09TW9kdWxlWyJhc20iXVsiTyJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBfX19nZXRUeXBlTmFtZT1Nb2R1bGVbIl9fX2dldFR5cGVOYW1lIl09ZnVuY3Rpb24oKXtyZXR1cm4oX19fZ2V0VHlwZU5hbWU9TW9kdWxlWyJfX19nZXRUeXBlTmFtZSJdPU1vZHVsZVsiYXNtIl1bIlAiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1Nb2R1bGVbIl9fX2VtYmluZF9yZWdpc3Rlcl9uYXRpdmVfYW5kX2J1aWx0aW5fdHlwZXMiXT1mdW5jdGlvbigpe3JldHVybihfX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPU1vZHVsZVsiX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcyJdPU1vZHVsZVsiYXNtIl1bIlEiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09ZnVuY3Rpb24oKXtyZXR1cm4oZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09TW9kdWxlWyJhc20iXVsiUiJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBjYWxsZWRSdW47ZnVuY3Rpb24gRXhpdFN0YXR1cyhzdGF0dXMpe3RoaXMubmFtZT0iRXhpdFN0YXR1cyI7dGhpcy5tZXNzYWdlPSJQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBleGl0KCIrc3RhdHVzKyIpIjt0aGlzLnN0YXR1cz1zdGF0dXN9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkPWZ1bmN0aW9uIHJ1bkNhbGxlcigpe2lmKCFjYWxsZWRSdW4pcnVuKCk7aWYoIWNhbGxlZFJ1bilkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9cnVuQ2FsbGVyfTtmdW5jdGlvbiBydW4oYXJncyl7YXJncz1hcmdzfHxhcmd1bWVudHNfO2lmKHJ1bkRlcGVuZGVuY2llcz4wKXtyZXR1cm59cHJlUnVuKCk7aWYocnVuRGVwZW5kZW5jaWVzPjApcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoY2FsbGVkUnVuKXJldHVybjtjYWxsZWRSdW49dHJ1ZTtNb2R1bGVbImNhbGxlZFJ1biJdPXRydWU7aWYoQUJPUlQpcmV0dXJuO2luaXRSdW50aW1lKCk7cHJlTWFpbigpO3JlYWR5UHJvbWlzZVJlc29sdmUoTW9kdWxlKTtpZihNb2R1bGVbIm9uUnVudGltZUluaXRpYWxpemVkIl0pTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKCk7cG9zdFJ1bigpfWlmKE1vZHVsZVsic2V0U3RhdHVzIl0pe01vZHVsZVsic2V0U3RhdHVzIl0oIlJ1bm5pbmcuLi4iKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe01vZHVsZVsic2V0U3RhdHVzIl0oIiIpfSwxKTtkb1J1bigpfSwxKX1lbHNle2RvUnVuKCl9fU1vZHVsZVsicnVuIl09cnVuO2lmKE1vZHVsZVsicHJlSW5pdCJdKXtpZih0eXBlb2YgTW9kdWxlWyJwcmVJbml0Il09PSJmdW5jdGlvbiIpTW9kdWxlWyJwcmVJbml0Il09W01vZHVsZVsicHJlSW5pdCJdXTt3aGlsZShNb2R1bGVbInByZUluaXQiXS5sZW5ndGg+MCl7TW9kdWxlWyJwcmVJbml0Il0ucG9wKCkoKX19bm9FeGl0UnVudGltZT10cnVlO3J1bigpOwoKCiAgcmV0dXJuIEJBU0lTLnJlYWR5Cn0KKTsKfSkoKTsKaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0JykKICBtb2R1bGUuZXhwb3J0cyA9IEJBU0lTOwplbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZVsnYW1kJ10pCiAgZGVmaW5lKFtdLCBmdW5jdGlvbigpIHsgcmV0dXJuIEJBU0lTOyB9KTsKZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKQogIGV4cG9ydHNbIkJBU0lTIl0gPSBCQVNJUzsK"},627:A=>{"use strict";A.exports="data:application/wasm;base64,AGFzbQEAAAABlgMmYAF/AX9gAn9/AX9gAn9/AGADf39/AX9gAX8AYAN/f38AYAAAYAR/f39/AX9gBX9/f39/AX9gBH9/f38AYAV/f39/fwBgBn9/f39/fwBgAAF/YAZ/f39/f38Bf2AHf39/f39/fwF/YBN/f39/f39/f39/f39/f39/f39/AX9gCH9/f39/f39/AX9gEn9/f39/f39/f39/f39/f39/fwF/YAd/f39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38Bf2ACfn8Bf2ADf35/AX5gCn9/f39/f39/f38AYA1/f39/f39/f39/f39/AGADf398AGAKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAx/f39/f39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38Bf2AUf39/f39/f39/f39/f39/f39/f38Bf2AVf39/f39/f39/f39/f39/f39/f39/AX9gBn98f39/fwF/YAN+f38Bf2ABfwF+YAF9AX1gA39/fwF8AtkBJAFhAWEABQFhAWIABAFhAWMAFwFhAWQAEwFhAWUAAQFhAWYAAAFhAWcABAFhAWgABQFhAWkACwFhAWoACgFhAWsAGQFhAWwABAFhAW0AJQFhAW4ACQFhAW8ABgFhAXAAAQFhAXEABwFhAXIAAAFhAXMACQFhAXQABAFhAXUACwFhAXYABQFhAXcACwFhAXgAGAFhAXkAAAFhAXoABwFhAUEABQFhAUIAAgFhAUMACAFhAUQABAFhAUUAAwFhAUYAAAFhAUcAAAFhAUgAAgFhAUkACgFhAUoAAgPLAskCBAADAwkDDwICBwAKBQEBHQMSAQQKJAQAAwMFBQgFAQQCAQEBEAIKAgUSBAUBDggBBAcEEQUAAwMLCQUGCAcFCAcFCAEeEAQEIAkDBgEFDAwcEwobCAcBBQIBCQcAAQkDBAEBAQUAAQUEBAQEBAQGCAgICAcOCQIJAwEDAAMBAQQADAwEBgAAAAAAABEGAgICAgICAgMAAAcBAgAAAwQBBwUDAwEGAQgAAAEBAAYLBQsLCgoKAQIGAwEJCQkDAgAEAAABAgIDFgAVFSIFAQEFAwAAAAYGBgYGBgYGBgYGBgYGBgYABwMHCAUjBQgEAw0HBAMOBQIIDQcBBAINBwEaFAANCAgKCAcAAAAAAAAAAAAAAAAAAAAAAAcDAQMFAAEBAgEAAgQAAAQADA8fDwENCAwEAAcJAwUBAhAOAAgHAwcDAwEAAAACBAAEBwFwAZ0BnQEFBwEBgAKAgAIGCQF/AUHQ7tMCCwclCAFLAgABTAEAAU0AbwFOAM8BAU8ANwFQAIcCAVEAkgEBUgDKAQmeAgEAQQELnAGXAowCpwGwAXJDQkFQT6YBQ0JBUE+lAUNCQXCuAXCtAawBqwGqAakBpAGjAaIB7ALrAuoC6QKhAegCoQHnAuYC5QLkAuMC4gLhAuAC3wLeAt0C3ALbAtoC2QLYAtcC1gLVAp8B1ALTAtIC0QKeAdACzwLOAq8BnwFzc80CQ0JBUE9yQ0JBzALLAqIBygLJAp0ByALHAsYCnQHFAp4BxALDAsICnAHBAsACvwK+ApwBvQK8ArsCugK5ArgCtwK2ArUCtAKzArICsQKwAq8CrgKtAqwCqwKqAqkCqAKnAqYCpQKkAqMCogL2AfMB6wHpAeoB4gE3hAGEAYMBN4MBN+AB0QHVAd8BN9MB1gHeATfUAdcB3QE32wEKn7UMyQLXAgEFfyAABEAgAEEEayIBKAIAIgQhAyABIQIgAEEIaygCACIFQX9MBEAgASAFaiIAKAIFIgIgACgCCTYCCCAAKAIJIAI2AgQgBCAFQX9zaiEDIABBAWohAgsgASAEaiIAKAIAIgEgACABakEEaygCAEcEQCAAKAIEIgQgACgCCDYCCCAAKAIIIAQ2AgQgASADaiEDCyACIAM2AgAgA0F8cSACakEEayADQX9zNgIAIAICfyACKAIAQQhrIgBB/wBNBEAgAEEDdkEBawwBCyAAZyEBIABBHSABa3ZBBHMgAUECdGtB7gBqIABB/x9NDQAaIABBHiABa3ZBAnMgAUEBdGtBxwBqIgBBPyAAQT9JGwsiA0EEdCIAQcDmE2o2AgQgAiAAQcjmE2oiACgCADYCCCAAIAI2AgAgAigCCCACNgIEQcjuE0HI7hMpAwBCASADrYaENwMACwszAQF/IABBASAAGyEAAkADQCAAEC4iAQ0BQbjmEygCACIBBEAgAREGAAwBCwsQDgALIAEL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4IEAQN/IAJBgARPBEAgACABIAIQHhogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCACQQFIBEAgACECDAELIABBA3FFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANPDQEgAkEDcQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC9wBAgF/AX4jAEGgAmsiBCQAAkAgASAAKAIISwRAAkACQCACRQ0AIAGtIgV7QgFRDQAgBUIBfSIFQiCIIAWEIgVCEIggBYQiBUIIiCAFhCIFQgSIIAWEIgVCAoggBYQiBUIBiCAFhKdBAWoiAiABTw0BQYAIQRFBAUGQoRIoAgAQfhAOAAsgASECCyAAKAIAIAIgA2wiARBFIgNFBEAgBCABNgIAIARBIGpBkgggBBA/DAILIAAgAzYCACAAIAI2AggLIARBoAJqJAAPCyAEQSBqQZChEigCABBJEA4AC2QAIAJFBEAgACgCBCABKAIERg8LIAAgAUYEQEEBDwsCfyMAQRBrIgIgADYCCCACIAIoAggoAgQ2AgwgAigCDAsCfyMAQRBrIgAgATYCCCAAIAAoAggoAgQ2AgwgACgCDAsQZ0UL0PcBAix/B34jAEHAAWsiEyQAAkBBgKwSLQAARQ0AIAZBFWshFSAAQbQBaiEUAkAgDg0AIBVBCUkEQCAMIQ4MAQsgAiEOIAZBD0cNACAMQQdqQQN2IQ5BeiEVCyACIANsISkgDyAUIA8bISBBACEUAkAgCUUNACALQQ9LDQEgICAKQcABbGogC0EMbGoiCkEYaiEwIAooAhwiCyApTw0AICkgCigCIEsEQCAwICkgC0EBaiApRkEEECggCigCHCELCyAwKAIAIAtBAnRqQQAgKSALa0ECdBAmGiAKICk2AhwLIARFQQAgBRsNACAAKAKwASEKIBNBADYCCCATQgA3AwAgCgRAIBMgCiAKQQFGQQQQKCATKAIAIBMoAgQiC0ECdGpBACAKIAtrQQJ0ECYaIBMgCjYCBAsgEyAKQQF2NgIMAkAgBkF+cUEGRgRAIClBDGwQLiIqRQ0BICogKUEDdGohOgsCQCAgKAIEIgogAk8NACACICAoAghLBEAgICACIApBAWogAkZBBBAoCyAgIAI2AgQgICgCECIKIAJGDQACQCACIApJDQAgICgCFCACTw0AICBBDGogAiAKQQFqIAJGQQQQKAsgICACNgIQCyAAKAIAIgogACAKGyIcKAIIRQ0AIBwoAhQiCkUNACADBEAgBCAFaiEyIAAoArABIApqITQgDkEBdCE2IA5BAnQhNyATQYABakEOciEdIBNBgAFqQQxyISwgE0GAAWpBBXIhPCAJISIgCCEtIBIgEiANIBIbIBVBCEsbIi4hOEEAIQhBACESQQMhK0EAIQoDQAJAIAJFDQAgOEEEIDhBBEgbISUgDiAbbCEmIAIgG2whOyAbQQJ0Ih8gDmwhIyAgIBtBAXEiOUEMbGohM0EBIQ0gICA5QQFzQQxsaiE9QQAhCSAOITECQANAAkAgCUEBcQ0AAkACfwJ/AkAgOUUEQCAaQQFrIBoNAxogBCEUIApBD00EQANAQQAhDyAUIDJJBEAgFC0AACEPIBRBAWoiBCEUCyAPIAp0IBJyIRIgCkEISSEFIApBCGohCiAFDQALCyAAKAIsIBJB/wdxQQJ0aigCACIPQX9KDQEgACgCOCEFQQohFANAIBIgFHYhCCAUQQFqIRQgBSAIQQFxIA9Bf3NqQQF0ai4BACIPQQBIDQALIA8MAgsgICgCDCAJQQJ0ai0AAiEIDAQLIA9BEHYhFCAPQf//A3ELIQggCiAUayEKIBIgFHYhEkEAIRpBACEPIAhBgAJHDQEDQAJ/IApBBEsEQCASIRQgCgwBC0EAIRQgBCAySQRAIAQtAAAhFCAEQQFqIQQLIBQgCnQgEnIhFCAKQQhqC0EFayEKIBRBBXYhEiAUQQ9xIBp0IA9yIQ8gGkEbTQRAIBpBBGohGiAUQRBxDQELCyAPQQJqCyEaICQhCAsgICgCDCAJQQJ0aiAIQQR2OgACIAghJAsgCEEDcSEFIAhBAnYhCAJAAkACQAJ/An8CQAJAAn8CQAJAAkACQAJAIAUOAwABAgMLIAkNBSAqDQsMDQsgCSAbDQMaICoNCgwMCyAiBEAgMCgCACAJIDtqQQJ0aigCACILQf//A3EhGSALQRB2DAcLIBtBACAJGw0BICpFDQsMCQsgBCEUIApBD00EQANAQQAhDyAUIDJJBEAgFC0AACEPIBRBAWoiBCEUCyAPIAp0IBJyIRIgCkEISSELIApBCGohCiALDQALCyAAKAJQIBJB/wdxQQJ0aigCACIPQX9KDQMgACgCXCELQQohFANAIBIgFHYhDCAUQQFqIRQgCyAMQQFxIA9Bf3NqQQF0ai4BACIPQQBIDQALIA8MBAsgCUEBawshBSA9KAIAIAVBAnRqLwEAIRkLIDMoAgAgCUECdGogGTsBAAwDCyAPQRB2IRQgD0H//wNxCyAZaiILQQAgHCgCCCIMIAsgDEkbayEZIAogFGshCiASIBR2IRJBAAshCyAzKAIAIAlBAnRqIBk7AQAgBUECRiAicQ0BCwJAIBgEfyAYQQFrBSAEIRQgCkEPTQRAA0BBACEPIBQgMkkEQCAULQAAIQ8gFEEBaiIEIRQLIA8gCnQgEnIhEiAKQQhJIQUgCkEIaiEKIAUNAAsLAn8gACgCdCASQf8HcUECdGooAgAiD0F/TARAIAAoAoABIQVBCiEUA0AgEiAUdiELIBRBAWohFCAFIAtBAXEgD0F/c2pBAXRqLgEAIg9BAEgNAAsgDwwBCyAPQRB2IRQgD0H//wNxCyELIAogFGshCiASIBR2IRICfwJAIAsgNEYEQCAEIRQgCkEPTQRAA0BBACEPIBQgMkkEQCAULQAAIQ8gFEEBaiIEIRQLIA8gCnQgEnIhEiAKQQhJIQUgCkEIaiEKIAUNAAsLIAAoApgBIBJB/wdxQQJ0aigCACIPQX9KDQEgACgCpAEhBUEKIRQDQCASIBR2IQsgFEEBaiEUIAUgC0EBcSAPQX9zakEBdGouAQAiD0EASA0ACyAPDAILQQAhGCALIBwoAhQiFE4NAyAAKAKwAUUNBCATIBMoAgwiDEEBaiIFNgIMIBMoAgAgDEECdGogCzYCACAFIBMoAgRHDQQgEyAFQQF2NgIMDAQLIA9BEHYhFCAPQf//A3ELIQUgCiAUayEKIBIgFHYhEkEAIRRBACELAkAgBUE/Rw0AA0ACfyAKQQdLBEAgEiEPIAoMAQtBACEPIAQgMkkEQCAELQAAIQ8gBEEBaiEECyAPIAp0IBJyIQ8gCkEIagtBCGshCiAPQQh2IRIgD0H/AHEgFHQgC3IhCyAUQRhLBEAgCyEFDAILIBRBB2ohFCALIQUgD0GAAXENAAsLICkgBUEDaiIYSQRAICoNBAwGCyAFQQJqCyEYIBwoAhQiCyEUCyALIBRrIgUgEygCBE4EQCAqDQIMBAsgEygCACIMIAVBAnRqIg8oAgAhCyAFRQ0AIAwgBUEBdEF8cWoiBSgCACEMIAUgCzYCACAPIAw2AgALAkAgHCgCCCAZSwRAIAsgHCgCFEkNAQsgKg0BDAMLICIEQCAwKAIAIAkgO2pBAnRqIAtBEHQgGXI2AgALIDFBBCAxQQRIGyEUIBwoAhAiDSALQQtsaiEVIBwoAgQiFyAZQQN0aiEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGDh0AEwETAhMDBAUFBgcIExMTExMTEwkLDAoNDQ4QDxMLIAEgCSAmaiAHbGoiCyAvQQdxIAUtAAAiDEEDdEF4IAxBH0kbciIvQf8BcSA1QQdxIAUtAAEiDEEfIAxBH0kbQQN0ciI1Qf8BcUEIdHIgJ0EHcSAFLQACIgxBHyAMQR9JG0EDdHIiJ0H/AXFBEHRyICtBA3EgBS0ABCIFQQV0ciAFQQJ0ciIrQRh0cjYCACALIBUoAAQ2AgQMEgsgASAJICZqIAdsaiEUIAUtAAQhCyAVLQAIIgwgFS0ACSINRgRAIAUtAAIiDUECdiEVIA1BA3QhDSAFLQABIg9BA3QgD0ECdnIhFgJAIAtBBHQgDEECdGpB0MMBaigCACILIAUtAAAiBUEDdCAFQQJ2cmoiD0GAAkkNACAPQX9KIQVB/wEhDyAFDQBBACEPCyANIBVyIQwCQCALIBZqIgVBgAJJDQAgBUF/SiENQf8BIQUgDQ0AQQAhBQsCQCALIAxqIgxBgAJJDQAgDEF/SiELQf8BIQwgCw0AQQAhDAtBqgEhCwJAIAxBAXQiDUGRrBJqLQAAIAVBAXQiBUGRtBJqLQAAQQV0IA9BAXQiD0GRrBJqLQAAQQt0cnIiDCANQZCsEmotAAAgBUGQtBJqLQAAQQV0IA9BkKwSai0AAEELdHJyIg9HIC1yRQRAIA9FBEBB1QAhC0EAIQ9BASEFDAILIA9BAWshDEEAIQsLIAwgD00EQCAPIQUgDCEPDAELIAtB1QByIQsgDCEFCyAUIA86AAIgFCAFOgAAIBQgC0GBgoQIbDYABCAUIA9BCHY6AAMgFCAFQQh2OgABDBILAkAgC0EHSQ0AIA1BA0cNACAMDQAgFS0ACkECRw0AIBNBQGsgBSALEDBBASEPAkAgEy0ATkEBdEGQsBJqLQAAIBMtAE1BAXRBkLgSai0AAEEFdCATLQBMQQF0QZCwEmotAABBC3RyciINIBMtAEJBAXRBkLASai0AACATLQBBQQF0QZC4EmotAABBBXQgEy0AQEEBdEGQsBJqLQAAQQt0cnIiBUYEQCAFRQRAQQAhBUEBIQxBASELDAILQQAhDyAFQQFrIQ0LQQAhCyAFIA1PBEAgBSEMIA0hBQwBC0EBIQtBACEPIA0hDAsgFCAFOgACIBQgDDoAACAUIAVBCHY6AAMgFCAMQQh2OgABIBQgFC0ABEF8cSAPIAsgFS0AAEEDcUEDRhtyIgU6AAQgFCAFQXFxIA8gCyAVLQAAQQxxQQxGG0ECdHIiBToABCAUIAVBRXEgDyALIBUtAABBMHFBMEYbQQR0ciIFOgAEIBQgBUEVcSAPIAsgFS0AAEG/AUsbQQZ0cjoABCAUIBQtAAVBfHEgDyALIBUtAAFBA3FBA0YbciIFOgAFIBQgBUFxcSAPIAsgFS0AAUEMcUEMRhtBAnRyIgU6AAUgFCAFQUVxIA8gCyAVLQABQTBxQTBGG0EEdHIiBToABSAUIAVBFXEgDyALIBUtAAFBvwFLG0EGdHI6AAUgFCAULQAGQXxxIA8gCyAVLQACQQNxQQNGG3IiBToABiAUIAVBcXEgDyALIBUtAAJBDHFBDEYbQQJ0ciIFOgAGIBQgBUFFcSAPIAsgFS0AAkEwcUEwRhtBBHRyIgU6AAYgFCAFQRVxIA8gCyAVLQACQb8BSxtBBnRyOgAGIBQgFC0AB0F8cSAPIAsgFS0AA0EDcUEDRhtyIgU6AAcgFCAFQXFxIA8gCyAVLQADQQxxQQxGG0ECdHIiBToAByAUIAVBRXEgDyALIBUtAANBMHFBMEYbQQR0ciIFOgAHIBQgBUEVcSAPIAsgFS0AA0G/AUsbQQZ0cjoABwwSCyAUIAxBBHQgDUECdGpBkLwSaigCAEEKbCINIAtBBXQiDyAFLQAAakE8bGpBAnQiC0EJQQhBB0EGQQVBBEEDQQIgDyAFLQACakE8bCANakECdCIMQfanBWovAQAgDyAFLQABakE8bCANakECdCIFQfaHCWovAQAgC0H2pwVqLwEAamoiDSAMQfKnBWovAQAgBUHyhwlqLwEAIAtB8qcFai8BAGpqIg9JIhYgDEH6pwVqLwEAIAVB+ocJai8BACALQfqnBWovAQBqaiIXIA0gDyAWGyINSSIPGyAMQf6nBWovAQAgBUH+hwlqLwEAIAtB/qcFai8BAGpqIhYgFyANIA8bIg1JIg8bIAxBgqgFai8BACAFQYKICWovAQAgC0GCqAVqLwEAamoiFyAWIA0gDxsiDUkiDxsgDEGGqAVqLwEAIAVBhogJai8BACALQYaoBWovAQBqaiIWIBcgDSAPGyINSSIPGyAMQYqoBWovAQAgBUGKiAlqLwEAIAtBiqgFai8BAGpqIhcgFiANIA8bIg1JIg8bIAxBjqgFai8BACAFQY6ICWovAQAgC0GOqAVqLwEAamoiFiAXIA0gDxsiDUkiDxsgDEGSqAVqLwEAIAVBkogJai8BACALQZKoBWovAQBqaiIXIBYgDSAPGyINSSIPGyAMQZaoBWovAQAgBUGWiAlqLwEAIAtBlqgFai8BAGpqIBcgDSAPG0kbIg9BAnQiC2oiDUHwpwVqLQAAQQt0QYDwA3EgCyAMaiIMQfCnBWotAAByIAUgC2oiC0HwhwlqLQAAQQV0ciIFIAxB8acFai0AACANQfGnBWotAABBC3RBgPADcXIgC0HxhwlqLQAAQQV0ciILIAUgC0kiDBsiDToAAiAUIAsgBSAMGyIFOgAAIBQgDUEIdjoAAyAUIAVBCHY6AAEgBSANRgRAIBQgLQR/QQAFIBQgBUEBIAUbIgs6AAAgFCAFQQFrQQAgBRsiDDoAAiAUIAtBCHY6AAEgFCAMQQh2OgADQQBB1QAgBRsLQYGChAhsNgAEDBILIBQgD0EIdEHQ0BJB0LwSIAwbaiIFIBUtAABqLQAAOgAEIBQgBSAVLQABai0AADoABSAUIAUgFS0AAmotAAA6AAYgFCAFIBUtAANqLQAAOgAHDBELIAEgCSAmaiAHbGohCyAFLQAEIQ8gFS0ACCIUIBUtAAkiDEYEQAJAIA9BBHQgFEECdGpB0MMBaigCACAFLQAAIgVBA3QgBUECdnJqIg9BgAJJDQAgD0F/SiEFQf8BIQ8gBQ0AQQAhDwsgC0EANgACIAsgDzoAASALIA86AAAgC0EAOwAGDBELAkACQCAVLQAKQQJHBEBBACENIBQOAgECEgsgE0FAayAFIA8QMCATQUBrIBRBAnRqLQAAIQUgCyATQUBrIAxBAnRqLQAAOgABIAsgBToAACALIAstAAJB+AFxIBUtAABBA3EgDEZyIgU6AAIgCyAFQcEBcSAVLQAAQQJ2QQNxIAxGQQN0ciIFOgACIBUtAAAhDSALIAstAAMiD0H+AXE6AAMgCyAFQQlxIA1BBHZBA3EgDEZBBnRyOgACIAsgD0HwAXEgFS0AAEEGdiAMRkEBdHIiBToAAyALIAVBggFxIBUtAAFBA3EgDEZBBHRyIgU6AAMgFS0AASENIAsgCy0ABCIPQfwBcToABCALIAVBEnEgDUECdkEDcSAMRkEHdHI6AAMgCyAVLQABQQR2QQNxIAxGQQJ0IgUgD0HgAXFyOgAEIAsgFS0AAUEGdiAMRkEFdCAFcjoABCALIAstAAVB+AFxIBUtAAJBA3EgDEZyIgU6AAUgCyAFQcEBcSAVLQACQQJ2QQNxIAxGQQN0ciIFOgAFIBUtAAIhDSALIAstAAYiD0H+AXE6AAYgCyAFQQlxIA1BBHZBA3EgDEZBBnRyOgAFIAsgD0HwAXEgFS0AAkEGdiAMRkEBdHIiBToABiALIAVBggFxIBUtAANBA3EgDEZBBHRyIgU6AAYgFS0AAyENIAsgCy0AByIPQfwBcToAByALIAVBEnEgDUECdkEDcSAMRkEHdHI6AAYgCyAVLQADQQR2QQNxIAxGQQJ0IgUgD0HgAXFyOgAHIAsgFS0AA0EGdiAMRkEFdCAFcjoABwwSC0EAIAxBAkZBAXQgDEEDRhshDQwQC0EBQQNBACAMQQJGGyAMQQNGGyENDA8LICogCSA7aiIWQQN0aiAvQQdxIAUtAAAiC0EDdEF4IAtBH0kbciIvrUL/AYMgFTEABEIghoQgNUEHcSAFLQABIgtBHyALQR9JG0EDdHIiNa1C/wGDQgiGhCAVMQAFQiiGhCAnQQdxIAUtAAIiC0EfIAtBH0kbQQN0ciInrUL/AYNCEIaEICtBA3EgBS0ABCILQQV0ciALQQJ0ciIrrUL/AYNCGIaEIBUxAAZCMIaEIBUxAAdCOIaENwMAIAUtAAIiC0ECdiEMIAtBA3QhDSAFLQABIgtBA3QgC0ECdnIhDwJAIAUtAARBBHQiFyAVLQAIQQJ0akHQwwFqKAIAIgsgBS0AACIFQQN0IAVBAnZyQf8BcSIFaiIUQYACSQ0AIBRBf0ohHkH/ASEUIB4NAEEAIRQLIAwgDXIhDCAVLQAJIQ0CQCALIA9B/wFxIhVqIg9BgAJJDQAgD0F/SiEeQf8BIQ8gHg0AQQAhDwsCQCALIAxB/wFxIh5qIgtBgAJJDQAgC0F/SiEMQf8BIQsgDA0AQQAhCwsCQCAXIA1BAnRqQdDDAWooAgAiDSAFaiIFQYACSQ0AIAVBf0ohDEH/ASEFIAwNAEEAIQULAkAgDSAVaiIMQYACSQ0AIAxBf0ohFUH/ASEMIBUNAEEAIQwLAkAgDSAeaiINQYACSQ0AIA1Bf0ohFUH/ASENIBUNAEEAIQ0LIDogFkECdGogFEHwhw1qLQAAQQp0QYD4AXEgD0Hwhw1qLQAAQQV0ciALQfCJDWotAABBAXRyIA1B8IsNai0AACAMQfCLDWotAABBBXQgBUHwiw1qLQAAQQp0cnJBEHRyQYCAgoB4cjYCAAwPCyAqIAkgO2oiD0EDdGogL0EHcSAFLQAAIgtBA3RBeCALQR9JG3IiL61C/wGDIBUxAABCIIaEIDVBB3EgBS0AASILQR8gC0EfSRtBA3RyIjWtQv8Bg0IIhoQgFTEAAUIohoQgJ0EHcSAFLQACIgtBHyALQR9JG0EDdHIiJ61C/wGDQhCGhCArQQNxIAUtAAQiC0EFdHIgC0ECdHIiK61C/wGDQhiGhCAVMQACQjCGhCAVMQADQjiGhDcDACAFLQACIgtBAnYhDCALQQN0IRQgBS0AASILQQN0IAtBAnZyIRYCQCAFLQAEQQR0IhcgFS0ACEECdGpB0MMBaigCACILIAUtAAAiBUEDdCAFQQJ2ckH/AXEiBWoiDUGAAkkNACANQX9KIR5B/wEhDSAeDQBBACENCyAMIBRyIQwgFS0ACSEUAkAgCyAWQf8BcSIeaiIVQYACSQ0AIBVBf0ohFkH/ASEVIBYNAEEAIRULAkAgCyAMQf8BcSIhaiIWQYACSQ0AIBZBf0ohC0H/ASEWIAsNAEEAIRYLAkAgFyAUQQJ0akHQwwFqKAIAIgwgBWoiC0GAAkkNACALQX9KIQVB/wEhCyAFDQBBACELCwJAIAwgHmoiBUGAAkkNACAFQX9KIRRB/wEhBSAUDQBBACEFCwJAIAwgIWoiDEGAAkkNACAMQX9KIRRB/wEhDCAUDQBBACEMCyAcKAIQIBEgD0ECdCIeaiIPLwECQQtsaiIULQAJIRcCQCAcKAIEIA8vAQBBA3RqIg8tAARBBHQiISAULQAIQQJ0akHQwwFqKAIAIA8tAAEiD0EDdCAPQQJ2ckH/AXEiD2oiFEGAAkkNACAUQX9KIShB/wEhFCAoDQBBACEUCwJAICEgF0ECdGpB0MMBaigCACAPaiIPQYACSQ0AIA9Bf0ohF0H/ASEPIBcNAEEAIQ8LAn8gFEH/AXFB/wFGBEAgFkHwiQ1qLQAAQQF0IRYgFUHwhw1qLQAAQQV0IRRBgIACIRcgDUHwhw1qLQAAQQp0DAELIBZB8JENai0AAEEBdCEXIBVB8IkNai0AAEEEdCEWIBRB8I8Nai0AAEEMdCEUIA1B8IkNai0AAEEIdAshDSANIBRyIBZyIBdyIQ0gHiA6agJ/IA9B7wFrQRBNBEAgDUH+/wNxIAxB8IsNai0AACAFQfCLDWotAABBBXQgC0Hwiw1qLQAAQQp0cnJBEHRyIRRBgICAgHgMAQsgDUH+/wNxIA9B8JMNai0AAEEcdHIhFCAMQfCNDWotAAAgBUHwjQ1qLQAAQQR0IAtB8I0Nai0AAEEIdHJyQRB0CyAUcjYCAAwOCyABIAkgJmogB2xqIhZCAzcDCCAWQqCAgICAgIB+NwMAIAUtAAQhFCAVLQAJIRcgFS0ACCELIAUtAAIhDCAFLQABIQ0gBS0AACEPAkACQAJAIBUtAApBAWsOAgABAgsgDEECdiEVIAxBA3QhDCANQQN0IA1BAnZyIQ0CQCAUQQR0IAtBAnRqQdDDAWooAgAiBSAPQQN0IA9BAnZyaiIUQYACSQ0AIBRBf0ohC0H/ASEUIAsNAEEAIRQLIAwgFXIhCwJAIAUgDWoiD0GAAkkNACAPQX9KIQxB/wEhDyAMDQBBACEPCwJAIAUgC2oiC0GAAkkNACALQX9KIQVB/wEhCyAFDQBBACELCyAWIBRBAXQiBUHxlQ1qMQAAQgiGIA9BAXQiDEHxlQ1qMQAAQhaGhCALQQF0IgtB8ZUNajEAAEIkhoRCgP6B/oH+AYMgBUHwlQ1qMQAAQv8Ag0IPhoQgDEHwlQ1qMQAAQv8Ag0IdhoQgC0HwlQ1qMQAAQiuGhEKggICAgICAfoQ3AwBBHyEUQcIAIQ9B/////wchBUGr1arVAiEMA0AgFiAPQQN2aiILIAstAAAgBSAPQQdxIgt0QX9zcSAMIAt0cjoAAEEIIAtrIgsgFCALIBRJGyILIA9qIQ8gBSALdiEFIAwgC3YhDCAUIAtrIhQNAAsMDwsgE0H/AToAgwEgEyAMOgCCASATIA06AIEBIBMgDzoAgAEgE0FAayATQYABaiAUEDAgFiAWKQMAQv+BgICAgIB+gyATQUBrIAtBAnRqIgUtAAFBAXatIj9CFoYgBS0AAEEBdq0iQEIIhoQgBS0AAkEBdq0iQUIkhoQgE0FAayAXQQJ0aiIFLQAAQQF2rSJCQg+GhIQiQyAFLQABQQF2rSJEQh2GhCAFLQACQQF2rSJFQiuGhDcDAEEAIQ9BAEEDIBUtAAAiBUEDcSALRhsiDEECcQRAIBYgQ0L/gYCAgICAfoMgP0IdhiBAQg+GhCBBQiuGhCBCQgiGhCBEQhaGhCBFQiSGhIQ3AwBBAyEPQQAhDCAVLQAAIQULIAwgDyAPQQNzIg0gBUECdkEDcSALRhtBAXRyIA8gDSAFQQR2QQNxIAtGG0EDdHIgDyANIAVBBnYgC0YbQQV0ciAPIA0gFS0AASIFQQNxIAtGG0EHdHIgDyANIAVBBnYgC0YbQQ10ciAPIA0gBUECdkEDcSALRhtBCXRyIA8gDSAFQQR2QQNxIAtGG0ELdHIgDyANIBUtAAIiBUEDcSALRhtBD3RyIA8gDSAFQQZ2IAtGG0EVdHIgDyANIAVBAnZBA3EgC0YbQRF0ciAPIA0gBUEEdkEDcSALRhtBE3RyIA8gDSAVLQADIgVBA3EgC0YbQRd0ciAPIA0gBUEGdiALRhtBHXRyIA8gDSAFQQJ2QQNxIAtGG0EZdHIgDyANIAVBBHZBA3EgC0YbQRt0ciEFQR8hFEHCACEPQf////8HIQwDQCAWIA9BA3ZqIgsgCy0AACAMIA9BB3EiC3RBf3NxIAUgC3RyOgAAQQggC2siCyAUIAsgFEkbIgsgD2ohDyAMIAt2IQwgBSALdiEFIBQgC2siFA0ACwwOCyALQQR0IBdBAnRqQdDQE2ooAgBBCmwiFyAMIBRBBXQiFGpBPGxqQQJ0IgVB8JkNaiEeIBcgDSAUakE8bGpBAnQiC0HwmQ1qIQ0gFyAPIBRqQTxsakECdCIMQfCZDWohDwJ/QQlBCEEHQQZBBUEEQQNBAiAFQfaZDWovAQAgC0H2mQ1qLwEAIAxB9pkNai8BAGpqIhQgBUHymQ1qLwEAIAtB8pkNai8BACAMQfKZDWovAQBqaiIXSSIhIAVB+pkNai8BACALQfqZDWovAQAgDEH6mQ1qLwEAamoiKCAUIBcgIRsiFEkiFxsgBUH+mQ1qLwEAIAtB/pkNai8BACAMQf6ZDWovAQBqaiIhICggFCAXGyIUSSIXGyAFQYKaDWovAQAgC0GCmg1qLwEAIAxBgpoNai8BAGpqIiggISAUIBcbIhRJIhcbIAVBhpoNai8BACALQYaaDWovAQAgDEGGmg1qLwEAamoiISAoIBQgFxsiFEkiFxsgBUGKmg1qLwEAIAtBipoNai8BACAMQYqaDWovAQBqaiIoICEgFCAXGyIUSSIXGyAFQY6aDWovAQAgC0GOmg1qLwEAIAxBjpoNai8BAGpqIiEgKCAUIBcbIhRJIhcbIAVBkpoNai8BACALQZKaDWovAQAgDEGSmg1qLwEAamoiKCAhIBQgFxsiFEkiFxsgBUGWmg1qLwEAIAtBlpoNai8BACAMQZaaDWovAQBqaiAoIBQgFxtJG0ECdCIMIBUtAABBA3FyQfC9EWotAABBAnEEQCAMIA9qIgUxAAFCCIYgDCANaiINMQABQhaGhCAMIB5qIgsxAAFCJIaEQoD+gf6B/gGDIAUxAABC/wCDQg+GhCANMQAAQv8Ag0IdhoQhP0EDDAELIAwgD2oiBTEAAEIIhiAMIA1qIgsxAABCFoaEIAwgHmoiDTEAAEIkhoRCgP6B/oH+AYMgBTEAAUL/AINCD4aEIAsxAAFC/wCDQh2GhCE/IA1BAWohC0EACyEFIBYgPyALMQAAQiuGhEKggICAgICAfoQ3AwAgBSAMQfC9EWoiCyAVLQAAIgxBAnZBA3FqLQAAc0EBdCAFIAsgDEEDcWotAABzciAFIAsgDEEEdkEDcWotAABzQQN0ciAFIAsgDEEGdmotAABzQQV0ciAFIAsgFS0AASIMQQNxai0AAHNBB3RyIAUgCyAMQQJ2QQNxai0AAHNBCXRyIAUgCyAMQQR2QQNxai0AAHNBC3RyIAUgCyAMQQZ2ai0AAHNBDXRyIAUgCyAVLQACIgxBA3FqLQAAc0EPdHIgBSALIAxBAnZBA3FqLQAAc0ERdHIgBSALIAxBBHZBA3FqLQAAc0ETdHIgBSALIAxBBnZqLQAAc0EVdHIgBSALIBUtAAMiDEEDcWotAABzQRd0ciAFIAsgDEECdkEDcWotAABzQRl0ciAFIAsgDEEEdkEDcWotAABzQRt0ciAFIAsgDEEGdmotAABzQR10ciEFQR8hFEHCACEPQf////8HIQwDQCAWIA9BA3ZqIgsgCy0AACAMIA9BB3EiC3RBf3NxIAUgC3RyOgAAQQggC2siCyAUIAsgFEkbIgsgD2ohDyAMIAt2IQwgBSALdiEFIBQgC2siFA0ACwwNCyABIAkgJmogB2xqIQ0gBS0ABCEMIBUtAAkhFCAVLQAIIQsCQAJAAkAgFS0ACkEBaw4CAAECCwJAIAxBBHQgC0ECdGpB0MMBaigCACAFLQAAIgVBA3QgBUECdnJqIhRBgAJJDQAgFEF/SiEFQf8BIRQgBQ0AQQAhFAsgDSAUQQZ2rSANKQMIQnyDhDcDCCANIA0pAwBC/////////wGDIBStIj9COoaEID9CMoZCgICAgICAgP4Dg4Q3AwAMDgsCQCAFLQABIgVBA3QgBUECdnIiBSAMQQR0Ig9B0MMBaigCAGoiDEGAAkkNACAMQX9KIRZB/wEhDCAWDQBBACEMCyATIAw2AiACQCAPQdTDAWooAgAgBWoiDEGAAkkNACAMQX9KIRZB/wEhDCAWDQBBACEMCyATIAw2AiQCQCAPQdjDAWooAgAgBWoiDEGAAkkNACAMQX9KIRZB/wEhDCAWDQBBACEMCyATIAw2AigCQCAPQdzDAWooAgAgBWoiD0GAAkkNACAPQX9KIQVB/wEhDyAFDQBBACEPCyATIA82AiwgE0EgaiALQQJ0aigCACEMIA0gDSkDCEJ8gyI/IBNBIGogFEECdGooAgAiFEEGdkEDca2ENwMIIA0gDSkDAEL/////////AYMiQCAMQf8Bca1CMoaEIBStQjqGhDcDAEEAIQ9BAEEDIBUtAAAiBUEDcSALRhsiFkECcQRAQQMhDyANID8gDEEGdkEDca2ENwMIIA0gQCAMrUI6hoQgFEH/AXGtQjKGhDcDAEEAIRYgFS0AACEFCyAPIA9BA3MiDCAFQQJ2QQNxIAtGG0EBdCAWciAPIAwgBUEEdkEDcSALRhtBA3RyIA8gDCAFQQZ2IAtGG0EFdHIgDyAMIBUtAAEiBUEDcSALRhtBB3RyIA8gDCAFQQZ2IAtGG0ENdHIgDyAMIAVBAnZBA3EgC0YbQQl0ciAPIAwgBUEEdkEDcSALRhtBC3RyIA8gDCAVLQACIgVBA3EgC0YbQQ90ciAPIAwgBUEGdiALRhtBFXRyIA8gDCAFQQJ2QQNxIAtGG0ERdHIgDyAMIAVBBHZBA3EgC0YbQRN0ciAPIAwgFS0AAyIFQQNxIAtGG0EXdHIgDyAMIAVBBnYgC0YbQR10ciAPIAwgBUECdkEDcSALRhtBGXRyIA8gDCAFQQR2QQNxIAtGG0EbdHIhBUEfIRRB4QAhD0H/////ByEMA0AgDSAPQQN2aiILIAstAAAgDCAPQQdxIgt0QX9zcSAFIAt0cjoAAEEIIAtrIgsgFCALIBRJGyILIA9qIQ8gDCALdiEMIAUgC3YhBSAUIAtrIhQNAAsMDQsgDSANKQMIQnyDIj8gC0EEdCAUQQJ0akGQ0RNqKAIAIAxBwAFsaiAFLQAAQQZsakEDbCIFQfH5EGotAAAiC0EGdq2ENwMIIA0gDSkDAEL/////////AYMiQCAFQfD5EGotAAAiDK1C/wGDIkFCMoaEIAutIkJCOoaENwMAIAVB8vkQai0AACIUIBUtAAAiD0EBdEEGcXYiBUEDcSEWIAVBAnEEQCANIEJCMoYgQUI6hoQgQIQ3AwAgDSA/IAxBwAFxQQZ2rYQ3AwggFkEDcyEWIBRB/wFzIRQgFS0AACEPCyAUIBUtAAMiBUEBdEEGcXZBF3RBgICADHEgFCAVLQACIgtBAXRBBnF2QQ90QYCABnEgFCAVLQABIgxBAXRBBnF2QQd0QYADcSAUIA9BBXZBBnF2QQV0QeAAcSAUIA9BA3ZBBnF2QQN0QRhxIBYgFCAPQQF2QQZxdkEBdEEGcXJycnIgFCAMQQF2QQZxdkEJdEGADHFyIBQgDEEDdkEGcXZBC3RBgDBxciAUIAxBBXZBBnF2QQ10QYDAAXFyciAUIAtBAXZBBnF2QRF0QYCAGHFyIBQgC0EDdkEGcXZBE3RBgIDgAHFyIBQgC0EFdkEGcXZBFXRBgICAA3FyciAUIAVBAXZBBnF2QRl0QYCAgDBxciAUIAVBA3ZBBnF2QRt0QYCAgMABcXIgFCAFQQV2QQZxdkEddEGAgICABnFyIQVBHyEUQeEAIQ9B/////wchDANAIA0gD0EDdmoiCyALLQAAIAwgD0EHcSILdEF/c3EgBSALdHI6AABBCCALayILIBQgCyAUSRsiCyAPaiEPIAwgC3YhDCAFIAt2IQUgFCALayIUDQALDAwLIAEgCSAmaiAHbGohCyAFLQAEIQ8CQAJAIBUtAAgiFCAVLQAJIgxHBEBBACENIBQOAgECDAsCQCAPQQR0IBRBAnRqQdDDAWooAgAgBS0AACIFQQN0IAVBAnZyaiIUQYACSQ0AIBRBf0ohBUH/ASEUIAUNAEEAIRQLIAsgFEGAOnI7AQAgC0H4iAEoAQA2AQIgC0H8iAEvAQA7AQYMDQtBACAMQQJGQQF0IAxBA0YbIQ0MCgtBAUEDQQAgDEECRhsgDEEDRhshDQwJCyATQQA7AYgBIAEgCSAmaiAHbGohD0H/ASEeQQEhCwJAIBBFDQAgDSAPLwECQQtsaiIhLQAKIgtBAUcNAAJAIBcgDy8BAEEDdGoiDC0AASILQQN0IAtBAnZyIgsgDC0ABEEEdCIMQdDDAWooAgBqIhZBgAJJDQAgFkF/SiEUQf8BIRYgFA0AQQAhFgsgEyAWNgIgAkAgDEHUwwFqKAIAIAtqIhZBgAJJDQAgFkF/SiEUQf8BIRYgFA0AQQAhFgsgEyAWNgIkAkAgDEHYwwFqKAIAIAtqIhZBgAJJDQAgFkF/SiEUQf8BIRYgFA0AQQAhFgsgEyAWNgIoAkAgDEHcwwFqKAIAIAtqIhRBgAJJDQAgFEF/SiELQf8BIRQgCw0AQQAhFAsgEyAUNgIsIBNBIGogIS0ACEECdGooAgAhHkEBIQsLIBUtAAohISAVLQAJIRQgFS0ACCEMIAUtAAQhFgJAIAtBAUcNACAhQQFHDQAgBS0AAiILQQJ2IQ0gC0EDdCEVIAUtAAEiC0EDdCALQQJ2ciEXAkAgFkEEdCAMQQJ0akHQwwFqKAIAIgsgBS0AACIFQQN0IAVBAnZyaiIUQYACSQ0AIBRBf0ohBUH/ASEUIAUNAEEAIRQLIA0gFXIhBQJAIAsgF2oiDUGAAkkNACANQX9KIQxB/wEhDSAMDQBBACENCwJAIAUgC2oiFUGAAkkNACAVQX9KIQVB/wEhFSAFDQBBACEVCyAPQQA2AgwgD0L/////DzcCBCAPQfx7NgAAIBRBCHQgFHIhBUEQIQtBwAAhFANAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAsgDUEIdCANciEFQRAhCwNAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAsgFUEIdCAVciEFQRAhCwNAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAsgHkEIdCAeciEFQRAhCwNAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAsMCwsCQCALQQJLDQAgIUECSw0AIBNBQGsgBSAWEDAgEyATQUBrIAxBAnRqIgUtAAAiCzoAgAEgEyAFLQABIgw6AIIBIBMgBS0AAiIFOgCEASATIBNBQGsgFEECdGoiFi0AACIeOgCBASATIBYtAAEiIToAgwEgEyAWLQACIhY6AIUBIBYgHiAhamoiKCAFIAsgDGpqIj5JBEAgEyAFOgCFASATIBY6AIQBIBMgDDoAgwEgEyAhOgCCASATIAs6AIEBIBMgHjoAgAELAkAgEARAIA0gDy8BAkELbGohCwJAIBcgDy8BAEEDdGoiBS0AASIMQQN0IAxBAnZyIgwgBS0ABEEEdCINQdDDAWooAgBqIhZBgAJJDQAgFkF/SiEFQf8BIRYgBQ0AQQAhFgsgCy0ACSEFIAstAAghFyATIBY2AhACQCANQdTDAWooAgAgDGoiFkGAAkkNACAWQX9KIR5B/wEhFiAeDQBBACEWCyATIBY2AhQCQCANQdjDAWooAgAgDGoiFkGAAkkNACAWQX9KIR5B/wEhFiAeDQBBACEWCyATIBY2AhgCQCANQdzDAWooAgAgDGoiDEGAAkkNACAMQX9KIQ1B/wEhDCANDQBBACEMCyATIAw2AhwgEyATQRBqIBdBAnRqKAIAOgCGASATIBNBEGogBUECdGooAgA6AIcBIBMgCy0AACIMQQNxIAVGOgCLASATIAxBBnYgBUY6AJEBIBMgDEECdkEDcSAFRjoAjQEgEyAMQQR2QQNxIAVGOgCPASATIAstAAEiDEEDcSAFRjoAkwEgEyAMQQZ2IAVGOgCZASATIAxBAnZBA3EgBUY6AJUBIBMgDEEEdkEDcSAFRjoAlwEgEyALLQACIgxBA3EgBUY6AJsBIBMgDEEGdiAFRjoAoQEgEyAMQQJ2QQNxIAVGOgCdASATIAxBBHZBA3EgBUY6AJ8BIBMgCy0AAyILQQNxIAVGOgCjASATIAtBBnYgBUY6AKkBIBMgC0ECdkEDcSAFRjoApQEgEyALQQR2QQNxIAVGOgCnAQwBCyATQQA6AKkBIBNBADoApwEgE0EAOgClASATQQA6AKMBIBNBADoAoQEgE0EAOgCfASATQQA6AJ0BIBNBADoAmwEgE0EAOgCZASATQQA6AJcBIBNBADoAlQEgE0EAOgCTASATQQA6AJEBIBNBADoAjwEgE0EAOgCNASATQQA6AIsBIBNB//8DOwGGAQsgEyAoID5JIgUgFS0AACILQQZ2IBRGczoAkAEgEyAFIAtBA3EgFEZzOgCKASATIAUgC0EEdkEDcSAURnM6AI4BIBMgBSALQQJ2QQNxIBRGczoAjAEgEyAFIBUtAAEiC0EGdiAURnM6AJgBIBMgBSALQQNxIBRGczoAkgEgEyAFIAtBBHZBA3EgFEZzOgCWASATIAUgC0ECdkEDcSAURnM6AJQBIBMgBSAVLQACIgtBBnYgFEZzOgCgASATIAUgC0EDcSAURnM6AJoBIBMgBSALQQR2QQNxIBRGczoAngEgEyAFIAtBAnZBA3EgFEZzOgCcASATIAUgFS0AAyILQQZ2IBRGczoAqAEgEyAFIAtBA3EgFEZzOgCiASATIAUgC0EEdkEDcSAURnM6AKYBIBMgBSALQQJ2QQNxIBRGczoApAEgD0EANgIMIA9BwAE6AAsgD0IANwADIA9BAToAAiAPQcGIAjsAAEEIIQtBESEUIBMtAIABIQUDQCAPIBRBA3VqIgwgDC0AACAFIBRBB3EiDHRyOgAAIAUgC0EIIAxrIgUgBSALShsiDHYhBSAMIBRqIRQgCyAMayILDQALQQghCyATLQCBASEFA0AgDyAUQQN1aiIMIAwtAAAgBSAUQQdxIgx0cjoAACAFIAtBCCAMayIFIAUgC0obIgx2IQUgDCAUaiEUIAsgDGsiCw0AC0EIIQsgEy0AggEhBQNAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAtBCCELIBMtAIMBIQUDQCAPIBRBA3VqIgwgDC0AACAFIBRBB3EiDHRyOgAAIAUgC0EIIAxrIgUgBSALShsiDHYhBSAMIBRqIRQgCyAMayILDQALQQghCyATLQCEASEFA0AgDyAUQQN1aiIMIAwtAAAgBSAUQQdxIgx0cjoAACAFIAtBCCAMayIFIAUgC0obIgx2IQUgDCAUaiEUIAsgDGsiCw0AC0EIIQsgEy0AhQEhBQNAIA8gFEEDdWoiDCAMLQAAIAUgFEEHcSIMdHI6AAAgBSALQQggDGsiBSAFIAtKGyIMdiEFIAwgFGohFCALIAxrIgsNAAtBCCELIBMtAIYBIQUDQCAPIBRBA3VqIgwgDC0AACAFIBRBB3EiDHRyOgAAIAUgC0EIIAxrIgUgBSALShsiDHYhBSAMIBRqIRQgCyAMayILDQALQQghCyATLQCHASEFA0AgDyAUQQN1aiIMIAwtAAAgBSAUQQdxIgx0cjoAACAFIAtBCCAMayIFIAUgC0obIgx2IQUgDCAUaiEUIAsgDGsiCw0AC0EAIRQDQCAPQf8AIBRrIgVBA3ZqIgsgCy0AACATIBRqLQCKASAFQQdxdHI6AAAgFEEBaiIUQSBHDQALDAsLAkAgEARAIBcgDy8BAEEDdGoiHi0ABCEXIA0gDy8BAkELbGoiDS0ACCIhIA0tAAkiC0YEQAJAIB4tAAEiC0EDdCALQQJ2ciILIBdBBHQiF0HQwwFqKAIAaiINQYACSQ0AIA1Bf0ohHkH/ASENIB4NAEEAIQ0LIBMgDTYCQAJAIBdB1MMBaigCACALaiINQYACSQ0AIA1Bf0ohHkH/ASENIB4NAEEAIQ0LIBMgDTYCRAJAIBdB2MMBaigCACALaiINQYACSQ0AIA1Bf0ohHkH/ASENIB4NAEEAIQ0LIBMgDTYCSAJAIBdB3MMBaigCACALaiILQYACSQ0AIAtBf0ohDUH/ASELIA0NAEEAIQsLIBMgCzYCTCATQQE6AKkBIBNBAToApwEgE0EBOgClASATQQE6AKMBIBNBAToAoQEgE0EBOgCfASATQQE6AJ0BIBNBAToAmwEgE0EBOgCZASATQQE6AJcBIBNBAToAlQEgE0EBOgCTASATQQE6AJEBIBNBAToAjwEgE0EBOgCNASATQQE6AIsBIBMgE0FAayAhQQJ0aigCAEEBdEHQ3xNqLwEAOwGGAQwCCwJAIBdBB0kNACALQQNHDQAgIQ0AIA0tAApBAkcNACATQUBrIB4gFxAwIBMgEy0AQUHQ4xNqLQAAOgCGASATIBMtAE1B0OMTai0AADoAhwEgE0EDQQAgDS0AACIXQQNxIAtGGzoAiwEgE0EDQQAgF0EGdiALRhs6AJEBIBNBA0EAIBdBAnZBA3EgC0YbOgCNASATQQNBACAXQQR2QQNxIAtGGzoAjwEgE0EDQQAgDS0AASIXQQNxIAtGGzoAkwEgE0EDQQAgF0EGdiALRhs6AJkBIBNBA0EAIBdBAnZBA3EgC0YbOgCVASATQQNBACAXQQR2QQNxIAtGGzoAlwEgE0EDQQAgDS0AAiIXQQNxIAtGGzoAmwEgE0EDQQAgF0EGdiALRhs6AKEBIBNBA0EAIBdBAnZBA3EgC0YbOgCdASATQQNBACAXQQR2QQNxIAtGGzoAnwEgE0EDQQAgDS0AAyINQQNxIAtGGzoAowEgE0EDQQAgDUEGdiALRhs6AKkBIBNBA0EAIA1BAnZBA3EgC0YbOgClASATQQNBACANQQR2QQNxIAtGGzoApwEMAgsgEyAeLQABIh4gF0EFdGpBPGwgIUEEdCALQQJ0akHQ3RNqKAIAIgtBCmxqQQJ0IB5BMGwgF0EGbGogC2pB0NETai0AAEECdCILakGwxwFqLwEAOwGGASATIAtB8L0RaiILIA0tAAAiF0EDcWotAAA6AIsBIBMgCyAXQQZ2ai0AADoAkQEgEyALIBdBBHZBA3FqLQAAOgCPASATIAsgF0ECdkEDcWotAAA6AI0BIBMgCyANLQABIhdBBnZqLQAAOgCZASATIAsgF0EDcWotAAA6AJMBIBMgCyAXQQR2QQNxai0AADoAlwEgEyALIBdBAnZBA3FqLQAAOgCVASATIAsgDS0AAiIXQQZ2ai0AADoAoQEgEyALIBdBA3FqLQAAOgCbASATIAsgF0EEdkEDcWotAAA6AJ8BIBMgCyAXQQJ2QQNxai0AADoAnQEgEyALIA0tAAMiDUEGdmotAAA6AKkBIBMgCyANQQNxai0AADoAowEgEyALIA1BBHZBA3FqLQAAOgCnASATIAsgDUECdkEDcWotAAA6AKUBDAELIBNBADoAqQEgE0EAOgCnASATQQA6AKUBIBNBADoAowEgE0EAOgChASATQQA6AJ8BIBNBADoAnQEgE0EAOgCbASATQQA6AJkBIBNBADoAlwEgE0EAOgCVASATQQA6AJMBIBNBADoAkQEgE0EAOgCPASATQQA6AI0BIBNBADoAiwEgE0GBAjsBhgELAkAgDCAURgRAIBNBQGsgBSAWEDBBASEUIBMgE0FAayAMQQJ0aiIFLQAAQQF0IgxB0N8Tai0AACILOgCAASATIAxB0d8Tai0AACIMOgCBASATIAUtAAFBAXQiFUHQ3xNqLQAAIg06AIIBIBMgFUHR3xNqLQAAIhU6AIMBIBMgBS0AAkEBdCIWQdDfE2otAAAiBToAhAEgEyAWQdHfE2otAAAiFjoAhQEgFkECdEGQ3hNqKAIAIBVBAnRBkN4TaigCACAMQQJ0QZDeE2ooAgBqaiAFQQJ0QZDeE2ooAgAgDUECdEGQ3hNqKAIAIAtBAnRBkN4TaigCAGpqSARAIBMgBToAhQEgEyAWOgCEASATIA06AIMBIBMgFToAggEgEyALOgCBASATIAw6AIABQQIhFAsgEyAUOgCoASATIBQ6AKYBIBMgFDoApAEgEyAUOgCiASATIBQ6AKABIBMgFDoAngEgEyAUOgCcASATIBQ6AJoBIBMgFDoAmAEgEyAUOgCWASATIBQ6AJQBIBMgFDoAkgEgEyAUOgCQASATIBQ6AI4BIBMgFDoAjAEgEyAUOgCKAQwBCwJAIBZBB0kNACAVLQAKQQJHDQAgFS0ACA0AIBUtAAlBA0cNACATQUBrIAUgFhAwIBMgEy0AQEHQ4xNqLQAAIgU6AIABIBMgEy0ATEHQ4xNqLQAAIgs6AIEBIBMgEy0AQUHQ4xNqLQAAIg06AIIBIBMgEy0ATUHQ4xNqLQAAIhQ6AIMBIBMgEy0AQkHQ4xNqLQAAIhY6AIQBIBMgEy0ATkHQ4xNqLQAAIhc6AIUBIBdBAnRBkN4TaigCACAUQQJ0QZDeE2ooAgAgC0ECdEGQ3hNqKAIAamogFkECdEGQ3hNqKAIAIA1BAnRBkN4TaigCACAFQQJ0QZDeE2ooAgBqak4EQCATQQBBAyAVLQAAIgVBBnYgDEYbOgCQASATQQBBAyAFQQNxIAxGGzoAigEgE0EAQQMgBUEEdkEDcSAMRhs6AI4BIBNBAEEDIAVBAnZBA3EgDEYbOgCMASATQQBBAyAVLQABIgVBBnYgDEYbOgCYASATQQBBAyAFQQNxIAxGGzoAkgEgE0EAQQMgBUEEdkEDcSAMRhs6AJYBIBNBAEEDIAVBAnZBA3EgDEYbOgCUASATQQBBAyAVLQACIgVBBnYgDEYbOgCgASATQQBBAyAFQQNxIAxGGzoAmgEgE0EAQQMgBUEEdkEDcSAMRhs6AJ4BIBNBAEEDIAVBAnZBA3EgDEYbOgCcASATQQBBAyAVLQADIgVBA3EgDEYbOgCiASATQQBBAyAFQQR2QQNxIAxGGzoApgEgE0EAQQMgBUECdkEDcSAMRhs6AKQBIBNBAEEDIAVBBnYgDEYbOgCoAQwCCyATIBY6AIUBIBMgFzoAhAEgEyANOgCDASATIBQ6AIIBIBMgBToAgQEgEyALOgCAASATQQNBACAVLQAAIgVBBnYgDEYbOgCQASATQQNBACAFQQNxIAxGGzoAigEgE0EDQQAgBUEEdkEDcSAMRhs6AI4BIBNBA0EAIAVBAnZBA3EgDEYbOgCMASATQQNBACAVLQABIgVBBnYgDEYbOgCYASATQQNBACAFQQNxIAxGGzoAkgEgE0EDQQAgBUEEdkEDcSAMRhs6AJYBIBNBA0EAIAVBAnZBA3EgDEYbOgCUASATQQNBACAVLQACIgVBBnYgDEYbOgCgASATQQNBACAFQQNxIAxGGzoAmgEgE0EDQQAgBUEEdkEDcSAMRhs6AJ4BIBNBA0EAIAVBAnZBA3EgDEYbOgCcASATQQNBACAVLQADIgVBA3EgDEYbOgCiASATQQNBACAFQQR2QQNxIAxGGzoApgEgE0EDQQAgBUECdkEDcSAMRhs6AKQBIBNBA0EAIAVBBnYgDEYbOgCoAQwBCyATIAxBBHQgFEECdGpB0N0TaigCAEEKbCINIBZBBXQiFCAFLQACakE8bGpBAnQiC0EJQQhBB0EGQQVBBEEDQQIgC0G2xwFqLwEAIBQgBS0AAWpBPGwgDWpBAnQiDEG2xwFqLwEAIBQgBS0AAGpBPGwgDWpBAnQiBUG2xwFqLwEAamoiDSALQbLHAWovAQAgDEGyxwFqLwEAIAVBsscBai8BAGpqIhRJIhYgC0G6xwFqLwEAIAxBuscBai8BACAFQbrHAWovAQBqaiIXIA0gFCAWGyINSSIUGyALQb7HAWovAQAgDEG+xwFqLwEAIAVBvscBai8BAGpqIhYgFyANIBQbIg1JIhQbIAtBwscBai8BACAMQcLHAWovAQAgBUHCxwFqLwEAamoiFyAWIA0gFBsiDUkiFBsgC0HGxwFqLwEAIAxBxscBai8BACAFQcbHAWovAQBqaiIWIBcgDSAUGyINSSIUGyALQcrHAWovAQAgDEHKxwFqLwEAIAVByscBai8BAGpqIhcgFiANIBQbIg1JIhQbIAtBzscBai8BACAMQc7HAWovAQAgBUHOxwFqLwEAamoiFiAXIA0gFBsiDUkiFBsgC0HSxwFqLwEAIAxB0scBai8BACAFQdLHAWovAQBqaiIXIBYgDSAUGyINSSIUGyALQdbHAWovAQAgDEHWxwFqLwEAIAVB1scBai8BAGpqIBcgDSAUG0kbQQJ0IgtqIhRBsccBai0AACINOgCFASATIBRBsMcBai0AACIUOgCEASATIAsgDGoiFkGxxwFqLQAAIgw6AIMBIBMgFkGwxwFqLQAAIhY6AIIBIBMgBSALaiIXQbHHAWotAAAiBToAgQEgEyAXQbDHAWotAAAiFzoAgAEgDUECdEGQ3hNqKAIAIAxBAnRBkN4TaigCACAFQQJ0QZDeE2ooAgBqaiAUQQJ0QZDeE2ooAgAgFkECdEGQ3hNqKAIAIBdBAnRBkN4TaigCAGpqTgRAIBMgC0HwvRFqIgUgFS0AACILQQZ2ai0AADoAkAEgEyAFIAtBA3FqLQAAOgCKASATIAUgC0EEdkEDcWotAAA6AI4BIBMgBSALQQJ2QQNxai0AADoAjAEgEyAFIBUtAAEiC0EGdmotAAA6AJgBIBMgBSALQQNxai0AADoAkgEgEyAFIAtBBHZBA3FqLQAAOgCWASATIAUgC0ECdkEDcWotAAA6AJQBIBMgBSAVLQACIgtBBnZqLQAAOgCgASATIAUgC0EDcWotAAA6AJoBIBMgBSALQQR2QQNxai0AADoAngEgEyAFIAtBAnZBA3FqLQAAOgCcASATIAUgFS0AAyILQQZ2ai0AADoAqAEgEyAFIAtBA3FqLQAAOgCiASATIAUgC0EEdkEDcWotAAA6AKYBIBMgBSALQQJ2QQNxai0AADoApAEMAQsgEyAUOgCFASATIA06AIQBIBMgFjoAgwEgEyAMOgCCASATIBc6AIEBIBMgBToAgAEgE0EDIAtB8L0RaiIFIBUtAAAiC0EGdmotAABrOgCQASATQQMgBSALQQNxai0AAGs6AIoBIBNBAyAFIAtBBHZBA3FqLQAAazoAjgEgE0EDIAUgC0ECdkEDcWotAABrOgCMASATQQMgBSAVLQABIgtBBnZqLQAAazoAmAEgE0EDIAUgC0EDcWotAABrOgCSASATQQMgBSALQQR2QQNxai0AAGs6AJYBIBNBAyAFIAtBAnZBA3FqLQAAazoAlAEgE0EDIAUgFS0AAiILQQZ2ai0AAGs6AKABIBNBAyAFIAtBA3FqLQAAazoAmgEgE0EDIAUgC0EEdkEDcWotAABrOgCeASATQQMgBSALQQJ2QQNxai0AAGs6AJwBIBNBAyAFIBUtAAMiC0EGdmotAABrOgCoASATQQMgBSALQQNxai0AAGs6AKIBIBNBAyAFIAtBBHZBA3FqLQAAazoApgEgE0EDIAUgC0ECdkEDcWotAABrOgCkAQsgD0IANwIIIA9BwAE6AAdBACEUIA9BADYAAyAPQQE6AAIgD0HCiAI7AAAgE0ERNgJAIA8gE0GAAWogE0FAa0EEEG0gDyA8IBNBQGtBBBBtA0AgD0H+ACAUQQF0ayIFQQN2aiILIAstAAAgEyAUai0AigFBmL4Rai0AACAFQQZxdHI6AAAgFEEBaiIUQSBHDQALDAoLIAEgCSAmaiAHbGoiBSALOwECIAUgGTsBAAwJCwJAIAUtAAEiC0EDdCALQQJ2ciILIAUtAARBBHQiDEHQwwFqKAIAaiIFQYACSQ0AIAVBf0ohDUH/ASEFIA0NAEEAIQULIAlBAnQhDSATIAU2AoABAkAgDEHUwwFqKAIAIAtqIgVBgAJJDQAgBUF/SiEPQf8BIQUgDw0AQQAhBQsgDSAjaiEPIBMgBTYChAECQCAMQdjDAWooAgAgC2oiBUGAAkkNACAFQX9KIRZB/wEhBSAWDQBBACEFCyAPQQJ0IRYgDiANayENIBMgBTYCiAECQCAMQdzDAWooAgAgC2oiD0GAAkkNACAPQX9KIQVB/wEhDyAFDQBBACEPCyABIBZqIQsgEyAPNgKMASANQQNMBEAgHyAuRg0JQQAhDCANRQ0JA0AgDCAVai0AACEFQQAhDwNAIAsgD0ECdEEDcmogE0GAAWogBSAPQQF0dkEDcUECdHIoAgA6AAAgD0EBaiIPIBRHDQALIAsgN2ohCyAMQQFqIgwgJUcNAAsMCQtBACEPIB8gLkYNCANAIAsgE0GAAWogDyAVai0AACIFQQNxQQJ0cigCADoAAyALIBNBgAFqIAVBDHFyKAIAOgAHIAsgE0GAAWogBUECdkEMcXIoAgA6AAsgCyATQYABaiAFQQR2QQxxcigCADoADyALIDdqIQsgD0EBaiIPICVHDQALDAgLIBNBgAFqIAUgBS0ABBAwIB8gLkYNByAOIAlBAnQiBUYNByABIAUgI2pBAnRqIQtBACEWA0AgFSAWai0AACENQQAhDwNAIAsgD0ECdCIFaiATQYABaiANIA9BAXR2QQNxQQJ0ciIMLQAAOgAAIAsgBUEBcmogDC0AAToAACALIAVBAnJqIAwtAAI6AAAgD0EBaiIPIBRHDQALIAsgN2ohCyAWQQFqIhYgJUcNAAsMBwsgE0GAAWogBSAFLQAEEDAgHyAuRg0GIA4gCUECdCIFRg0GIAEgBSAjakECdGohD0EAIRYDQCAVIBZqLQAAIQ1BACELA0AgDyALQQJ0IgVqIBNBgAFqIA0gC0EBdHZBA3FBAnRyIgwtAAA6AAAgDyAFQQFyaiAMLQABOgAAIA8gBUECcmogDC0AAjoAACAPIAVBA3JqQf8BOgAAIAtBAWoiCyAURw0ACyAPIDdqIQ8gFkEBaiIWICVHDQALDAYLIBNBgAFqIAUgBS0ABBAwAn8gBkEYRwRAIBMgEy0AgQFBP2xBgAFqIgVBCHYgBWpBA3ZB4D9xIBMtAIIBQR9sQYABaiIFQQh2IAVqQQN0QYDwA3FyIBMtAIABQR9sQYABaiIFQQh2IAVqQQh2cjsBQCATIBMtAIUBQT9sQYABaiIFQQh2IAVqQQN2QeA/cSATLQCGAUEfbEGAAWoiBUEIdiAFakEDdEGA8ANxciATLQCEAUEfbEGAAWoiBUEIdiAFakEIdnI7AUIgEyATLQCJAUE/bEGAAWoiBUEIdiAFakEDdkHgP3EgEy0AigFBH2xBgAFqIgVBCHYgBWpBA3RBgPADcXIgEy0AiAFBH2xBgAFqIgVBCHYgBWpBCHZyOwFEICwhDyATLQCNAUE/bEGAAWoiBUEIdiAFakEDdkHgP3EgEy0AjgFBH2xBgAFqIgVBCHYgBWpBA3RBgPAPcXIMAQsgEyATLQCBAUE/bEGAAWoiBUEIdiAFakEDdkHgP3EgEy0AgAFBH2xBgAFqIgVBCHYgBWpBA3RBgPADcXIgEy0AggFBH2xBgAFqIgVBCHYgBWpBCHZyOwFAIBMgEy0AhQFBP2xBgAFqIgVBCHYgBWpBA3ZB4D9xIBMtAIQBQR9sQYABaiIFQQh2IAVqQQN0QYDwA3FyIBMtAIYBQR9sQYABaiIFQQh2IAVqQQh2cjsBQiATIBMtAIkBQT9sQYABaiIFQQh2IAVqQQN2QeA/cSATLQCIAUEfbEGAAWoiBUEIdiAFakEDdEGA8ANxciATLQCKAUEfbEGAAWoiBUEIdiAFakEIdnI7AUQgHSEPIBMtAI0BQT9sQYABaiIFQQh2IAVqQQN2QeA/cSATLQCMAUEfbEGAAWoiBUEIdiAFakEDdEGA8A9xcgshBSATIAUgDy0AAEEfbEGAAWoiC0EIdiALakEIdnI7AUYgHyAuRg0FIA4gCUECdCIFRg0FIAEgBSAjakEBdGohBUEAIQ0DQCANIBVqLQAAIQtBACEPA0AgBSAPQQF0IgxqIBNBQGsgCyAMdkEDcUEBdGovAQA7AQAgD0EBaiIPIBRHDQALIAUgNmohBSANQQFqIg0gJUcNAAsMBQsgE0GAAWogBSAFLQAEEDAgEyATLQCCAUEPbEGAAWoiBUEIdiAFakEEdkHwB3EgEy0AgAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcSATLQCBAUEPbEGAAWoiBUEIdiAFakGA/gBxcnI7AUAgEyATLQCGAUEPbEGAAWoiBUEIdiAFakEEdkHwB3EgEy0AhAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcSATLQCFAUEPbEGAAWoiBUEIdiAFakGA/gBxcnI7AUIgEyATLQCKAUEPbEGAAWoiBUEIdiAFakEEdkHwB3EgEy0AiAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcSATLQCJAUEPbEGAAWoiBUEIdiAFakGA/gBxcnI7AUQgEyATLQCOAUEPbEGAAWoiBUEIdiAFakEEdkHwB3EgEy0AjAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcSATLQCNAUEPbEGAAWoiBUEIdiAFakGA/gBxcnI7AUYgHyAuRg0EIA4gCUECdCIFRg0EIAEgBSAjakEBdGohDEEAIRYDQCAVIBZqLQAAIQVBACEPA0AgDCAPQQF0IgtqIg0gE0FAayAFIAt2QQNxQQF0ai8BACANLwEAQQ9xcjsBACAPQQFqIg8gFEcNAAsgDCA2aiEMIBZBAWoiFiAlRw0ACwwECyATQYABaiAFIAUtAAQQMCATIBMtAIEBQQ9sQYABaiIFQQh2IAVqQYD+AHEgEy0AgAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcXIgEy0AggFBD2xBgAFqIgVBCHYgBWpBgP4AcUEEdnJBD3I7AUAgEyATLQCFAUEPbEGAAWoiBUEIdiAFakGA/gBxIBMtAIQBQQ9sQYABaiIFQQh2IAVqQQR0QYDgA3FyIBMtAIYBQQ9sQYABaiIFQQh2IAVqQYD+AHFBBHZyQQ9yOwFCIBMgEy0AiQFBD2xBgAFqIgVBCHYgBWpBgP4AcSATLQCIAUEPbEGAAWoiBUEIdiAFakEEdEGA4ANxciATLQCKAUEPbEGAAWoiBUEIdiAFakGA/gBxQQR2ckEPcjsBRCATIBMtAI0BQQ9sQYABaiIFQQh2IAVqQYD+AHEgEy0AjAFBD2xBgAFqIgVBCHYgBWpBBHRBgOADcXIgEy0AjgFBD2xBgAFqIgVBCHYgBWpBgP4AcUEEdnJBD3I7AUYgHyAuRg0DIA4gCUECdCIFRg0DIAEgBSAjakEBdGohBUEAIQ0DQCANIBVqLQAAIQtBACEPA0AgBSAPQQF0IgxqIBNBQGsgCyAMdkEDcUEBdGovAQA7AQAgD0EBaiIPIBRHDQALIAUgNmohBSANQQFqIg0gJUcNAAsMAwsgE0GAAWogBSAFLQAEEDAgEyATLQCBAUEPbEGAAWoiBUEIdiAFakEIdjsBQCATIBMtAIUBQQ9sQYABaiIFQQh2IAVqQQh2OwFCIBMgEy0AiQFBD2xBgAFqIgVBCHYgBWpBCHY7AUQgEyATLQCNAUEPbEGAAWoiBUEIdiAFakEIdjsBRiAfIC5GDQIgDiAJQQJ0IgVGDQIgASAFICNqQQF0aiEFQQAhDQNAIA0gFWotAAAhC0EAIQ8DQCAFIA9BAXQiDGogE0FAayALIAx2QQNxQQF0ai8BADsBACAPQQFqIg8gFEcNAAsgBSA2aiEFIA1BAWoiDSAlRw0ACwwCCyALIAUtAAAgD0EFdGpBBHQgDUECdHIiBUHxnRFqLQAAIgxBDHQgBUHwnRFqLQAAciAMQQR0QYAecXI7AQAgCyAFQfKdEWovAQAiBSAVLQAAIgxBA3FBA2x2QQdxrUIthiAFIAxBBnZBA2x2QQl0QYAcca2EIAUgDEECdkEDcUEDbHZBB3GtQiGGhCAFIAxBBHZBA3FBA2x2QRV0QYCAgAdxrYQgBSAVLQABIgxBA3FBA2x2QQdxrUIqhoQgBSAMQQZ2QQNsdkEGdEHAA3GthCI/IAUgFS0AAyINQQZ2QQNsdkEHcSAFIBUtAAIiD0EGdkEDbHZBA3RBOHFyrYQ8AAcgCyAFIAxBBHZBA3FBA2x2QRJ0QYCA8ABxrSA/IAUgDEECdkEDcUEDbHZBB3GtQh6GhIQgBSAPQQNxQQNsdkEHca1CJ4aEIj9CKIg8AAIgCyA/IAUgDUEDcUEDbHZBB3GtQiSGhEIgiDwAAyALID8gBSAPQQJ2QQNxQQNsdkEbdEGAgIDAA3GthCI/IAUgD0EEdkEDcUEDbHZBD3RBgIAOca2EIkBCEIg8AAUgCyA/IAUgDUECdkEDcUEDbHZBGHRBgICAOHGthEIYiDwABCALIEAgBSANQQR2QQNxQQNsdkEMdEGA4AFxrYRCCIg8AAYMAQsgCyAFLQAAIA9BBXRqQQR0IA1BAnRyIgVB8OcMai8BADsAACALIAVB8ucMai8BACIFIBUtAABBA3FBA2x2QQdxIgwgCy0AAiINQfgBcXI6AAIgCyAFIBUtAABBAnZBA3FBA2x2QQN0QThxIAwgCy0AA0EIdCIPIA1BwAFxcnJyIgw6AAIgCyAFIBUtAABBBHZBA3FBA2x2QQZ0QcADcSAMQT9xIA9BgPwDcXJyIgw7AAIgCyAFIBUtAABBBnZBA2x2QQF0QQ5xIg0gDEEIdiIMQfEBcXI6AAMgCyAFIBUtAAFBA3FBA2x2QQR0QfAAcSAMQYEBcSANIAstAARBCHQiDHJyciINOgADIAsgBSAVLQABQQJ2QQNxQQNsdkEHdEGAB3EgDUH/AHEgDEGA+ANxcnIiDDsAAyALIAUgFS0AAUEEdkEDcUEDbHZBAnRBHHEgDEEIdkHjAXFyIgw6AAQgCyAMQR9xIAUgFS0AAUEGdkEDbHZBBXRyOgAEIAsgBSAVLQACQQNxQQNsdkEHcSIMIAstAAUiDUH4AXFyOgAFIAsgBSAVLQACQQJ2QQNxQQNsdkEDdEE4cSAMIAstAAZBCHQiDyANQcABcXJyciIMOgAFIAsgBSAVLQACQQR2QQNxQQNsdkEGdEHAA3EgDEE/cSAPQYD8A3FyciIMOwAFIAsgDEEIdkHxAXEgCy0AB0EIdCIMIAUgFS0AAkEGdkEDbHZBAXRBDnFyciINOgAGIAsgDUGPAXEgBSAVLQADQQNxQQNsdkEEdEHwAHEgDHJyIg06AAYgCyAFIBUtAANBAnZBA3FBA2x2QQd0Ig8gDUH/AHFyOgAGIAsgD0GABnEgDEGA+ANxckEIdiIMOgAHIAsgDEHjAXEgBSAVLQADQQR2QQNxQQNsdkECdEEccXIiDDoAByALIAxBH3EgBSAVLQADQQZ2QQNsdkEFdHI6AAcLIDFBBGshMSAJQQFqIgkgAkkhDSACIAlHDQEMAwsLICoQJAsgDUEBcUUNAEEAIRQMAwsgOEEEayE4IBtBAWoiGyADRw0AC0EAIRQgGg0BCwJAAkACQCAGQQZrDgIAAQILIANBAUgNAUF/QSAgAkEBayIQZ2tBACAQGyIAQSAgA0EBayIxZ2tBACAxGyIEIAAgBEkbIi1BAXQiHXRBf3MhKSAQQQFxQQJ0IS5BACEaQQAhJwNAICdBAWshB0EAIQ8DQCAPQQJ0IgUgE0E0amogOiAHIA9qIDFxIAJsQQJ0aiIENgIAIBNBQGsgBWoiBiAEIBBBAnRqKAIAIgBBGnZBH3EgAEEVdkEfcWogAEEQdkEfcWpB/wFsQR9uNgIAIBNBgAFqIAVqIgUgAEEecSIIIABBBXZBH3FqIABBCnZBH3FqIAhBBHZqQf8BbEEfbjYCACAGIAQoAgAiAEEadkEfcSAAQRV2QR9xaiAAQRB2QR9xakH/AWxBH242AhAgBSAAQR5xIgggAEEFdkEfcWogAEEKdkEfcWogCEEEdmpB/wFsQR9uNgIQIAYgBCAuaigCACIAQRp2QR9xIABBFXZBH3FqIABBEHZBH3FqQf8BbEEfbjYCICAFIABBHnEiBCAAQQV2QR9xaiAAQQp2QR9xaiAEQQR2akH/AWxBH242AiAgD0EBaiIPQQNHDQALIAJBAU4EQCAnQf8BcUEBdEGgwBFqLwEAICdBB3ZB/v//D3FBoMARai8BAEEQdHIhJSAnIC12IB10ISZBACEOIBMoAlghByATKAJIIQQgEygCmAEhDCATKAKIASEVIBMoAlQhEiATKAJEIRQgEygCUCEAIBMoAkAhCyATKAKUASEJIBMoAoQBIQ8gEygCkAEhGCATKAKAASEFIBMoAjwhHyATKAI4ISMgEygCNCEyA0AgBSEKIBghBSAPIQYgCSEPIAshCSAAIQsgFCEIIBIhFCAVIQ0gDCEVIAQhDCAHIQQgAQJ/ICUgDkEHdkH+//8PcUGgwBFqLwEAQRF0ciAOQf8BcUEBdEGgwBFqLwEAQQF0ciIAIAIgA0YNABogACApcSIAIA4gLXYgHXRyIAIgA0sNABogACAmcgtBA3RqIhIgOiAaQQJ0aigCADYCBCATICogGkEDdGoiACgCACIHQRl2QfAAcSIRQaDEEWooAgAgB0ETdkEfcUGgzhFqLQAAIAdBC3ZBH3FBoM4Rai0AACAHQQN2QR9xQaDOEWotAABqakEEdCIHajYCLCATIBFBpMQRaigCACAHajYCKCATIBFBrMQRaigCACAHajYCJCATIAcgEUGoxBFqKAIAajYCICASQQxBCEEAIBNBIGogAC0ABSIkQfABcSAALQAHIiJBBHZyIhFBoMURai0AAEECdGooAgAgD0EGbCIZIAVBBmxqIhsgBiAKakEBdGoiB2tBBHQiEmsgEiAUQQZsIhggC0EGbGoiHCAIIAlqQQF0aiIsIAdIIhYbIhJBACAsIAdrIgdrIAcgFhsiB0EDbEpBAnQgEiAHQQN0ShsgEiAHQQ1sShtBA0ECQQAgE0EgaiAkQQR0QfABcSAiQQ9xciIkQaDFEWotAABBAnRqKAIAIAUgCmoiIiAGIA9qIixqQQJ0IgdrQQR0IhJrIBIgCSALaiIgIAggFGoiFmpBAnQiKyAHSCIvGyISQQAgKyAHayIHayAHIC8bIgdBA2xKIBIgB0EDdEobIBIgB0ENbEobckGABkGABEEAIBNBIGogJEGgxxFqLQAAQQJ0aigCACAGQQZsIBlqICJBAXRqIgdrQQR0IhJrIBIgCEEGbCAYaiAgQQF0aiIiIAdIIhkbIhJBACAiIAdrIgdrIAcgGRsiB0EDbEpBCHQgEiAHQQN0ShsgEiAHQQ1sShtyQYAYQYAQQQAgE0EgaiARQaDHEWotAABBAnRqKAIAIAVBA2wiKyAPQQlsIi8gBkEDbGoiNSAKamoiB2tBBHQiCmsgCiALQQNsIhcgFEEJbCIwIAhBA2xqIjYgCWpqIgogB0giEhsiCUEAIAogB2siB2sgByASGyIHQQNsSkEKdCAJIAdBA3RKGyAJIAdBDWxKG3JBMEEgQQAgE0EgaiAALQAEIglBBHRB8AFxIAAtAAYiEkEPcXIiCkGgxRFqLQAAQQJ0aigCACAFIA9qQQN0IgBrQQR0IgdrIAcgCyAUakEDdCIiIABIIhkbIgdBACAiIABrIgBrIAAgGRsiAEEDbEpBBHQgByAAQQN0ShsgByAAQQ1sShtyQcABQYABQQAgE0EgaiAJQfABcSASQQR2ciIiQaDFEWotAABBAnRqKAIAIBsgMiAOQQFqIg4gEHFBAnQiIGooAgAiAEEFdkEfcSAAQR5xIgdqIABBCnZBH3FqIAdBBHZqQf8BbEEfbiIYQQF0aiAgICNqKAIAIgdBBXZBH3EgB0EecSIJaiAHQQp2QR9xaiAJQQR2akH/AWxBH24iCUEBdGoiGWtBBHQiEmsgEiAAQRp2QR9xIABBFXZBH3FqIABBEHZBH3FqQf8BbEEfbiIAQQF0IBxqIAdBGnZBH3EgB0EVdkEfcWogB0EQdkEfcWpB/wFsQR9uIhJBAXRqIhsgGUgiHBsiB0EAIBsgGWsiGWsgGSAcGyIZQQNsSkEGdCAHIBlBA3RKGyAHIBlBDWxKG3JBgOAAQYDAAEEAIBNBIGogCkGgxxFqLQAAQQJ0aigCACAPQQxsIgcgBUECdGoiG2tBBHQiGWsgGSAUQQxsIhkgC0ECdGoiNyAbSCI4GyIcQQAgNyAbayIbayAbIDgbIhtBA2xKQQx0IBwgG0EDdEobIBwgG0ENbEobckGAgANBgIACQQAgE0EgaiAiQaDHEWotAABBAnRqKAIAICsgCUEDbCAvaiIvaiAYaiIba0EEdCIcayAcIBJBA2wgMGoiKyAXaiAAaiIXIBtIIjAbIhxBACAXIBtrIhtrIBsgMBsiG0EDbEpBDnQgHCAbQQN0ShsgHCAbQQ1sShtyQYCADEGAgAhBACATQSBqICRBoMkRai0AAEECdGooAgAgLEEDdCIba0EEdCIcayAcIBZBA3QiFyAbSCIwGyIcQQAgFyAbayIbayAbIDAbIhtBA2xKQRB0IBwgG0EDdEobIBwgG0ENbEobckGAgDBBgIAgQQAgE0EgaiARQaDJEWotAABBAnRqKAIAIAZBAnQgB2oiBmtBBHQiG2sgGyAIQQJ0IBlqIhsgBkgiHBsiCEEAIBsgBmsiBmsgBiAcGyIGQQNsSkESdCAIIAZBA3RKGyAIIAZBDWxKG3JBgICAGEGAgIAQQQAgE0EgaiAkQaDLEWotAABBAnRqKAIAICxBBmwgDSAVakEBdGoiBmtBBHQiCGsgCCAWQQZsIAQgDGpBAXRqIiQgBkgiLBsiCEEAICQgBmsiBmsgBiAsGyIGQQNsSkEYdCAIIAZBA3RKGyAIIAZBDWxKG3JBgICA4ABBgICAwABBACATQSBqIBFBoMsRai0AAEECdGooAgAgDSAVQQNsIhFqIDVqIgZrQQR0IghrIAggBEEDbCINIAxqIDZqIgwgBkgiJBsiCEEAIAwgBmsiBmsgBiAkGyIGQQNsSkEadCAIIAZBA3RKGyAIIAZBDWxKG3JBgIDAAUGAgIABQQAgE0EgaiAKQaDJEWotAABBAnRqKAIAIA9BBHQiBmtBBHQiCGsgCCAUQQR0IgwgBkgiJBsiCEEAIAwgBmsiBmsgBiAkGyIGQQNsSkEUdCAIIAZBA3RKGyAIIAZBDWxKG3JBgICABkGAgIAEQQAgE0EgaiAiQaDJEWotAABBAnRqKAIAIAlBAnQgB2oiBmtBBHQiCGsgCCASQQJ0IBlqIgwgBkgiJBsiCEEAIAwgBmsiBmsgBiAkGyIGQQNsSkEWdCAIIAZBA3RKGyAIIAZBDWxKG3JBgICAgANBgICAgAJBACATQSBqIApBoMsRai0AAEECdGooAgAgByAVQQJ0aiIGa0EEdCIHayAHIBkgBEECdGoiCCAGSCIKGyIHQQAgCCAGayIGayAGIAobIgZBA2xKQRx0IAcgBkEDdEobIAcgBkENbEobckGAgICAfEGAgICAeEEAIBNBIGogIkGgyxFqLQAAQQJ0aigCACAfICBqKAIAIgZBBXZBH3EgBkEecSIHaiAGQQp2QR9xaiAHQQR2akH/AWxBH24iDCARIC9qaiIIa0EEdCIHayAHIAZBGnZBH3EgBkEVdkEfcWogBkEQdkEfcWpB/wFsQR9uIgcgDSAramoiCiAISCINGyIGQQAgCiAIayIIayAIIA0bIghBA2xKQR50IAYgCEEDdEobIAYgCEENbEobcjYCACAaQQFqIRogAiAORw0ACyATIAA2AmAgEyAYNgKgASATIAk2AqQBIBMgEjYCZCATIAw2AqgBIBMgBzYCaCATIBg2ApABIBMgBTYCgAEgEyAJNgKUASATIA82AoQBIBMgADYCUCATIAs2AkAgEyASNgJUIBMgFDYCRCATIAw2ApgBIBMgFTYCiAEgEyAHNgJYIBMgBDYCSAsgJ0EBaiInIANHDQALDAELIANBAUgNAEF/QSAgAkEBayIsZ2tBACAsGyIAQSAgA0EBayInZ2tBACAnGyIEIAAgBEkbIilBAXQiLnRBf3MhMiAcKAIQISsgHCgCBCEvICxBAXFBAnQhNUEAITFBACEtA0AgLUEBayEIQQAhDwNAIA9BAnQiBSATQTRqaiA6IAggD2ogJ3EgAmxBAnRqIgQ2AgAgE0GAAWogBWoiBgJ/IAQgLEECdGooAgAiAEGAgAJxBEAgAEEFdkEfcUGgzhFqIRIgAEEKdkEfcUGgzhFqIQ1B/wEhDiAAQQF2QQ9xQcDOEWoMAQsgAEEEdkEPcUHAzhFqIRIgAEEIdkEPcUHAzhFqIQ0gAEEMdkEHcUHYzhFqLQAAIQ4gAEEBdkEHcUHQzhFqCy0AACANLQAAIA4gEi0AAGpqajYCACAAQRB2IQcgE0FAayAFaiIFAn8gAEF/TARAIABBFXZBH3FBoM4RaiESIABBGnZBH3FBoM4RaiENQf8BIRQgB0EfcUGgzhFqDAELIABBFHZBD3FBwM4RaiESIABBGHZBD3FBwM4RaiENIABBHHZB2M4Rai0AACEUIAdBD3FBwM4RagstAAAgDS0AACAUIBItAABqamo2AgAgBgJ/IAQoAgAiAEGAgAJxBEAgAEEFdkEfcUGgzhFqIRIgAEEKdkEfcUGgzhFqIQ1B/wEhDiAAQQF2QQ9xQcDOEWoMAQsgAEEEdkEPcUHAzhFqIRIgAEEIdkEPcUHAzhFqIQ0gAEEMdkEHcUHYzhFqLQAAIQ4gAEEBdkEHcUHQzhFqCy0AACANLQAAIA4gEi0AAGpqajYCECAAQRB2IQcgBQJ/IABBf0wEQCAAQRV2QR9xQaDOEWohEiAAQRp2QR9xQaDOEWohDUH/ASEUIAdBH3FBoM4RagwBCyAAQRR2QQ9xQcDOEWohEiAAQRh2QQ9xQcDOEWohDSAAQRx2QdjOEWotAAAhFCAHQQ9xQcDOEWoLLQAAIA0tAAAgFCASLQAAampqNgIQAn8gBCA1aigCACIAQYCAAnEEQCAAQQF2QQ9xQcDOEWohCyAAQQp2QR9xQaDOEWohEkH/ASENIABBBXZBH3FBoM4RagwBCyAAQQF2QQdxQdDOEWohCyAAQQh2QQ9xQcDOEWohEiAAQQx2QQdxQdjOEWotAAAhDSAAQQR2QQ9xQcDOEWoLIQQgBiALLQAAIBItAAAgDSAELQAAampqNgIgIABBEHYhBAJ/IABBf0wEQCAEQR9xQaDOEWohCyAAQRV2QR9xQaDOEWohDEH/ASEUIABBGnZBH3FBoM4RagwBCyAEQQ9xQcDOEWohCyAAQRR2QQ9xQcDOEWohDCAAQRx2QdjOEWotAAAhFCAAQRh2QQ9xQcDOEWoLIQAgBSALLQAAIAAtAAAgFCAMLQAAampqNgIgIA9BAWoiD0EDRw0ACyACQQFOBEAgLUH/AXFBAXRBoMARai8BACAtQQd2Qf7//w9xQaDAEWovAQBBEHRyIRcgLSApdiAudCEwIBEgAiAtbEECdGohNkEAIQogEygCWCEaIBMoAkghCSATKAKYASEAIBMoAogBIQYgEygCVCEOIBMoAkQhEiATKAJQIQcgEygCQCEZIBMoApQBIQQgEygChAEhDSATKAKQASEMIBMoAoABIQggEygCPCE3IBMoAjghOCATKAI0ITsDQCAMIQ8gBCEFIAchFSAOIQsgACEkIBohIiAvIDYgCkECdGoiAC8BAEEDdGohByAALwECISUgAQJ/IBcgCkEHdkH+//8PcUGgwBFqLwEAQRF0ciAKQf8BcUEBdEGgwBFqLwEAQQF0ciIAIAIgA0YNABogACAycSIAIAogKXYgLnRyIAIgA0sNABogACAwcgtBA3RqIiYgOiAxQQJ0aigCADYCBCATICogMUEDdGoiICgCACIAQRl2QfAAcSIEQazEEWooAgAgAEETdkEfcUGgzhFqLQAAIABBC3ZBH3FBoM4Rai0AACAAQQN2QR9xQaDOEWotAABqakEEdCIAaiIMQdDfACAMQdDfAEgbIgxBACAMQQBKGzYCLCATIARBqMQRaigCACAAaiIMQdDfACAMQdDfAEgbIgxBACAMQQBKGzYCKCATIARBpMQRaigCACAAaiIMQdDfACAMQdDfAEgbIgxBACAMQQBKGzYCJCATIAAgBEGgxBFqKAIAaiIAQdDfACAAQdDfAEgbIgBBACAAQQBKGzYCICATIActAAFBoM4Rai0AAEEEdCIAIActAARBBHQiBEGszRFqKAIAaiIHQfAfIAdB8B9IGyIHQQAgB0EAShs2AhwgEyAEQajNEWooAgAgAGoiB0HwHyAHQfAfSBsiB0EAIAdBAEobNgIYIBMgBEGkzRFqKAIAIABqIgdB8B8gB0HwH0gbIgdBACAHQQBKGzYCFCATIARBoM0RaigCACAAaiIAQfAfIABB8B9IGyIAQQAgAEEAShs2AhACfyA7IApBAWoiCiAscUECdCIEaigCACIAQYCAAnEEQCAAQQF2QQ9xQcDOEWohGyAAQQp2QR9xQaDOEWohDEH/ASEYIABBBXZBH3FBoM4RagwBCyAAQQF2QQdxQdDOEWohGyAAQQh2QQ9xQcDOEWohDCAAQQx2QQdxQdjOEWotAAAhGCAAQQR2QQ9xQcDOEWoLIRAgAEEQdiEHAn8gAEF/TARAIAdBH3FBoM4RaiEOIABBFXZBH3FBoM4RaiEWIABBGnZBH3FBoM4RaiEUQf8BDAELIAdBD3FBwM4RaiEOIABBFHZBD3FBwM4RaiEWIABBGHZBD3FBwM4RaiEUIABBHHZB2M4Rai0AAAshByAQLQAAIRAgFi0AACEcAn8gBCA4aigCACIAQYCAAnEEQCAAQQF2QQ9xQcDOEWohHSAAQQV2QR9xQaDOEWohFkH/ASEaIABBCnZBH3FBoM4RagwBCyAAQQF2QQdxQdDOEWohHSAAQQR2QQ9xQcDOEWohFiAAQQx2QQdxQdjOEWotAAAhGiAAQQh2QQ9xQcDOEWoLIR8gECAYaiEYIAwtAAAhDCAHIBxqIRwgFC0AACEjIABBEHYhByAaIBYtAABqIRYgHy0AACEfAn8gAEF/TARAIAdBH3FBoM4RaiEQIABBGnZBH3FBoM4RaiEaQf8BIRQgAEEVdkEfcUGgzhFqDAELIAdBD3FBwM4RaiEQIABBGHZBD3FBwM4RaiEaIABBHHZB2M4Rai0AACEUIABBFHZBD3FBwM4RagshACAMIBhqIQcgGy0AACEMIBwgI2ohGCAOLQAAIQ4gFiAfaiEWIB0tAAAhGyAaLQAAIBQgAC0AAGpqIQAgEC0AACEcAn8gBCA3aigCACIUQYCAAnEEQCAUQQV2QR9xQaDOEWohHSAUQQp2QR9xQaDOEWohEEH/ASEaIBRBAXZBD3FBwM4RagwBCyAUQQR2QQ9xQcDOEWohHSAUQQh2QQ9xQcDOEWohECAUQQx2QQdxQdjOEWotAAAhGiAUQQF2QQdxQdDOEWoLIR8gByAMaiEMIA4gGGohByAWIBtqIQQgACAcaiEOIBRBEHYhGCAfLQAAIBAtAAAgGiAdLQAAampqIQACfyAUQX9MBEAgGEEfcUGgzhFqIRYgFEEVdkEfcUGgzhFqIRxB/wEhGyAUQRp2QR9xQaDOEWoMAQsgGEEPcUHAzhFqIRYgFEEUdkEPcUHAzhFqIRwgFEEcdkHYzhFqLQAAIRsgFEEYdkEPcUHAzhFqCyEeICZBDEEIQQAgE0EQaiArICVBC2xqIhAtAAAiFEEMcXIoAgAgE0EgaiAgLQAEIhpBDHFyKAIAIAVBBmwiHyAPQQZsaiIhIAggDWpBAXRqIhhrakEEdCIdayAdIAtBBmwiIyAVQQZsaiI5IBIgGWpBAXRqIiUgGEgiJhsiHUEAICUgGGsiGGsgGCAmGyIYQQNsSkECdCAdIBhBA3RKGyAdIBhBDWxKG0EDQQJBACATQRBqIBRBA3FBAnRyKAIAIBNBIGogGkEDcUECdHIoAgAgCCAPaiIzIAUgDWoiJWpBAnQiGGtqQQR0Ih1rIB0gFSAZaiI0IAsgEmoiJmpBAnQiPCAYSCI9GyIdQQAgPCAYayIYayAYID0bIhhBA2xKIB0gGEEDdEobIB0gGEENbEobckGABkGABEEAIBNBEGogEC0AASIYQQNxQQJ0cigCACATQSBqICAtAAUiHUEDcUECdHIoAgAgDUEGbCAfaiAzQQF0aiIfa2pBBHQiM2sgMyASQQZsICNqIDRBAXRqIjMgH0giNBsiI0EAIDMgH2siH2sgHyA0GyIfQQNsSkEIdCAjIB9BA3RKGyAjIB9BDWxKG3JBgBhBgBBBACATQRBqIBhBDHFyKAIAIBNBIGogHUEMcXIoAgAgD0EDbCIfIAVBCWwiIyANQQNsaiIzIAhqaiIIa2pBBHQiNGsgNCAVQQNsIjQgC0EJbCI8IBJBA2xqIj0gGWpqIiggCEgiPhsiGUEAICggCGsiCGsgCCA+GyIIQQNsSkEKdCAZIAhBA3RKGyAZIAhBDWxKG3JBMEEgQQAgE0EQaiAUQQJ2QQxxcigCACATQSBqIBpBAnZBDHFyKAIAIAUgD2pBA3QiCGtqQQR0IhlrIBkgCyAVakEDdCIoIAhIIj4bIhlBACAoIAhrIghrIAggPhsiCEEDbEpBBHQgGSAIQQN0ShsgGSAIQQ1sShtyQcABQYABQQAgE0EQaiAUQQR2QQxxcigCACATQSBqIBpBBHZBDHFyKAIAIAxBAXQgIWogBEEBdGoiCGtqQQR0IhRrIBQgB0EBdCA5aiAOQQF0aiIaIAhIIhkbIhRBACAaIAhrIghrIAggGRsiCEEDbEpBBnQgFCAIQQN0ShsgFCAIQQ1sShtyQYDgAEGAwABBACATQRBqIBhBAnZBDHFyKAIAIBNBIGogHUECdkEMcXIoAgAgBUEMbCIIIA9BAnRqIhprakEEdCIUayAUIAtBDGwiFCAVQQJ0aiIhIBpIIjkbIhlBACAhIBprIhprIBogORsiGkEDbEpBDHQgGSAaQQN0ShsgGSAaQQ1sShtyQYCAA0GAgAJBACATQRBqIBhBBHZBDHFyKAIAIBNBIGogHUEEdkEMcXIoAgAgHyAEQQNsICNqIiNqIAxqIhprakEEdCIZayAZIA5BA2wgPGoiHyA0aiAHaiIYIBpIIh0bIhlBACAYIBprIhprIBogHRsiGkEDbEpBDnQgGSAaQQN0ShsgGSAaQQ1sShtyQYCADEGAgAhBACATQRBqIBAtAAIiGkEDcUECdHIoAgAgE0EgaiAgLQAGIhlBA3FBAnRyKAIAICVBA3QiGGtqQQR0Ih1rIB0gJkEDdCIhIBhIIjkbIh1BACAhIBhrIhhrIBggORsiGEEDbEpBEHQgHSAYQQN0ShsgHSAYQQ1sShtyQYCAMEGAgCBBACATQRBqIBpBDHFyKAIAIBNBIGogGUEMcXIoAgAgDUECdCAIaiINa2pBBHQiGGsgGCASQQJ0IBRqIhggDUgiHRsiEkEAIBggDWsiDWsgDSAdGyINQQNsSkESdCASIA1BA3RKGyASIA1BDWxKG3JBgICAGEGAgIAQQQAgE0EQaiAQLQADIg1BA3FBAnRyKAIAIBNBIGogIC0AByIQQQNxQQJ0cigCACAlQQZsIAYgJGpBAXRqIhJrakEEdCIYayAYICZBBmwgCSAiakEBdGoiHSASSCIgGyIYQQAgHSASayISayASICAbIhJBA2xKQRh0IBggEkEDdEobIBggEkENbEobckGAgIDgAEGAgIDAAEEAIBNBEGogDUEMcXIoAgAgE0EgaiAQQQxxcigCACAkQQNsIhIgBmogM2oiBmtqQQR0IhhrIBggIkEDbCIYIAlqID1qIh0gBkgiIBsiCUEAIB0gBmsiBmsgBiAgGyIGQQNsSkEadCAJIAZBA3RKGyAJIAZBDWxKG3JBgIDAAUGAgIABQQAgE0EQaiAaQQJ2QQxxcigCACATQSBqIBlBAnZBDHFyKAIAIAVBBHQiBmtqQQR0IglrIAkgC0EEdCIdIAZIIiAbIglBACAdIAZrIgZrIAYgIBsiBkEDbEpBFHQgCSAGQQN0ShsgCSAGQQ1sShtyQYCAgAZBgICABEEAIBNBEGogGkEEdkEMcXIoAgAgE0EgaiAZQQR2QQxxcigCACAEQQJ0IAhqIgZrakEEdCIJayAJIA5BAnQgFGoiGiAGSCIZGyIJQQAgGiAGayIGayAGIBkbIgZBA2xKQRZ0IAkgBkEDdEobIAkgBkENbEobckGAgICAA0GAgICAAkEAIBNBEGogDUECdkEMcXIoAgAgE0EgaiAQQQJ2QQxxcigCACAIICRBAnRqIgZrakEEdCIIayAIIBQgIkECdGoiCSAGSCIUGyIIQQAgCSAGayIGayAGIBQbIgZBA2xKQRx0IAggBkEDdEobIAggBkENbEobckGAgICAfEGAgICAeEEAIBNBEGogDUEEdkEMcXIoAgAgE0EgaiAQQQR2QQxxcigCACASICNqIABqIgZrakEEdCIIayAIIBYtAAAgHi0AACAbIBwtAABqamoiGiAYIB9qaiIJIAZIIg0bIghBACAJIAZrIgZrIAYgDRsiBkEDbEpBHnQgCCAGQQN0ShsgCCAGQQ1sShtyNgIAIDFBAWohMSAiIQkgJCEGIAshEiAVIRkgBSENIA8hCCACIApHDQALIBMgBzYCYCATIAw2AqABIBMgBDYCpAEgEyAONgJkIBMgADYCqAEgEyAaNgJoIBMgDDYCkAEgEyAINgKAASATIAQ2ApQBIBMgDTYChAEgEyAHNgJQIBMgGTYCQCATIA42AlQgEyASNgJEIBMgADYCmAEgEyAGNgKIASATIBo2AlggEyAJNgJICyAtQQFqIi0gA0cNAAsLQQEhFCAqRQ0AICoQJAsgEygCACIARQ0AIAAQJAsgE0HAAWokACAUCzUBAX8jAEEQayICJAAgAiAAKAIANgIMIAAgASgCADYCACABIAJBDGooAgA2AgAgAkEQaiQACzUBAX8jAEEQayICJAAgAiAALQAAOgAPIAAgAS0AADoAACABIAJBD2otAAA6AAAgAkEQaiQAC9czAhl/AX4jAEEwayELAkAgAC0AAEH/AHEiB0HFAEYNACABIAdB4LABai0AACIONgJoIA5BA3RBxJUBaigCACEHAkAgDkEIRgRAIAEgACAHQQN2aiICLQABQQh0IAItAAByIAdBB3EiAnY6AHAgASAAIAdBCGpBA3ZqIgUtAAFBCHQgBS0AAHIgAnY6AHEgASAAIAdBEGpBA3ZqIgUtAAFBCHQgBS0AAHIgAnY6AHIgASAAIAdBGGpBA3ZqIgUtAAFBCHQgBS0AAHIgAnY6AHNBASEFIANFDQIgAUEAOgB2IAEgACAHQSBqQQN2ai0AACACdkEBcToAdyAAIAdBIWoiA0EDdmoiBC0AACADQQdxIgN2IQUgA0EGTwRAIAQtAAFBCCADa3QgBXIhBQsgAUEANgJ8IAEgBUEHcTYCeCAAIAdBJGoiA0EDdmoiBC0AACADQQdxIgN2IQUgASADQQdGBH8gBC0AAUEBdCAFcgUgBQtBA3E2AogBIAAgB0EmaiIDQQN2aiIELQAAIANBB3EiA3YhBSABIANBBE8EfyAELQABQQggA2t0IAVyBSAFC0EfcTYCjAEgACAHQStqIgNBA3ZqIgQtAAAgA0EHcSIDdiEFIAEgA0EETwR/IAQtAAFBCCADa3QgBXIFIAULQR9xNgKQASAAIAdBMGpBA3ZqIgAtAAAhAyAALQABIQAgAUIANwKAASABIABBCCACa3QgAyACdnJBH3E2ApQBDAELAkAgAwRAIAEgACAHQQN2ai0AACAHQQdxdkEBcToAdCAHQQFqIQNBgDogDnZBAXEiDEUEQCAAIANBA3ZqLQAAIANBB3F2QQFxIQggB0ECaiEDCyABIAg6AHUgASAAIANBA3ZqLQAAIANBB3EiB3ZBAXE6AHYgASAAIANBAWoiBEEDdmotAAAgBEEHcXZBAXE6AHcgACADQQJqIgRBA3ZqIggtAAAgBEEHcSIEdiEGIAEgBEEGTwR/IAgtAAFBCCAEa3QgBnIFIAYLQQdxNgJ4IAAgA0EFaiIEQQN2aiIILQAAIARBB3EiBHYhBiABIARBBk8EfyAILQABQQggBGt0IAZyBSAGC0EHcTYCfCADQQhqIQZBACEIIAxFBEAgACAGQQN2aiIELQAAIAd2IQYgB0EETwR/IAQtAAFBCCAHa3QgBnIFIAYLQR9xIQggA0ENaiEGCyABIAg2AoABIA5BCGtBCU0EQCAAIAZBA3ZqIgQtAAAgBkEHcSIHdiEDIAEgBwR/IAQtAAFBCCAHa3QgA3IFIAMLQf8BcTYChAEgBkEIaiEGDAILIAFBADYChAEMAQsgByAOQeCxAWotAABqIQYLQQEhFwJAAn8CQAJAAn8CQAJAAn8CQAJAAn9BASAOQRBLIgQNABpBASAOdEGUhQRxRQRAIA5BA0YNAkEBDAELIAAgBkEDdmoiDC0AACAGQQdxIgd2IQMgASAHQQRPBH8gDC0AAUEIIAdrdCADcgUgAwtBH3E2AmwgBkEFaiEGQQAhF0ECCyEPQQAgBA0CGkEBIA50QZSEBHENASAOQQNGDQNBACAOQQdHDQIaIAEoAmwiA0ESSw0LIANBBmxBwooBagwFCyAAIAZBA3ZqIgQtAAAgBkEHcSIHdiEDIAEgB0EFTwR/IAQtAAFBCCAHa3QgA3IFIAMLQQ9xIgM2AmwgBkEEaiEGQQAhF0EDIQ8MAwsgASgCbCIDQR1LDQkgA0EGbEGCiQFqLwEACyEDQQEhDCAOQQZrDgwDBgYGBgMGAwYGBgQGCyABKAJsIQMLIANBCksNBiADQQZsQcKLAWoLLwEAIQNBASEMDAMLIAAgBkEDdmoiBy0AACAGQQdxIgR2IQUgASAEQQdGBH8gBy0AAUEBdCAFcgUgBQtBA3E2AhAgBkECaiEGQQIMAQsgAUEDNgIQQQILIQxBASERCyABIA82AgQgASAROgAUIAEgA0H//wNxNgIIIAEgDkGAsgFqLQAANgIMIAEgDkGAlwFqLQAANgIAIA5BgJgBai0AACIYIA9sIhBBAXQhByAOQeCWAWohHCAOQaCXAWotAAAiFkEMbEGgmAFqKAIAIQkCQAJAAkACQAJAAn9B7bbbACAWdkEBcSIDRQRAQQMhGUEEIQhBBQwBC0G32+0AIBZ2QQFxDQFBBSEZQQIhCEEDCyEEIAcgCGoiCCAEbiEFIAQgCEsiEg0CQQdBCCADGyETIAcgBUEBayINIARsayEIIANFBEAgCEEBayIUQQJ0QejREWohFUEAIQMDQEEIIBMgAyANRhshCAJAIAMgDUcNACAUQQNLDQAgFSgCACEICyAAIAZBA3ZqIhotAAAgBkEHcSIbdiEKIAtBEGogA0ECdGogCEEIIBtrIhtLBH8gGi0AASAbdCAKcgUgCgtBfyAIdEF/c3E2AgAgBiAIaiEGIANBAWoiAyAFRw0ACwwDC0EAIQNBt9vtACAWdkEBcQ0BQQNBBUEHIAhBAkYbIAhBAUYbIRQDQCAAIAZBA3ZqIhUtAAAgBkEHcSIIdiEKQQggCGsiGiAUIBMgAyANRhsiCEkEQCAVLQABIBp0IApyIQoLIAtBEGogA0ECdGogCkF/IAh0QX9zcTYCACAGIAhqIQYgA0EBaiIDIAVHDQALDAILIAdFDQNBfyAJdEF/cyEKDAILA0AgACAGQQN2aiIULQAAIAZBB3EiCHYhCkEIIAhrIhVBByATIAMgDUYbIghJBEAgFC0AASAVdCAKciEKCyALQRBqIANBAnRqIApBfyAIdEF/c3E2AgAgBiAIaiEGIANBAWoiAyAFRw0ACwsgB0UNAUF/IAl0QX9zIQogEg0AIBBBAXQhE0EAIQdBACEDQQAhCEEAIQ0DQCAAIAZBA3ZqIhAtAAAgBkEHcSISdiEFIAlBCCASayISSgR/IBAtAAEgEnQgBXIFIAULIApxIRACQCADBEAgByEFDAELIAtBEGogDUECdGooAgAhBSANQQFqIQ0gBCEDCyAGIAlqIQYgASAIaiAFIAUgGW4iByAZbGsgCXQgEHI6ABUgA0EBayEDIAhBAWoiCCATRw0ACwwBCyAQQQF0IQdBACEDA0AgACAGQQN2aiIFLQAAIAZBB3EiBHYhCCABIANqIAlBCCAEayIESgR/IAUtAAEgBHQgCHIFIAgLIApxOgAVIAYgCWohBiADQQFqIgMgB0cNAAsLIBwtAAAhBEHQsAEhCgJAAkACf0HQsAEgD0ECSQ0AGiABKAJsIQMgD0EDRgRAIANBA2xB0JQBaiEKIANBBHRBkJABagwBCyAOQQdGBEAgA0EDbEGAlQFqIQogA0EEdEHAkQFqIQcMAgsgA0EDbEHwkwFqIQogA0EEdEGwjAFqCyEHIA5BEkcNAEEAIQUDQCABIAVqAn9BACAEIAVFayIDRQ0AGiAAIAZBA3ZqIgotAAAgBkEHcSIJdiEIIAMgBmohBiADQQggCWsiCUoEfyAKLQABIAl0IAhyBSAIC0F/IAN0QX9zcQs6ACcgBUEBaiIFQRBHDQALDAELQYABIAZrIgNBwAAgA0HAAEgbIgMEQEEAIQUDQCAAIAZBA3ZqLQAAIAZBB3EiCHZBfyADIAVrIglBCCAIayIIIAggCUobIgh0QX9zca0gBa2GIB2EIR0gBiAIaiEGIAUgCGoiBSADSQ0ACwtBfyAEdEF/cyEAQX8gBEEBayIFdEF/cyEDIBEEQCABIB2nIANxOgAnIAEgHSAFrYinIANxOgAoIAEgHSAFQQF0IgOtiKcgAHE6ACkgASAdIAMgBGoiA62IpyAAcToAKiABIB0gAyAEaiIDrYinIABxOgArIAEgHSADIARqIgOtiKcgAHE6ACwgASAdIAMgBGoiA62IpyAAcToALSABIB0gAyAEaiIDrYinIABxOgAuIAEgHSADIARqIgOtiKcgAHE6AC8gASAdIAMgBGoiA62IpyAAcToAMCABIB0gAyAEaiIDrYinIABxOgAxIAEgHSADIARqIgOtiKcgAHE6ADIgASAdIAMgBGoiA62IpyAAcToAMyABIB0gAyAEaiIDrYinIABxOgA0IAEgHSADIARqIgOtiKcgAHE6ADUgASAdIAMgBGoiA62IpyAAcToANiABIB0gAyAEaiIDrYinIABxOgA3IAEgHSADIARqIgOtiKcgAHE6ADggASAdIAMgBGoiA62IpyAAcToAOSABIB0gAyAEaiIDrYinIABxOgA6IAEgHSADIARqIgOtiKcgAHE6ADsgASAdIAMgBGoiA62IpyAAcToAPCABIB0gAyAEaiIDrYinIABxOgA9IAEgHSADIARqIgOtiKcgAHE6AD4gASAdIAMgBGoiA62IpyAAcToAPyABQUBrIB0gAyAEaiIDrYinIABxOgAAIAEgHSADIARqIgOtiKcgAHE6AEEgASAdIAMgBGoiA62IpyAAcToAQiABIB0gAyAEaiIDrYinIABxOgBDIAEgHSADIARqIgOtiKcgAHE6AEQgASAdIAMgBGoiA62IpyAAcToARSABIB0gAyAEaq2IpyAAcToARgwBCyAXBEBBgYgCIA52QQFxBEAgASAdpyIAQQdxOgAnIAEgHUI7iKdBD3E6ADYgASAdQjeIp0EPcToANSABIB1CM4inQQ9xOgA0IAEgHUIviKdBD3E6ADMgASAdQiuIp0EPcToAMiABIB1CJ4inQQ9xOgAxIAEgHUIjiKdBD3E6ADAgASAdQh+Ip0EPcToALyABIABBG3ZBD3E6AC4gASAAQRd2QQ9xOgAtIAEgAEETdkEPcToALCABIABBD3ZBD3E6ACsgASAAQQt2QQ9xOgAqIAEgAEEHdkEPcToAKSABIABBA3ZBD3E6ACgMAgsgASAdpyADcToAJyABIB0gBa2IpyAAcToAKCABIB0gBCAFaiIDrYinIABxOgApIAEgHSADIARqIgOtiKcgAHE6ACogASAdIAMgBGoiA62IpyAAcToAKyABIB0gAyAEaiIDrYinIABxOgAsIAEgHSADIARqIgOtiKcgAHE6AC0gASAdIAMgBGoiA62IpyAAcToALiABIB0gAyAEaiIDrYinIABxOgAvIAEgHSADIARqIgOtiKcgAHE6ADAgASAdIAMgBGoiA62IpyAAcToAMSABIB0gAyAEaiIDrYinIABxOgAyIAEgHSADIARqIgOtiKcgAHE6ADMgASAdIAMgBGoiA62IpyAAcToANCABIB0gAyAEaiIDrYinIABxOgA1IAEgHSADIARqrYinIABxOgA2DAELIAEgHacgAyAAIAotAAIiBkUgCi0AACIIRSAKLQABIgpFcnIiCRtxOgAnIAEgHSAFIAQgCRsiCa2IpyADIAAgCEEBRiAKQQFGciAGQQFGciING3E6ACggASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQJGIApBAkZyIAZBAkZyIg0bcToAKSABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBA0YgCkEDRnIgBkEDRnIiDRtxOgAqIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEERiAKQQRGciAGQQRGciING3E6ACsgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQVGIApBBUZyIAZBBUZyIg0bcToALCABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBBkYgCkEGRnIgBkEGRnIiDRtxOgAtIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEHRiAKQQdGciAGQQdGciING3E6AC4gASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQhGIApBCEZyIAZBCEZyIg0bcToALyABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBCUYgCkEJRnIgBkEJRnIiDRtxOgAwIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEKRiAKQQpGciAGQQpGciING3E6ADEgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQtGIApBC0ZyIAZBC0ZyIg0bcToAMiABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBDEYgCkEMRnIgBkEMRnIiDRtxOgAzIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEENRiAKQQ1GciAGQQ1GciING3E6ADQgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQ5GIApBDkZyIAZBDkZyIg0bcToANSABIB0gBSAEIA0bIAlqrYinIAMgAyADIAAgCkEPRhsgCEEPRhsgBkEPRhtxOgA2CyAOQQ9rQQNJDQAgAkUNAEEAIQMgC0EAOgAOIAtBADsBDCAYQQEgGEEBSxshCCABQRVqIQYgFkEJdEHQ5BJqIQJBACEFAkADQCACIAYgAyAYbCIKQQF0Ig5qIgAtAANBAXRqLQAAIAIgBiAOQQFyai0AAEEBdGotAABqIAIgAC0ABUEBdGotAABqIAIgAC0ABEEBdGotAAAgAiAALQACQQF0ai0AACACIAAtAABBAXRqLQAAampJBEBBACEAA0AgBiAAIApqQQF0IgVqIg4tAAAhCSAOIAYgBUEBcmoiBS0AADoAACAFIAk6AAAgAEEBaiIAIAhHDQALQQEhBSALQQxqIANqQQE6AAAgA0EBaiIDIA9HDQEMAgsgA0EBaiIDIA9HDQALIAVBAXFFDQELQX8gBHRBf3MhACAHLQAAIAtBDGpqLQAAIQIgEUUEQCACBEAgASAAIAEtACdrOgAnCyAHLQABIAtBDGpqLQAABEAgASAMaiICQSdqIAAgAi0AJ2s6AAALIActAAIgC0EMamotAAAEQCABIAxBAXRqIgJBJ2ogACACLQAnazoAAAsgBy0AAyALQQxqai0AAARAIAEgDEEDbGoiAkEnaiAAIAItACdrOgAACyAHLQAEIAtBDGpqLQAABEAgASAMQQJ0aiICQSdqIAAgAi0AJ2s6AAALIActAAUgC0EMamotAAAEQCABIAxBBWxqIgJBJ2ogACACLQAnazoAAAsgBy0ABiALQQxqai0AAARAIAEgDEEGbGoiAkEnaiAAIAItACdrOgAACyAHLQAHIAtBDGpqLQAABEAgASAMQQdsaiICQSdqIAAgAi0AJ2s6AAALIActAAggC0EMamotAAAEQCABIAxBA3RqIgJBJ2ogACACLQAnazoAAAsgBy0ACSALQQxqai0AAARAIAEgDEEJbGoiAkEnaiAAIAItACdrOgAACyAHLQAKIAtBDGpqLQAABEAgASAMQQpsaiICQSdqIAAgAi0AJ2s6AAALIActAAsgC0EMamotAAAEQCABIAxBC2xqIgJBJ2ogACACLQAnazoAAAsgBy0ADCALQQxqai0AAARAIAEgDEEMbGoiAkEnaiAAIAItACdrOgAACyAHLQANIAtBDGpqLQAABEAgASAMQQ1saiICQSdqIAAgAi0AJ2s6AAALIActAA4gC0EMamotAAAEQCABIAxBDmxqIgJBJ2ogACACLQAnazoAAAsgBy0ADyALQQxqai0AAEUNASABIAxBD2xqIgFBJ2ogACABLQAnazoAAAwBCyACBEAgASAAIAEtACdrOgAnIAEgACABLQAoazoAKAsgBy0AASALQQxqai0AAARAIAEgDGoiAiIDQSdqIAAgAy0AJ2s6AAAgAiAAIAItAChr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IQQMAQsgBCAAayEDAkAgACAIa0EPTARAIAghAQNAIAAgASkAADcAACABQQhqIQEgAEEIaiIAIARJDQALDAELIAAgCCkAADcAACAAIAgpAAg3AAggA0ERSA0AIAFBGGohACAIIQEDQCAAIAEpABA3AAAgACABKQAYNwAIIAAgASkAIDcAECAAIAEpACg3ABggAUEgaiEBIABBIGoiACAESQ0ACwsgAyAIaiEICyACIARNDQADQCAEIAgtAAA6AAAgCEEBaiEIIARBAWoiBCACRw0ACwsgDSEMCyAMC/cDAQF/IAAoAowDIgEEQCABECQLIAAoAoADIgEEQCABECQLIAAoAvQCIgEEQCABECQLIAAoAugCIgEEQCABECQLIAAoAtwCIgEEQCABECQLIAAoAtACIgEEQCABECQLIAAoAsQCIgEEQCABECQLIAAoArgCIgEEQCABECQLIAAoAqwCIgEEQCABECQLIAAoAqACIgEEQCABECQLIAAoApQCIgEEQCABECQLIAAoAogCIgEEQCABECQLIAAoAvwBIgEEQCABECQLIAAoAvABIgEEQCABECQLIAAoAuQBIgEEQCABECQLIAAoAtgBIgEEQCABECQLIAAoAswBIgEEQCABECQLIAAoAsABIgEEQCABECQLIAAoArQBIgEEQCABECQLIAAoAqgBIgEEQCABECQLIAAoApwBIgEEQCABECQLIAAoApABIgEEQCABECQLIAAoAoQBIgEEQCABECQLIAAoAngiAQRAIAEQJAsgACgCbCIBBEAgARAkCyAAKAJgIgEEQCABECQLIAAoAlQiAQRAIAEQJAsgACgCSCIBBEAgARAkCyAAKAI8IgEEQCABECQLIAAoAjAiAQRAIAEQJAsgACgCJCIBBEAgARAkCyAAKAIYIgEEQCABECQLIAAoAgwiAQRAIAEQJAsgACgCACIABEAgABAkCwvUAQEBfyAAQbQBahBqIAAoAqQBIgEEQCABECQLIAAoApgBIgEEQCABECQLIAAoAowBIgEEQCABECQLIAAoAoABIgEEQCABECQLIAAoAnQiAQRAIAEQJAsgACgCaCIBBEAgARAkCyAAKAJcIgEEQCABECQLIAAoAlAiAQRAIAEQJAsgACgCRCIBBEAgARAkCyAAKAI4IgEEQCABECQLIAAoAiwiAQRAIAEQJAsgACgCICIBBEAgARAkCyAAKAIQIgEEQCABECQLIAAoAgQiAARAIAAQJAsLwQ4CBX8BfiMAQRBrIhckAAJAIAWtIhogDK0gC618VA0AIA5BACAOrSANrXwgGlYbDQBBCCEFIAFBfnFBCEYEQCAGQQJ0aUEBRw0BIAdBAnRpQQFHDQELQQQhFgJAAkACQAJAAkACQAJAAkBBCUEIIBAbIAEgAUEJRhsiGQ4WBAMEAwQDAwMEBAMEAwIBAQEDBAQEAwALQQAhBQwDC0ECIRYLIAYgB2whGAwCC0EQIQULIAYgB2whGCAZQQ1rQQNLDQEgBSEWCyAUIAkgFBsgEiAIIBIbbCADTQ0BDAILIAMgGEkNASAFIRYgGUERRg0BCyAEIAtqIgMgBCANaiIBIBBBAXMiDSAPQQRxIgtFciIFGyEEIAwgDiAFGyEFIAtBAEcgEHEhCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBkOEQAGAQcCCAUFAwQJDQ0KCwsMDQsgACACIAYgByAEIAVBACAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMDAsgACACIAYgByAEIAVBAiAWQQEgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCwsgACACIAYgByAEIAVBBCAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCgsgACACIAYgByAEIAVBBiAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCQsgF0EANgIIIBdCADcDAEEAIQsgGARAIBcgGCAYQQFGQQQQKCAXKAIAIgsgFygCBCIEQQJ0akEAIBggBGtBAnQQJhoLIAAgCyAGIAcgASAOQRRBBEEAIBFBASAKIAggCSAGIBNBAEEAQQAQKgRAIAAgAiAGIAcgAyAMQQcgFkEAIBFBACAKIAggCSASIBNBACALQQAQKiEVCyALRQ0IIAsQJAwICyANIAAgAiAGIAcgAyAMQQkgFkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiIVQQFzcg0HIAAgAiAGIAcgASAOQQogFkEAIBFBASAKIAggCSASIBNBAEEAIBQQKiEVDAcLAkAgEEUEQCAGRQ0BIAdFDQEgEiAGIBIbQQR0IQRBACEQQfiIASgBACELQfyIAS8BACENA0AgBCAQbCEVQQAhBQNAIAIgFWoiAUH/OzsAACABIAs2AAIgASANOwAGIBVBEGohFSAFQQFqIgUgBkcNAAsgEEEBaiIQIAdHDQALDAELIAAgAiAGIAcgASAOQQsgFkEAIBFBASAKIAggCSASIBNBAEEAIBQQKkUNBwsgACACQQhqIAYgByADIAxBACAWQQAgEUEAIAogCCAJIBIgE0EAQQAgFBAqIRUMBgsCQCAQRQRAQQAhASAXQQA7AQQgF0EANgIAIAZFDQEgB0UNASASIAYgEhtBBHQhCwNAIAEgC2whFUEAIQUDQCACIBVqIgRB//8DOwAAIAQgFygCADYAAiAEIBcvAQQ7AAYgFUEQaiEVIAVBAWoiBSAGRw0ACyABQQFqIgEgB0cNAAsMAQsgACACIAYgByABIA5BBCAWQQAgEUEBIAogCCAJIBIgE0EAQQAgFBAqRQ0GCyAAIAJBCGogBiAHIAMgDEECIBZBACARQQAgCiAIIAkgEiATQQBBACAUECohFQwFCyAAIAIgBiAHIAMgDEEEIBZBACARQQAgCiAIIAkgEiATQQBBACAUECpFDQQgAkEIaiEDIBAEQCAAIAMgBiAHIAEgDkEEIBZBACARQQEgCiAIIAkgEiATQQBBACAUECohFQwFC0EAIQ4gF0EAOwEEIBdBADYCAAJAIAZFDQAgB0UNACASIAYgEhtBBHQhAQNAIAEgDmwhFUEAIQIDQCADIBVqIgBB//8DOwAAIAAgFygCADYAAiAAIBcvAQQ7AAYgFUEQaiEVIAJBAWoiAiAGRw0ACyAOQQFqIg4gB0cNAAsLQQEhFQwECyAQBEAgACACIAYgByABIA5BFCAWQQAgEUEBIAogCCAJIBIgE0EAQQAgFBAqRQ0EIAAgAiAGIAcgAyAMQQwgFkEAIBFBACAKIAggCSASIBNBAUEAIBQQKiEVDAQLIAAgAiAGIAcgAyAMQQwgFkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiEVDAMLQRYhCyAQBEBBFSELIAAgAiAGIAcgASAOQRdBBEEAIBFBASAKIAggCSASIBNBAEEAIBQQKkUNAwsgACACIAYgByADIAwgC0EEQQAgEUEAIAogCCAJIBIgE0EAQQAgFBAqIRUMAgsgACACIAYgByAEIAVBGEEZIBlBDkYbQQJBACARIAsgCiAIIAkgEiATQQBBACAUECohFQwBC0EcIQsgEARAQRohCyAAIAIgBiAHIAEgDkEbQQJBACARQQEgCiAIIAkgEiATQQBBACAUECpFDQELIAAgAiAGIAcgAyAMIAtBAkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiEVCyAXQRBqJAAgFQuVAwEKfyABLQABIgUgA3ZBA2wgAS0AACIEIAN2aiABLQACIgsgA3ZBCWxqIAEtAAMiDCADdkEbbGogAS0ABCINIAN2QdEAbGpBoL4Rai0AACEGIANBAmohCUF/IAN0QX9zIQcgA0EBdCIKQQJqIgEEQCAEIAdxIAZBA3EgA3RyIAUgB3EgCXRyIQUgAigCACEEA0AgACAEQQN1aiIIIAgtAAAgBSAEQQdxIgR0cjoAACACIAFBCCAEayIEIAEgBEgbIgggAigCAGoiBDYCACAFIAh2IQUgASAIayIBDQALCyADQQNsIgVBBmoiAQRAIAZBAnZBA3EgBkEHdiAFQQVqdHIgBkEEdkEBcSAJdHIgBkEFdkEDcSAKQQNqdHIgByALcUECdHIgByAMcSADQQNqdHIgByANcSAKQQVqdHIhBSACKAIAIQQDQCAAIARBA3VqIgMgAy0AACAFIARBB3EiA3RyOgAAIAIgAUEIIANrIgMgASADSBsiAyACKAIAaiIENgIAIAUgA3YhBSABIANrIgENAAsLC70CAQV/IwBBIGsiAyQAAkAgAUVBACACGw0AIANCADcDGCADIAE2AhAgAyABNgIMIAMgAjYCCCADIAEgAmo2AhQgA0EIaiAAQSBqEDFFDQAgACgCJEUNACADQQhqIABBxABqEDFFDQAgACgCSEUNACADQQhqIABB6ABqEDFFDQAgACgCbEUNACADQQhqIABBjAFqEDFFDQAgACgCkAFFDQACQCADKAIcIgFBDU8EQCADKAIYIQQMAQsgAygCDCECIAMoAhQhBgNAQQAhBCACIAZJBEAgAyACQQFqIgU2AgwgAi0AACEEIAUhAgsgAyABQQhqIgU2AhwgAyADKAIYIAQgAXRyIgQ2AhggAUEFSSEHIAUhASAHDQALCyADIARBDXY2AhggACAEQf8/cTYCsAFBASEECyADQSBqJAAgBAsTABDQARCoAUHo5RNBggERAAAaCwkAIAEgABEAAAvEDwEhfyMAQRBrIgMkACAAIAEpAAA3AAAgACABKQAINwAIIAItAAgEQCAAIAAtAA46AA8gACAALwAMOwANIAAgAC0ACjoACyAAIAAvAAg7AAkgACAALQAGOgAHIAAgAC8ABDsABSAAIAAtAAI6AAMgACAALwAAOwABCyACLQAJBEAgACgADCEBIAAgACgACDYADCAAIAAoAAQ2AAggACAAKAAANgAEIAAgATYAAAsgAi0ADCEjAn8gAi0ABgRAIABBAmohBCAAQQFqIQUgAEEHaiEGIABBBmohByAAQQVqIQggAEEEaiEJIABBC2ohCiAAQQpqIQsgAEEJaiEMIABBCGohDSAAQQ9qIQ4gAEEOaiEPIABBDWohECAAQQxqIREgACESIABBA2oMAQsgAEEOaiEEIABBDWohBSAAQQxqIRIgAEELaiEGIABBCmohByAAQQlqIQggAEEIaiEJIABBB2ohCiAAQQZqIQsgAEEFaiEMIABBBGohDSAAQQNqIQ4gAEECaiEPIABBAWohECAAIREgAEEPagshASARLQAAIRMgEC0AACEUIA8tAAAhFSAOLQAAIRYgDS0AACEXIAwtAAAhGCALLQAAIRkgCi0AACEaIAktAAAhGyAILQAAIRwgBy0AACEdIAYtAAAhHiASLQAAIR8gBS0AACEgIAQtAAAhISABLQAAISJBACEBQQAhBEEAIQVBACEGQQAhB0EAIQhBACEJQQAhCkEAIQtBACEMQQAhDUEAIQ5BACEPQQAhEEEAIRFBACESAkACQAJAAkACQCAjDgQDAgEABAsgHyEBIBshBCAXIQUgEyEGICAhByAcIQggGCEJIBQhCiAhIQsgHSEMIBkhDSAVIQ4gIiEPIB4hECAaIREgFiESDAMLIBMhASAUIQQgFSEFIBYhBiAXIQcgGCEIIBkhCSAaIQogGyELIBwhDCAdIQ0gHiEOIB8hDyAgIRAgISERICIhEgwCCyAWIQEgGiEEIB4hBSAiIQYgFSEHIBkhCCAdIQkgISEKIBQhCyAYIQwgHCENICAhDiATIQ8gFyEQIBshESAfIRIMAQsgIiEBICEhBCAgIQUgHyEGIB4hByAdIQggHCEJIBshCiAaIQsgGSEMIBghDSAXIQ4gFiEPIBUhECAUIREgEyESCyAAIAE6AA8gACAEOgAOIAAgBToADSAAIAY6AAwgACAHOgALIAAgCDoACiAAIAk6AAkgACAKOgAIIAAgCzoAByAAIAw6AAYgACANOgAFIAAgDjoABCAAIA86AAMgACAQOgACIAAgEToAASAAIBI6AAAgAi0ABwRAIAMgABC2ASAAIAMpAwg3AAggACADKQMANwAACyACLQAKBEAgAyAAELUBIAAgAykDCDcACCAAIAMpAwA3AAALIAItAAsEQCADIAAQtAEgACADKQMINwAIIAAgAykDADcAAAsgAi0AAQRAIAMgABCzASAAIAMpAwg3AAggACADKQMANwAACyACLQADBEAgACAALQAPQcWnBWotAAA6AA8gACAALQAOQcWnBWotAAA6AA4gACAALQANQcWnBWotAAA6AA0gACAALQAMQcWnBWotAAA6AAwgACAALQALQcWnBWotAAA6AAsgACAALQAKQcWnBWotAAA6AAogACAALQAJQcWnBWotAAA6AAkgACAALQAIQcWnBWotAAA6AAggACAALQAHQcWnBWotAAA6AAcgACAALQAGQcWnBWotAAA6AAYgACAALQAFQcWnBWotAAA6AAUgACAALQAEQcWnBWotAAA6AAQgACAALQADQcWnBWotAAA6AAMgACAALQACQcWnBWotAAA6AAIgACAALQABQcWnBWotAAA6AAEgACAALQAAQcWnBWotAAA6AAALIAItAAQEQCADIAAQsgEgACADKQMINwAIIAAgAykDADcAAAsgAi0AACIBBEAgACABQQJ0QdCnBWoiASAALQAPai0AADoADyAAIAEgAC0ADmotAAA6AA4gACABIAAtAA1qLQAAOgANIAAgASAALQAMai0AADoADCAAIAEgAC0AC2otAAA6AAsgACABIAAtAApqLQAAOgAKIAAgASAALQAJai0AADoACSAAIAEgAC0ACGotAAA6AAggACABIAAtAAdqLQAAOgAHIAAgASAALQAGai0AADoABiAAIAEgAC0ABWotAAA6AAUgACABIAAtAARqLQAAOgAEIAAgASAALQADai0AADoAAyAAIAEgAC0AAmotAAA6AAIgACABIAAtAAFqLQAAOgABIAAgASAALQAAai0AADoAAAsgAi0ABQRAIABBAyAALQAPazoADyAAQQMgAC0ADms6AA4gAEEDIAAtAA1rOgANIABBAyAALQAMazoADCAAQQMgAC0AC2s6AAsgAEEDIAAtAAprOgAKIABBAyAALQAJazoACSAAQQMgAC0ACGs6AAggAEEDIAAtAAdrOgAHIABBAyAALQAGazoABiAAQQMgAC0ABWs6AAUgAEEDIAAtAARrOgAEIABBAyAALQADazoAAyAAQQMgAC0AAms6AAIgAEEDIAAtAAFrOgABIABBAyAALQAAazoAAAsgAi0AAgRAIAMgABCxASAAIAMpAwg3AAggACADKQMANwAACyADQRBqJAALQgEBf0E8ECUiAEIANwMAIABBADYCOCAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAACwQAQQELhgQBCH8CQCAAKAIAIg1FDQAgACgCXCABTQ0AAkAgACgALEECTwRAIANBBU0NAQwCCyADDQELIAAoACgiDEEBIAxBAUsbIAJNDQAgAEGMBmohDAJ/IAAoADRBAkcEQCANIAAoAlggAUEYbGoiDigAAGohDyAOKAAIDAELIAEgDCgCpANHBEAgACABIAxBmANqELgBRQ0CIAwgATYCpAMLIAwoApgDIQ8gDCgCnAMLIRAgACgAICABdiINQQEgDUEBSxsiEUEDakECdiENIAAoABwgAXYiDkEBIA5BAUsbIhJBA2pBAnYhDgJAAkACQCAAKAKcAQ4CAAEDCyAAKALEAUUNAiADIAAoACwgAiAAKAAoIgNBASADQQFLGyABbGpsaiICIAAoApQBTw0CIABBvAFqIAYgBCAFIAAoAgAgACgCBCAOIA0gEiARIAEgACgCWCABQRhsaigAACIDIAAoApABIAJBFGxqIgEoAARqIAEoAAggASgAECICBH8gASgADCADagVBAAsgAiAHIAAtALQJIAAtALUJIAggDCAJEGwNAQwCCyAQIA0gDmxBBHQiASAAKAAsIAJsIANqbCICTQ0BIAGtIBCtIAKtfVYNASAAIAYgBCAFIAIgD2ogASAOIA0gEiARQQAgASAHIAAtALQJIAggCSAKIAsQV0UNAQtBASETCyATC7kCAQZ/IAJBAnQgAkEEdnIiCCAFQQJ0IAVBBHZyIgVBAXRqQQNuIAUgCGsiAmwgAUEDdCABQQJ2ciIJIARBA3QgBEECdnIiBEEBdGpBA24gBCAJayIBbGogA0EDdCADQQJ2ciIKIAZBA3QgBkECdnIiBkEBdGpBA24gBiAKayIDbGoiCyAFIAhBAXRqQQNuIAJsIAQgCUEBdGpBA24gAWxqIAYg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RiECCyACIAdyIQILIARBEGokACACQQFxC6kDAQh/IwBB4AFrIgIkAAJAIAAgAkHIAGpBAEEBEC0iB0UNACACKAKwASIDQQhGBEAgAi0AuwEhAEEAIQMgAUEANgACIAEgADoAASABIAA6AAAgAUEAOwAGQQEhBUGqASEEAkACfyACLQC6AUEBdCIAQZGsEmotAAAgAi0AuQFBAXQiCEGRtBJqLQAAQQV0IAItALgBQQF0IglBkawSai0AAEELdHJyIgYgAEGQrBJqLQAAIAhBkLQSai0AAEEFdCAJQZCsEmotAABBC3RyciIARgRAIABFBEBB1QAhBAwDC0EAIQQgAEEBayEGCyAAIAZPCwRAIAAhBSAGIQMMAQsgBEHVAHIhBCAGIQUgACEDCyABIAM6AAogASAFOgAIIAEgBEGBgoQIbDYADCABIANBCHY6AAsgASAFQQh2OgAJDAELIAFBCGohACADIAIoArQBIAJBuAFqIAJByABqIAIQLyABIAJBA3IQSyACLQC8AQRAIAJByABqIAAQfAwBCyACLQC9AQRAIAJByABqIAIgABB7DAELIAAgAkEAEFgLIAJB4AFqJAAgBwu7AgACQCABQRRLDQACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDgoAAQIDBAUGBwgJCgsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACQQARAgALC0oBA38gACgCACwAAEEwa0EKSQRAA0AgACgCACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBMGshAiABLAABQTBrQQpJDQALCyACCxIAIABFBEBBAA8LIAAgARDwAQv1GAEcfyMAQSBrIgYkAAJAIAAoAmhBCEYEQCACIAAoAngiAUEFdCAALQB3QQF0ciABQQJ0cjoAAyAAKAKMASEBIAICfyAALQB3BEAgAiABQQN0OgAAIAIgAC0AkAFBA3Q6AAEgAC0AlAFBA3QMAQsgAiABQQR0IAFyOgAAIAIgACgCkAEiAUEEdCABcjoAASAAKAKUASIBQQR0IAFyCzoAAiACIAAoAogBQQJ0QfCyAWooAgA2AAQMAQsgAiAALQB2IgMgAC0AdyILQQF0ciAAKAJ4QQV0ciAAKAJ8QQJ0cjoAAyABIANBBXQiA0GPswFqLQAAQQR0aiADQY6zAWotAABBAnRqIgctAAAhDiABIANBjbMBai0AAEEEdGogA0GMswFqLQAAQQJ0aiIELQAAIQ8gASADQYuzAWotAABBBHRqIANBirMBai0AAEECdGoiCi0AACEQIAEgA0GJswFqLQAAQQR0aiADQYizAWotAABBAnRqIggtAAAhESABIANBh7MBai0AAEEEdGogA0GGswFqLQAAQQJ0aiIMLQAAIRIgASADQYWzAWotAABBBHRqIANBhLMBai0AAEECdGoiBS0AACETIAEgA0GDswFqLQAAQQR0aiADQYKzAWotAABBAnRqIgktAAAhFCABIANBgbMBai0AAEEEdGogA0GAswFqLQAAQQJ0aiINLQAAIRUgBy0AASEWIAQtAAEhFyAKLQABIRggCC0AASEZIAwtAAEhGiAFLQABIRsgCS0AASEcIA0tAAEhHSAHLQACIR4gBC0AAiEEIAotAAIhCiAILQACIQggDC0AAiEMIAUtAAIhBSAJLQACIQkgDS0AAiENIAZBADoACyAGQR9BDyALGyIHIB4gBCAKIAggDCAFIAkgDWpqampqampsQfwHakH//wNxQfgPbjoACiAGIBYgFyAYIBkgGiAbIBwgHWpqampqamogB2xB/AdqQf//A3FB+A9uOgAJIAYgDiAPIBAgESASIBMgFCAVampqampqaiAHbEH8B2pB//8DcUH4D246AAhBgDogACgCaHZBAXFFBEAgBkEQaiAGQQhqIAAoAoABIAdBABB2IAYgBigCEDYCCAsgASADQZ+zAWotAABBBHRqIANBnrMBai0AAEECdGoiBC0AACEOIAEgA0GdswFqLQAAQQR0aiADQZyzAWotAABBAnRqIgotAAAhDyABIANBm7MBai0AAEEEdGogA0GaswFqLQAAQQJ0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IgM2AhAgBCADIBFqQQF0IgM2AhQgBCADIBBqQQF0IgM2AhggBCADIA9qQQF0IgM2AhwgBCADIA5qQQF0IgM2AiAgBCADIAxqQQF0IgM2AiQgBCADIApqQQF0IgM2AiggBCADIAZqQQF0IgM2AiwgBCADIAlqQQF0IgM2AjAgBCADIAhqQQF0IgM2AjQgBCADIAdqQQF0IgM2AjggBCADIAVqQQF0IgM2AjwgBCAEKAK8ASIVIANqQQF0IgM2AkAgBCAEKALAASIWIANqQQF0IgM2AkQgBCAEKALEASIXIANqQQF0IgM2AkggBCAEKALIASIYIANqQQF0IgM2AkwgBCAEKALMASIZIANqQQF0IgM2AlAgBCAEKALQASIaIANqQQF0IgM2AlQgBCAEKALUASIbIANqQQF0IgM2AlggBCAEKALYASIcIANqQQF0IgM2AlwgBCAEKALcASIdIANqQQF0IgM2AmAgBCAEKALgASIeIANqQQF0IgM2AmQgBCAEKALkASIfIANqQQF0IgM2AmggBCAEKALoASIgIANqQQF0IgM2AmwgBCAEKALsASIhIANqQQF0IgM2AnAgBCAEKALwASIiIANqQQF0IgM2AnQgBCAEKAL0ASIjIANqQQF0IgM2AnggBCAEKAL4ASIkIANqQQF0IgM2AnwgA0GAgICAeEcEQEEAIQMgJCAjICIgISAgIB8gHiAdIBwgGyAaIBkgGCAXIBYgFSAFIAcgCCAJIAYgCiAMIA4gDyAQIBEgEiATIBRqampqampqampqampqampqampqampqampqampqakEBSw0BC0EBIQMgAUEBSA0AQQAhCkF/IQUDQAJAIAIgCmotAAAiCEUNACAEIAhBAnRqIgcgBygCACIGQQFqNgIAQQAhAyAIIQkDQCAGQQFxIANBAXRyIQMgBkEBdiEGIAlBAWsiCQ0ACyAIQQpNBEAgA0GACE8NASAIQRB0IApyIQdBASAIdCEIA0AgDSgCACADQQJ0aiIJKAIABEBBACEDDAULIAkgBzYCACADIAhqIgNBgAhJDQALDAELAkAgDSgCACADQf8HcUECdGoiBygCACIJBEAgBSEHIAkhBQwBCyAHIAU2AgAgBUECayEHCyAFQX9KBEBBACEDDAMLIANBCXYhCSAIQQtKBEADQEEAIQMgBSAJQQF2IglBAXFrIgVB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Shs6AAAgACAEaiAGQQN0IAcgCEECay0AAGprIAEgAkEDciIHai0AACICayABIAlBAnJqLQAAa0EEbUEQdEEQdSIEQQMgBEEDSBsiBEEAIARBAEobOgAAIAAgB2ogAkEDdCAGIAhBAWstAABqayACayABIAlBA3JqLQAAa0EEbUEQdEEQdSICQQMgAkEDSBsiAkEAIAJBAEobOgAAIANBBEcNAAsLwgYBC38gAEIANwAAIABCADcACANAQeMAIQQCfyADQQFrIgZBA0siC0UEQCABIAZBAnQiBGotAAAiAkHjACACQeMASRsiAiABIARBAXJqLQAAIgQgAiAESRshBAsgBAsgA0ECdCIHIAFqIgktAAAiAiACIARLGyIEIAEgB0EBciIFaiIKLQAAIgIgAiAESxshAiADQQFqIQQgACAHaiADQQJLIgwEfyACBSACIAEgBEECdCIDai0AACIIIAIgCEkbIgIgASADQQFyai0AACIDIAIgA0kbCzoAAEHjACECAn8gC0UEQCABIAZBAnQiA2otAAAiAkHjACACQeMASRsiAiABIANBAXJqLQAAIgggAiAISRsiAiABIANBAnJqLQAAIgMgAiADSRshAgsgAgsgCS0AACIDIAIgA0kbIgMgCi0AACICIAIgA0sbIgMgASAHQQJyIghqIgktAAAiAiACIANLGyECIAAgBWogDAR/IAIFIAIgASAEQQJ0IgNqLQAAIgUgAiAFSRsiAiABIANBAXJqLQAAIgUgAiAFSRsiAiABIANBAnJqLQAAIgMgAiADSRsLOgAAQeMAIQICfyALRQRAIAEgBkECdCIDQQFyai0AACICQeMAIAJB4wBJGyICIAEgA0ECcmotAAAiBSACIAVJGyICIAEgA0EDcmotAAAiAyACIANJGyECCyACCyAKLQAAIgMgAiADSRsiAyAJLQAAIgIgAiADSxsiAyABIAdBA3IiB2oiCi0AACICIAIgA0sbIQMgACAIaiAMBH8gAwUgAyABIARBAnQiAkEBcmotAAAiBSADIAVJGyIDIAEgAkECcmotAAAiBSADIAVJGyIDIAEgAkEDcmotAAAiAiACIANLGws6AABB4wAhAwJ/IAtFBEAgASAGQQJ0IgNBAnJqLQAAIgJB4wAgAkHjAEkbIgIgASADQQNyai0AACIDIAIgA0kbIQMLIAMLIAkt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AC9BD3E2ArgBDAELIABBATYCsAEgAEEBNgKcASAAIANBD3EiATYCtAEgACABQQNGIAFBBUZyOgC0CQsgABC/AUUNACAAKAJ0IgJFBEBBAQ8LIAAoAnAhA0EAIQEDQCADIAFBGGxqKAIAQaTHARBnBEBBASEFIAIgAUEBaiIBSw0BDAILC0EBIQUgAEEBOgC1CQsgBQ8LQQALmgQBBH8DQCAAIANBDGxqIgEoAgAiAgRAIAIQJCABQQA2AgAgAUIANwIECyAAIANBwAFsaiIBIgIoAhgiBARAIAQQJCACQQA2AhggAUIANwIcCyABKAIkIgIEQCACECQgAUEANgIkIAFCADcCKAsgASgCMCICBEAgAhAkIAFBADYCMCABQgA3AjQLIAEoAjwiAgRAIAIQJCABQQA2AjwgAUFAa0IANwIACyABKAJIIgIEQCACECQgAUEANgJIIAFCADcCTAsgASgCVCICBEAgAhAkIAFBADYCVCABQgA3AlgLIAEoAmAiAgRAIAIQJCABQQA2AmAgAUIANwJkCyABKAJsIgIEQCACECQgAUEANgJsIAFCADcCcAsgASgCeCICBEAgAhAkIAFBADYCeCABQgA3AnwLIAEoAoQBIgIEQCACECQgAUEANgKEASABQgA3AogBCyABKAKQASICBEAgAhAkIAFBADYCkAEgAUIANwKUAQsgASgCnAEiAgRAIAIQJCABQQA2ApwBIAFCADcCoAELIAEoAqgBIgIEQCACECQgAUEANgKoASABQgA3AqwBCyABKAK0ASICBEAgAhAkIAFBADYCtAEgAUIANwK4AQsgASgCwAEiAgRAIAIQJCABQQA2AsABIAFCADcCxAELIAEoAswBIgIEQCACECQgAUEANgLMASABQgA3AtABCyADQQFqIgNBAkcNAAsLfwAgAEIANwK8ASAAQgA3ApABIABCADcCWCAAQQA2ApgBIABCADcCxAEgAEIANwLMASAAQQA2AtQBIABCADcCYCAAQgA3AmggAEIANwJwIABBADYCeCAAIAE2AtgBIABB3AFqQQBBrAQQJhogAEGMBmpBAEGkAxAmGiAAEFQgAAvIBwIjfwZ9A0AgASAEai0AACIMIAAgBEECdGoiBS0AAiIObCAJaiEJIAwgBS0AASIPbCAHaiEHIAwgBS0AACIFbCANaiENIAogDmohCiAI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IAJBgsgBai8BACIAIAJBhsgBai8BACIBSyIDIAEgACADGyIAIAJBisgBai8BACIBSyIDGyABIAAgAxsiACACQY7IAWovAQAiAUsiAxsgASAAIAMbIgAgAkGSyAFqLwEAIgFLIgMbIAEgACADGyIAIAJBlsgBai8BACIBSyIDGyABIAAgAxsiACACQZrIAWovAQAiAUsiAxsgAkGeyAFqLwEAIgggASAAIAMbIgBB//8DcUkiARsgAkGiyAFqLwEAIgMgCCAAIAEbIgBB//8DcUkiARsgAkGmyAFqLwEAIAMgACABG0H//wNxSRs6AAAgBEHR0RNqQQlBCEEHQQZBBUEEQQNBAiACQdrHAWovAQAiACACQd7HAWovAQAiAUsiAyABIAAgAxsiACACQeLHAWovAQAiAUsiAxsgASAAIAMbIgAgAkHmxwFqLwEAIgFLIgMbIAEgACADGyIAIAJB6scBai8BACIBSyIDGyABIAAgAxsiACACQe7HAWovAQAiAUsiAxsgASAAIAMbIgAgAkHyxwFqLwEAIgFLIgMbIAJB9scBai8BACIIIAEgACADGyIAQf//A3FJIgEbIAJB+scBai8BACIDIAggACABGyIAQf//A3FJIgEbIAJB/scBai8BACADIAAgARtB//8DcUkbOgAAIARB0NETakEJQQhBB0EGQQVBBEEDQQIgAkGyxwFqLwEAIgQgAkG2xwFqLwEAIgBLIgEgACAEIAEbIgQgAkG6xwFqLwEAIgBLIgEbIAAgBCABGyIEIAJBvscBai8BACIASyIBGyAAIAQgARsiBCACQcLHAWovAQAiAEsiARsgACAEIAEbIgQgAkHGxwFqLwEAIgBLIgEbIAAgBCABGyIEIAJByscBai8BACIASyIBGyACQc7HAWovAQAiAyAAIAQgARsiBEH//wNxSSIAGyACQdLHAWovAQAiASADIAQgABsiBEH//wNxSSIAGyACQdbHAWovAQAgASAEIAAbQf//A3FJGzoAACAFQQFqIgVBCEcNAAsgBkEBaiIGQSBHDQALQQAhBkH83RNBBDYCAEHo3RNCg4CAgBA3AwBB1N0TQoWAgIAgNwIAQcjfE0L8gICAsBA3AwBBwN8TQuyAgICwEjcDAEG43xNC3ICAgLAUNwMAQbDfE0LMgICAsBY3AwBBqN8TQruAgIDAGDcDAEGg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QQF0ai0AALNDAAB/Q5U4AhggA0IANwMIIANBADYCBCADQQA2AgBBA0EHIANBIGogA0EQaiADQQRqIAMgA0EIahA1IAEgAy0ABDoALCABIAMtAAA6ADggASADLQAFOgAtIAEgAy0AAToAOSABIAMtAAY6AC4gAy0AAiEEIAFB/wA6ADsgAUH/ADoALyABIAQ6ADogASADKAIINgJIIAEgAygCDDYCTCADIAIgAC0AG0EBdGotAACzQwAAf0OVOAIgIAMgAiAALQAcQQF0ai0AALNDAAB/Q5U4AhAgAyACIAAtAB1BAXRqLQAAs0MAAH9DlTgCJCADIAIgAC0AHkEBdGotAACzQwAAf0OVOAIUIAMgAiAALQAfQQF0ai0AALNDAAB/Q5U4AiggAyACIAAtACBBAXRqLQAAs0MAAH9DlTgCGCADQgA3AwggA0EANgIEIANBADYCAEEDQQcgA0EgaiADQRBqIANBBGogAyADQQhqEDUgASADLQAEOgAoIAEgAy0AADoANCABIAMtAAU6ACkgASADLQABOgA1IAEgAy0ABjoAKiADLQACIQIgAUH/ADoANyABQf8AOgArIAEgAjoANiABIAMoAgg2AkAgASADKAIMNgJECyABIAAtACc6AAggASAALQAoOgAJIAEgAC0AKToACiABIAAtACo6AAsgASAALQArOgAMIAEgAC0ALDoADSABIAAtAC06AA4gASAALQAuOgAPIAEgAC0ALzoAECABIAAtADA6ABEgASAALQAxOgASIAEgAC0AMjoAEyABIAAtADM6ABQgASAALQA0OgAVIAEgAC0ANToAFiABIAAtADY6ABcMCAsgAUEFNgIAIAEgACgCEEEBakEDcTYCXCACQQ9rQQJNBEAgASAGQQl0QdDkEmoiAiAALQAVQQF0ai0AAEH/AGxB/wBqQf8BbiIEOgAoIAIgAC0AFkEBdGotAAAhBiABIAQ6ACkgASAEOgAqIAEgBkH/AGxB/wBqQf8BbiIEOgA1IAEgBDoANCABIAQ6ADYgASACIAAtABdBAXRqLQAAOgArIAEgAiAALQAYQQF0ai0AADoANwwGC0EAQQMgACgCECIIGyEJIAZBCXRB0OQSaiIFIAAtABVBAXRqLQAAIQQgBSAALQAWQQF0ai0AACEHIAgEQCAHQf8BcUH/AGxB/wBqQf8BbiEHIARB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IAEgAC0AJzoACCABIAAtACg6AAkgASAALQApOgAKIAEgAC0AKjoACyABIAAtACs6AAwgASAALQAsOgANIAEgAC0ALToADiABIAAtAC46AA8gASAALQAvOgAQIAEgAC0AMDoAESABIAAtADE6ABIgASAALQAyOgATIAEgAC0AMzoAFCABIAAtADQ6ABUgASAALQA1OgAWIAEgAC0ANjoAFwwECyAEQf8AbEH/AGpB/wFuIQQgBUH/AGxB/wBqQf8BbiEFCyABIAdqIgYgBDoANCAGIAU6ACggAkENRg0BCyABIAAtACc6AAggASAALQAoOgAYIAEgAC0AKToACSABIAAtACo6ABkgASAALQArOgAKIAEgAC0ALDoAGiABIAAtAC06AAsgASAALQAuOgAbIAEgAC0ALzoADCABIAAtADA6ABwgASAALQAxOgANIAEgAC0AMjoAHSABIAAtADM6AA4gASAALQA0OgAeIAEgAC0ANToADyABIAAtADY6AB8gASAALQA3OgAQIAEgAC0AODoAICABIAAtADk6ABEgASAALQA6OgAhIAEgAC0AOzoAEiABIAAtADw6ACIgASAALQA9OgATIAEgAC0APjoAIyABIAAtAD86ABQgASAAQUBrLQAAOgAkIAEgAC0AQToAFSABIAAtAEI6ACUgASAALQBDOgAWIAEgAC0ARDoAJiABIAAtAEU6ABcgASAALQBGOgAnDAELIAFBA0EAIAAtACcbOgAIIAFBA0EAIAAtACgbOgAYIAFBA0EAIAAtACkbOgAJIAFBA0EAIAAtACobOgAZIAFBA0EAIAAtACsbOgAKIAFBA0EAIAAtACwbOgAaIAFBA0EAIAAtAC0bOgALIAFBA0EAIAAtAC4bOgAbIAFBA0EAIAAtAC8bOgAMIAFBA0EAIAAtADAbOgAcIAFBA0EAIAAtADEbOgANIAFBA0EAIAAtADIbOgAdIAFBA0EAIAAtADMbOgAOIAFBA0EAIAAtADQbOgAeIAFBA0EAIAAtADUbOgAPIAFBA0EAIAAtADYbOgAfIAFBA0EAIAAtADcbOgAQIAFBA0EAIAAtADgbOgAgIAFBA0EAIAAtADkbOgARIAFBA0EAIAAtADobOgAhIAFBA0EAIAAtADsbOgASIAFBA0EAIAAtADwbOgAiIAFBA0EAIAAtAD0bOgATIAFBA0EA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A0AgCyAMIARBuMUBaiwAAGwgD2oiAyADQR91QX9zIANBgAJJG0H/AXEgBWsiAyADQR91IgNqIANzQQN0IARyIgMgAyALSxshCyAJIAwgBEGoxQFqLAAAbCAPaiIDIANBH3VBf3MgA0GAAkkbQf8BcSAFayIDIANBH3UiA2ogA3NBA3QgBHIiAyADIAlLGyEJIAogDCAEQZDFAWosAABsIA9qIgMgA0EfdUF/cyADQYACSRtB/wFxIAVrIgMgA0EfdSIDaiADc0EDdCAEciIDIAMgCksbIQogBiAUIARB4MQBaiwAAGwgCGoiAyADQR91QX9zIANBgAJJG0H/AXEgBWsiAyADQR91IgNqIANzQQN0IARyIgMgAyAGSxshBiAEQQFqIgRBCEcNAAwCCwALIA8gBWshAyAIIAVrIQUgFgRAA0AgCyAMIARBuMUBaiwAAGwgA2oiByAHQR91IgdqIAdzQQN0IARyIgcgByALSxshCyAJIAwgBEGoxQFqLAAAbCADaiIHIAdBH3UiB2ogB3NBA3QgBHIiByAHIAlLGyEJIAogDCAEQZDFAWosAABsIANqIgcgB0EfdSIHaiAHc0EDdCAEciIHIAcgCksbIQogBiAUIARB4MQBaiwAAGwgBWoiByAHQR91IgdqIAdzQQN0IARyIgcgBiAHSRshBiAEQQFqIgRBCEcNAAsMAQtBASADayADQQFrIANBAUgbQQN0IgRBAiADayADQQJrIANBAkgbQQN0IgpBAXIiBiAEIAZJGyIEQQMgA2sgA0EDayADQQNIG0EDdEECciIGIAQgBkkbIgZBCiADayADQQprIANBCkgbQQN0QQNyIgQgBCAGSxsiBiADIANBH3UiCWogCXNBA3RBBHIiCSAGIAlJGyIGIANBf3MgA0EBaiADQX9IG0EDdCIJQQVyIgsgBiALSRsiBkH+////ASADayADQQJqIANBfkgbQQN0QQZyIgsgBiALSRsiC0H3////ASADayADQQlqIANBd0gbQQN0QQdyIgYgBiALSxshCyAKQQUgA2sgA0EFayADQQVIG0EDdEEBciIHIAcgCksbIgdBByADayADQQdrIANBB0gbQQN0QQJyIg4gByAOSRsiByAEIAQgB0sbIg4gCUEEciIHIAcgDksbIglB/P///wEgA2sgA0EEaiADQXxIG0EDdEEFciIO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QQJBvOoREA82AgBB3OUTEDoLQdjlEygCACEDIAEoAgAQBiACIAEoAgA2AgggAyAEQY3qESACQQhqEBICQCAHIAAoArwJIABBwAlqKAIAEMABDQAgBigCACIBRQ0AIAEQJCAAQcQJakEANgIAIABCADcCvAkLIABB4v229X02AgAgAEEBOgDICSAEEAEgBRABCyACQSBqJAAgAAukAQEDfyAAQaQJaigCACIBBEAgARAkCyAAQYwGahBqIABBvAFqEGsgACgCkAEiAQRAIAEQJAsgACgCcCIBBEAgACgCdCICBH8gASACQRhsaiECA0AgASgCDCIDBEAgAxAkCyABKAIAIgMEQCADECQLIAFBGGoiASACRw0ACyAAKAJwBSABCxAkCyAAKAJkIgEEQCABECQLIAAoAlgiAARAIAAQJAsLywIBAX8jAEHgAGsiAiQAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AggCQCABKAIAQeH9tvV9Rw0AIAJBADYCTCACQQA2AjwgAkIANwJEIAJCADcCNCABKALUBCABKALYBCACEMYBBEAgACACKAIANgIAIAAgAigCMDYCBCAAIAIoAkA2AgggACACKAJQNgIMIAAgAigCVDYCECAAIAIoAlg2AhQgACACLQBcOgAYIAAgAi0AXjoAGSAAIAIoAhQ2AhwgACACKAIYNgIgIAAgAigCHDYCJCAAIAIoAgg2AiggACACKAIMNgIsIAAgAigCEDYCMCAAIAIoAiA2AjQgACACKAIkNgI4CyACKAJEIgAEQCAAECQLIAIoAjQiAEUNACAAECQLIAJB4ABqJAAL7AUBBn8jAEEwayIGJAACQCAEQRVLDQAgACgCAEHh/bb1fUcNACAAQQRqIgogACgC1AQgACgC2AQgAiADIAZBFGogBkEQaiAGQQxqEEhFDQAgBkIANwMAIAZBADYCCCAFQQBHQQJ0IQsCfyAEQQ1rQQRJBEAgBigCBCIHIAYoAhAiCQJ/IARBDWsiBUEDTQRAIAVBAnRB2NERaigCAAwBC0EACyAGKAIUIghsbCIFRwRAIAUgB08EQAJ/IAUgBigCCEsEQCAGIAUgB0EBaiAFRkEBECggBigCBCEHCyAGKAIAIAdqC0EAIAUgB2sQJhogBigCECEJ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AyABECcaDAELIAMoAgQiAUEEahAuIgAgATYCACAAQQRqIAMoAgAiAiABECcaIAIQJAsgA0EQaiQAIAALnQEBAn8gASgCAEHi/bb1fUcEQCAAQQA6AAAgAEEAOgALDwsgASgCdCACQRhsaigCACIDEFkiAkFwSQRAAkACQCACQQtPBEAgAkEQakFwcSIEECUhASAAIARBgICAgHhyNgIIIAAgATYCACAAIAI2AgQgASEADAELIAAgAjoACyACRQ0BCyAAIAMgAhAnGgsgACACakEAOgAADwsQXwALGwEBfyAAKAIAQeL9tvV9RgR/IAAoAngFQQALCyIBAX8gACgCAEHi/bb1fUYEfyAAQQRqIAEQU0EARwVBAAsLnQEBAn8jAEFAaiICJAAgASAAKAIEIgNBAXVqIQEgACgCACEAIAIgASADQQFxBH8gASgCACAAaigCAAUgAAsRAgBBPBAlIgAgAigCODYCOCAAIAIpAzA3AjAgACACKQMoNwIoIAAgAikDIDcCICAAIAIpAxg3AhggACACKQMQNwIQIAAgAikDCDcCCCAAIAIpAwA3AgAgAkFAayQAIAAL4gEAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AgggASgCAEHi/bb1fUYEQCAAIAEoABg2AgAgACABKAAcNgIEIAAgASgAIDYCCCAAIAEoACQ2AgwgACABKAAoNgIQIAAgASgALDYCFCAAIAEoADA2AhggACABKAA0NgIcIAAgASgAODYCICAAIAEoADw2AiQgACABQUBrKAAANgIoIAAgASgARDYCLCAAIAEoAEg2AjAgACABKABMNgI0IAAgASgAVDYCOAsLLAEBfyAAKAIAQeL9tvV9RgR/IAAoAmxFBEBBAQ8LIAEgAEHoAGoQRgVBAAsLBwAgACgCbAs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxEEAAs8AQF/IAAoAgBB4v229X1GBEAgACgCvAkiAQRAIAEQJCAAQcQJakEANgIAIABCADcCvAkLIABBBGoQVAsLHwEBfyAAKAIAQeL9tvV9RgR/IAAtAMgJQQBHBUEACwsMAEHMCRAlIAAQnAILJAEBfyAABEAgACgCvAkiAQRAIAEQJAsgAEEEahCdAiAAECQLCwYAQfD0EQs0AQF/QSwQJSIAQgA3AwAgAEEANgIoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAC2ABAX8jAEEQayITJAAgEyACNgIIIBMgBDYCACABIBNBCGogAyATIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiAAEREAIQAgEygCABABIBMoAggQASATQRBqJAAgAAuNAQECfyMAQRBrIhQkACABIAAoAgQiFUEBdWohASAAKAIAIQAgFUEBcQRAIAEoAgAgAGooAgAhAAsgFCADNgIIIBQgBTYCACABIAIgFEEIaiAEIBQgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIAARDwAhACAUKAIAEAEgFCgCCBABIBRBEGokACAAC7cCAgN/AXwjAEEgayITJAACQEHQ5RMoAgBFDQAgE0EANgIYIBNCADcDECAEIBNBEGoQRAJAIBMoAhRFDQAgAigCAEH40REQBSIUEAQhBCAUEAEgBEHcpRIgExAMIRYgEygCABALIAQQAQJ/IBZEAAAAAAAA8EFjIBZEAAAAAAAAAABmcQRAIBarDAELQQALIgRFDQAgE0EANgIIIBNCADcDACATIAQgBEEBRkEBECggEygCBCIUIBMoAgBqQQAgBCAUaxAmGiATIAQ2AgQgACABIBMoAgAgAyATKAIQIBMoAhQgBSAGIAcgCCAJIAogCyAMIA0gDiAPIBAgESAAQcwEaiASEGwEQCACIBMQRiEVCyATKAIAIgBFDQAgABAkCyATKAIQIgBFDQAgABAkCyATQSBqJAAgFQtPAQJ/IwBBEGsiAiQAIAJBADYCCCACQgA3AwAgASACEEQgAigCBCIBBEAgACACKAIAIAEQbiEDCyACKAIAIgAEQCAAECQLIAJBEGokACADC3EBAn8jAEEQayIGJAAgASAAKAIEIgdBAXVqIQEgACgCACEAIAdBAXEEQCABKAIAIABqKAIAIQALIAYgAzYCCCAGIAU2AgAgASACIAZBCGogBCAGIAARCAAhACAGKAIAEAEgBigCCBABIAZBEGokACAAC4wBAQJ/IwBBIGsiBSQAIAVBADYCGCAFQgA3AxAgBUEANgIIIAVCADcDACACIAVBEGoQRCAEIAUQRAJAIAUoAhQiAkUNACAFKAIEIgRFDQAgACABIAUoAhAgAiADIAUoAgAgBBBRIQYLIAUoAgAiAARAIAAQJAsgBSgCECIABEAgABAkCyAFQSBqJAAgBgslAQF/QeQHECUiAEHQ5RMoAgAQvQEgAEHMBGpBAEGYAxAmGiAACxcAIAAEQCAAQcwEahBqIAAQayAAECQLCwYAQZDwEQs+AQF/IwBBEGsiBCQAIAQgASACIAMgACgCABEJAEEQECUiACAEKQMINwIIIAAgBCkDADcCACAEQRBqJAAgAAtyAQF/IwBBQGoiBCQAIABCADcCACAAQgA3AggCQCABKAIAQeH9tvV9Rw0AIAEoAtQEIAEoAtgEIAQgAiADEHhFDQAgACAEKAIoNgIAIAAgBCgCLDYCBCAAIAQoAjA2AgggACAEKAI0NgIMCyAEQUBrJAALSQEBfyMAQSBrIgMkACADQQhqIAEgAiAAKAIAEQUAQRgQJSIAIAMpAxg3AhAgACADKQMQNwIIIAAgAykDCDcCACADQSBqJAAgAAuVAQEBfyMAQTBrIgMkACAAQgA3AgAgAEIANwIQIABCADcCCAJAIAEoAgBB4f229X1HDQAgASgC1AQgASgC2AQgAyACEHlFDQAgACADKAIINgIAIAAgAygCDDYCBCAAIAMoAhg2AgggACADKAIcNgIMIAAgAygCBDYCECAAIAMtACg6ABQgACADLQApOgAVCyADQTBqJAALdgEBfyMAQUBqIgIkACACIAEgACgCABECAEE8ECUiACACKAI4NgI4IAAgAikDMDcCMCAAIAIpAyg3AiggACACKQMgNwIgIAAgAikDGDcCGCAAIAIpAxA3AhAgACACKQMINwIIIAAgAikDADcCACACQUBrJAAgAAsJACAAIAEQngILQwEBfyMAQRBrIggkACAAKAIAIQAgCCACNgIIIAEgCEEIaiADIAQgBSAGIAcgABEOACEAIAgoAggQASAIQRBqJAAgAAsRACAAIAEgAiADIAQgBhCfAgsqAQF/IAAoAgBB4f229X1GBH8gAEEEaiAAKALUBCAAKALYBBDFAQVBAAsLEgAgASACIAMgBCAAKAIAEQcACw0AIAAgASACIAMQoAILWQECfyMAQRBrIgMkACAAKAIAQeH9tvV9RgRAIABBBGogACgC1AQgACgC2AQgASACIANBDGogA0EIaiADQQRqEEghACAD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AQEAAAEBAAABAQAAAAEBAAEBAAABAQABAQAAAAAAAQABAQEBAQEAAQAAAAAAAAABAQEBAQEBAQAAAAAAAQEBAAAAAQEAAAABAQEAAAABAQEAAAEBAAABAQEAAAABAAEAAQABAAEAAQABAAEAAAAAAQEBAQAAAAABAQEBAAEAAQEAAQAAAQABAQABAAAAAQEAAAEBAQEAAAEBAAAAAAEBAQEAAAAAAQEBAQAAAAEAAQABAAEBAAEAAQABAAABAQABAAABAAEBAAEAAAEAAQABAQABAAEAAQAAAQABAAEBAQAAAQEBAQAAAQEBAAAAAAEAAAEBAQEAAAEAAAAAAAEBAAABAAABAAABAQAAAAABAQEAAQEBAQABAQEAAAABAQABAAABAQAAAQABAQAAAAEBAQEAAAEBAAAAAAEBAAEBAAABAQABAAABAQAAAQAAAAAAAQEAAAEBAAAAAAAAAQAAAQEBAAABAAAAAAAAAAABAAABAQEAAAEAQfajAQuKCQEAAAEBAQAAAQAAAAAAAAEAAAEBAQAAAQAAAAEBAAEBAAABAAABAAABAQAAAQEAAQEAAQEAAAEAAAEAAQEAAAABAQEAAAEBAQAAAAABAQEAAAEBAQAAAAEBAAABAQABAQAAAQEAAAEAAAEAAQEAAAABAQAAAQEBAAABAAEBAQEBAQABAAAAAAAAAQAAAAEBAAAAAQEBAAABAQEAAAAAAQEBAQAAAQEAAAEBAAABAQAAAQEBAQEBAAAAAAAAAQAAAAEAAQEBAAEBAQAAAQAAAAEAAAABAQEAAQEBAAABAQAAAQEAAgIBAgICAgAAAAEAAAEBAgIBAQICAgEAAAAAAgAAAQICAQECAgEBAAICAgAAAgIAAAEBAAEBAQAAAAAAAAAAAQECAgEBAgIAAAEBAAABAQAAAgIAAAICAAACAgAAAgIBAQEBAQEBAQAAAQEAAAEBAgIBAQICAQEAAAAAAAAAAAEBAQECAgICAAAAAAEBAQEBAQEBAgICAgAAAAABAQEBAgICAgICAgIAAAECAAABAgAAAQIAAAECAAEBAgABAQIAAQECAAEBAgABAgIAAQICAAECAgABAgIAAAEBAAEBAgEBAgIBAgICAAABAQIAAAECAgAAAgICAAAAAAEAAAEBAAEBAgEBAgIAAQEBAAABAQIAAAECAgAAAAAAAAEBAgIBAQICAQECAgAAAgIAAAICAAACAgEBAQEAAQEBAAEBAQACAgIAAgICAAAAAQAAAAECAgIBAgICAQAAAAAAAAEBAAECAgABAgIAAAAAAQEAAAICAQACAgEAAAECAgABAgIAAAEBAAAAAAAAAQIAAAECAQECAgICAgIAAQEAAQICAQECAgEAAQEAAAAAAAABAQABAgIBAQICAQAAAgIBAQACAQEAAgAAAgIAAQEAAAEBAAIAAAICAgICAAABAQABAgIAAQICAAABAQAAAAACAAAAAgIBAQICAgEAAAAAAAAAAgEBAgIBAgICAAICAgAAAgIAAAECAAABAQAAAQEAAAECAAACAgACAgIAAQIAAAECAAABAgAAAQIAAAAAAAEBAQECAgICAAAAAAABAgABAgABAgABAgABAgAAAQIAAgABAgECAAEAAQIAAAABAQICAAABAQICAAABAQAAAQEBAQICAgIAAAAAAQEAAQABAAEAAQICAgICAgICAAAAAAAAAAACAQIBAgECAQAAAgIBAQICAAACAgEBAgIAAAICAAABAQAAAgIAAAEBAAICAAECAgEAAgIAAQICAQABAAECAgICAgICAgABAAEAAAAAAgECAQIBAgECAQIBAAEAAQABAAEAAQABAgICAgACAgIAAQEBAAICAgABAQEAAAACAQEBAgAAAAIBAQECAAAAAAIBAQICAQECAgEBAgACAgIAAQEBAAEBAQACAgIAAAACAQEBAgEBAQIAAAACAAEBAAABAQAAAQEAAgICAgAAAAAAAAAAAgEBAgIBAQIAAQEAAAEBAAICAgICAgICAAACAgAAAQEAAAEBAAACAgAAAgIBAQICAQECAgAAAgIAQYytAQuIAwIBAQIAAAACAAAAAQAAAAIAAAABAAICAgECAgIAAgICAQICAgABAAECAgICAgICAgICAgIAAQEBAgABAQICAAECAgIADw8PDw8PDw8PDw8PDw8PDw8CCAICCAgPAggCAggIAgIPDwYIAggPDwIIAgICDw8GBgIGCA8PAgIPDw8PDwICDwMDDw8IAw8PCAgGBgYFAwMDAwgPAwMGCgUICAYIBQ8PCA8DBQYKCA8PAw8FDw8PDwMPBQUFCAUKBQoIDQ8MAwMPCAgDDw8DCA8PDw8PDw8IDwgPAw8IDwgDDwYKDw8KCA8DDwoKCAkKBg8IDwMGBggPAw8PDw8PDw8PDw8DDw8IAwIDAgEBAQIDAwICAgIEAgQGBQcFBwcFAAAAAAYIBwUAAAAAAwIEAgAAAAAAAAAAQgIAAEIAAABTAAAAQgAAAEIAAABTAAAAQgQAAEIAAAAAAAAAQgAAAEICAABCBAAAUwAAAEEEAABCAAAAQgIAAEIAAABCBAAAUwIAAAAEAgYBBQMHAEGhsAELLwgEDAIKBg4BCQUNAwsHDwAQCBgEFAwcAhIKGgYWDh4BEQkZBRUNHQMTCxsHFw8fAEHgsAELkwELAAoDCw8MBwsSCgULDgwJCwAKBAsQDAgLEgoGCwIMDQsACgMLEQwHCxIKBQsODAkLAAoECwEMCAsSCgYLAgwNCwAKAwsTDAcLEgoFCw4MCQsACgQLEAwICxIKBgsCDA0LAAoDCxEMBwsSCgULDgwJCwAKBAsBDAgLEgoGCwIMDQ8PDw8PDw8PABcREREXFxcXFw8AQYCyAQsTCAgICAgICAgADAwMDAwMBAQECABBpLIBCxLITQAA0E0AAOBNAAAATgAAQE4AQcKyAQuCEQEBAgIDAwQEBQUGBgYHCAkJCQoKCwsMDA0NDg4PDwAFCg8AAgQGCQsNDwAAAAD///////8AAAAAAAAAAP//AAAAAQACAAMBAAEBAQIBAwIAAgECAgIDAwADAQMCAwMAAAEAAgADAAABAQECAQMBAAIBAgICAwIAAwEDAgMDAwAADQNAAKEABAHAACEAgwBgAEABQQCiAAUBwQAiACMBYQDgAEIAowAGAcIAIwAlAmIABABDAI0CpADDAAsCJABjAAUAQgJEAKUAYQHEACUAhwBkAEQBRQCmAGIBxQAmACcBZQDkAEYApwBjAcYAJwApAmYACABHAGACqADHAA8CKABnAAkARgJIAKkAZQHIACkAiwBoAEgBSQCqAGYByQAqACsBaQDoAEoAqwBnAcoAKwAtAmoADABLAGQCrADLABMCLABrAA0ASgJMAK0AaQHMAC0AjwBsAEwBTQCuAGoBzQAuAC8BbQDsAE4ArwBrAc4ALwAxAm4AEABPAGgCsADPABcCMABvABEATgJQALEAbQHQADEAkwBwAFABUQCyAG4B0QAyADMBcQDwAFIAswBvAdIAMwA1AnIAFABTAGwCtADTABsCNABzABUAUgJUALUAcQHUADUAlwB0AFQBVQC2AHIB1QA2ADcBdQD0AFYAtwBzAdYANwA5AnYAGABXAHACuADXAB8COAB3ABkAVgJYALkAdQHYADkAmwB4AFgBWQC6AHYB2QA6ADsBeQD4AFoAuwB3AdoAOwA9AnoAHABbAHQCvADbAPICPAB7AB0AWgJcAL0AeQHcAD0AnwB8AFwBXQC+AHoB3QA+AD8BfQD8AF4AvwB7Ad4APwByA34AAAAWAQACAAILAQECAQIAAwADCAAVAQkBCQEDAggBCAEUAQEDBAIIAggCEwEJAgkCBQIIAxAAHQERAREBCwIQARABHAEJAwwCEAIQAhsBEQIRAg0CEAMYACUBGQEZARMCGAEYASQBEQMUAhgCGAIjARkCGQIVAhgDIAAtASEBIQEbAiABIAEsARkDHAIgAiACKwEhAiECHQIgAygANQEpASkBIwIoASgBNAEhAyQCKAIoAjMBKQIpAiUCKAMwAD0BMQExASsCMAEwATwBKQMsAjACMAI7ATECMQItAjADOABFATkBOQEzAjgBOAFEATEDNAI4AjgCQwE5AjkCNQI4A0AATQFBAUEBOwJAAUABTAE5AzwCQAJAAksBQQJBAj0CQANIAFUBSQFJAUMCSAFIAVQBQQNEAkgCSAJTAUkCSQJFAkgDUABdAVEBUQFLAlABUAFcAUkDTAJQAlACWwFRAlECTQJQA1gAZQFZAVkBUwJYAVgBZAFRA1QCWAJYAmMBWQJZAlUCWANgAG0BYQFhAVsCYAFgAWwBWQNcAmACYAJrAWECYQJdAmADaAB1AWkBaQFjAmgBaAF0AWEDZAJoAmgCcwFpAmkCZQJoA3AAfQFxAXEBawJwAXABfAFpA2wCcAJwAnsBcQJxAm0CcAN4AHgAeQF5AXMCeAF4AW4CeAIWBAAIAAoLBQEKAQoADwAPAA8IABUFCQUJBQMKCAUIBQEPAQ8ICggKEwUJCgkKBQoIDwgPEAAdBREFEQULChAFEAUJDwkPEAoQChsFEQoRCg0KEA8QDxgAJQUZBRkFEwoYBRgFEQ8RDxgKGAojBRkKGQoVChgPGA8gAC0FIQUhBRsKIAUgBRkPGQ8gCiAKKwUhCiEKHQogDyAPKAA1BSkFKQUjCigFKAUhDyEPKAooCjMFKQopCiUKKA8oDzAAPQUxBTEFKwowBTAFKQ8pDzAKMAo7BTEKMQotCjAPMA84AEUFOQU5BTMKOAU4BTEP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ABISACAEEwAgBBMAIAQTACASEwAgIhEAIBIKACASCgAgAg0AEBIOABACCAACEgUAAhIFAAISBQACEgUAAgIIACASAQAgEgEAIAIEAAICCAAgAgQABAASACAEAgACEgoAACIJAAQAEgAIABIAACIJAAASEgAIABIAABISACAAEgAgABIAIAASACAAEgAgEgkAIBIJACASCQAgAgkAEAIEABACBAASBiwAEhQaABIEHgASBB4AAgY0AAIUFQACBAEAAiIbABAUNAAgIhsAEgYTABIUAQASBAUAEgQFABQQMwACFBUAAgQBAAIiGwAQFDMAAiIbABIUGgASFBoAEhQaABIiGwACJAgAAgQBAAIEAQACIgIAIAQLACAiAgASFAEAEhQBABIUAQASIgIAEgQIAAIEAQACBAEAAiICACQCCAACIgIAJAASABIUAAASBAQAAgQAACQAEgAGEhIAAgQAAAAiGgAGEhIAACIaABIAGgASABoAEgAaABIAGgACBAEAAgQBAAIEAQACIgEAICIBACAiAQAiCCgAIgYVACIkIQAiJBwAIhY3ACIkGQAiJA0AIhQfACAGNwASFBQABAYVAAQkBQAEJAUABBQLABYAMwAiJBUAIiQJAAIUEwAgBjMAAhQTACIGFQAiBhUAIgYVACIUFQAiBg4AIhQGACIUBgAiBA4AEhQLABIUCwAEJAEABCQBAAQkAQAEFAIAAhgIACIUAgAiFAIABAQKABwACAAEBAoAFhASACIGAQAEJAQAEiQEABYQEgAsEBIAEiQEAAAUEgAsEBIAABQSACIAFAAiABQAIgAUACIAFAAiFAUAIhQFACIUBQAiBAUAEhQCABIUAgAUCC4AFBYbABQGHwAUBhwABBg0AAQWEwAEBgcABAYkABIWOAAiBh8AFAgVABQWAgAUBgYAFAYDACQGMwAEFhIABAYGABIGGgAfADMAEgYaABQWGgAUFhoAFBYaABQGGwAEJgkABAYGAAQGBgAEJAEAIgYJAAQkBAAUFgEAFBYBABQWAQAUBgIAFgIIABQkBAAUJAQABCQAACoCCAAEJAAAFgQSABQWAQAkBgIABAYCABYEEgAPABIABAYCAAAGGgAPABIAAAYaABQAGgAUABoAFAAaABQAGgAEFgEABBYBAAQWAQAEJAEABCQEAAQkBAAkKCYAJAgWACQmIQAkJhwAJBg3ACQmGQAkJg0AFBYcACIINwAEFhcABggVAAYmBQAGJgUABhYLABgCMwAkJhUAFCYJAAQWEwANADMABBYTACQIFQAkCBUAJAgVACQWFQAkCA4AJBYGACQWBgAkBg4ABCYKAAQWDgAGJgEABiYBAAYmAQAGFgIACAIIACQWAgAkFgIABgYKAB4CCAAGBgoACgASACQIAgAGJgQABCYFAAoAEgAECBIABCYFAAAWEgAECBIAABYSACQAFAAkABQAJAAUACQAFAAkFgUAJBYFACQWBQAkBgUABBYFAAQWBQAWCi4AFhgaABYIHgAWCB4ABho0AAYYFQAGCAUABiYlABQYNQAGJigAFgoVABYYAQAWCAUAFggFABALMwAGGBQABggEAAYmJAAZADMABiYkABYYGgAWGBoAFhgaABYIHgAGKAkABggFAAYIBQAGJgEAJAgLAAYmBAAWGAEAFhgBABYYAQAWCAUAGAQIAAYIBAAGCAQABiYAAAsACAAGJgAAKgASABYYAAAWCAQABggAACoAEgAJABIABggAAAAIJAAJABIAAAgkABYAGgAWABoAFgAaABYAGgAGGAEABhgBAAYYAQAGJgEABiYEAAYmBAAmDCwAJgoeACYoLgAmKCIAJho1ACYoFQAmKAkAJhgZAAYKOQAWGBYACAoVAAgoBQAIKAUACBgRABwAMwAmKBQAJigIAAYYFQAlADMABhgVACYaGgAmGhoAJhoaACYYHgAmCgkAJigFACYoBQAmGAkAFhgLABYYBgAIKAEACCgBAAgoAQAIGAEAJgoIAAgYBAAIGAQABhgFABcACAAGGAUAEAcSACYKBAAIKAQABigFABAHEgAVABIABigFAAAYFAAVABIAABgUACYAGgAmABoAJgAaACYAGgAmKAEAJigBACYoAQAmCAIAFhgCABYYAgAYDCYAGBoWABgKHgAYChYACBw0AAgaEwAICgYACCglACYaNwAmCh4AGAwWABgaBgAYCg4AGAoGACoGMwAIGhIAGAoDABYKGgATADMAFgoaABgaFQAYGhUAGBoVABgKFQAIKgkACAoFAAgKBQAIKAEAJgoIAAgoBAAYGgUAGBoFABgaBQAYCgUAHAIIABgKAgAYCgIACCgAACoICAAIKAAAGggSABgaAgAoCgIACAoBABoIEgAPBhIACAoBAAAKGgAPBhIAAAoaABgAFAAYABQAGAAUABgAFAAIGgEACBoBAAgaAQAIKAEAJgoEACYKBAAoDigAKAwVACgqIQAoKiEAKBw3ACgqFwAoKhIAKBohAAgMOQAYGhYACgwVAAoqBQAKKgUAChoRAB4CMwAoKhMAGCoOAAgaFQAjAjMACBoVACgMFQAoDBUAKAwVACgaFQAoDA4AKBoGACgaBgAoCg4ACCoKABgaBgAKKgEACioBAAoqAQAKGgEAEAMIACgaAgAoGgIACBoFABEACAAIGgUAEAESACgMAQAKKgQACCoFABABEgATAhIACCoFAAAaFAATAhIAABoUACgAFAAoABQAKAAUACgAFAAoGgUAKBoFACgaBQAoCgUAGBoCABgaAgAaDiYAGhwWABoMHgAaDBYACh40AAocFQAKDAYACiolABgcNQAoDB8AGg4WABocBgAaDA4AGgwGAC8CMwAKHBQAGgwDABgMGgARAjMAGAwaABocFQAaHBUAGhwVABoMFQAKLAkACgwFAAoMBQAKKgEAKAwJACgqAgAaHAUAGhwFABocBQAaDAUAHgQIABoMAgAaDAIACioAAA8ICAAKKgAADwASABocAgAqDAUACgwBAA8AEgAFBBIACgwBAAAMGgAFBBIAAAwaABoAFAAaABQAGgAUABoAFAAKHAEAChwBAAocAQAKKgEAKCoCACgqAgAqLy4AKg4fAAwsJQAqLB8AKi40ACosFQAqLAYAKhwZAAoOMwAaHBQADB4SAAwOAgAMLAEADCwKAB0AMwAqLBQAKiwFABocFAAlBjMAGhwUACoeGgAqHhoAKh4aACocHgAqDgkAKiwFACosBQAqHAkACiwJABocBAAMLAAADCwAAAwsAAAMHAAALQAIAAwcBAAMHAQAGhwEABsICAAaHAQALQISAAwOAgAMLAEAGiwBAC0CEgAZCBIAGiwBAAAcFAAZCBIAABwUACoAGgAqABoAKgAaACoAGgAqLAEAKiwBACosAQAqDAUAGhwAABocAAAcLyYAHB4WABwOIQAcDhkADB83AAweFwAMDhIADA4hACoeNwAqDhUAHC8WABweBgAsDg4AHA4JAC4KMwAMHhMAHA4GABoOFQAXCDMAGg4VABweFQAcHhUAHB4VABwOFQAMLg4ADA4OAAwODgAMLAYAKg4KAAwsBgAcHgUAHB4FABweBQAcDgUAHQIIABwOAgAcDgIADCwCACMGCAAMLAIACAcSABweAgAsDgUADA4FAAgHEgAhBhIADA4FAAAOFAAhBhIAAA4UABwAFAAcABQAHAAUABwAFAAMHgUADB4FAAweBQAMLAUAKg4BACoOAQAsDy4ALC8bAA4uJQAsLh8ALB81ACwuFQAsLgYALB4ZACovNwAcHhYADh8UAA4vCAAOLgEADi4KACYDMwAsLhQALC4FAAweFQAjCDMADB4VACwfGgAsHxoALB8aACweHgAsLwsALC4FACwuBQAsHgkADC4JABweBgAOLgAADi4AAA4uAAAOHgAAKwIIAA4eBAAOHgQADB4FABUICAAMHgUAKQASACwvAQAOLgEAHC4BACkAEgATCBIAHC4BAAAeFAATCBIAAB4UACwAGgAsABoALAAaACwAGgAsLgEALC4BACwuAQAsDgUAHB4CABweAgAeLSYAHh8VAB4vGAAeLxgADh03AA4fFgAOLwgADi43ABwfNQAsLykAHi0WAB4fBQAeLwgAHi8IACkCMwAOHxIADi8EAAwvJQARCDMADC8lAB4fFAAeHxQAHh8UAB4vGAAODw4ADi8IAA4vCAAOLgYALC8JAA4uBgAeHwQAHh8EAB4fBAAeLwgAJgEIAA4vBAAOLwQADi4CACscCAAOLgIACQASAB4fAQAuLwEADi8AAAkAEgAACRIADi8AAAAvJAAACRIAAC8kAB4AFAAeABQAHgAUAB4AFAAOHwQADh8EAA4fBAAOLgUADi4FAA4uBQAuKzYALi0pAC8PNwAuDywALg0zAC4PFAAuDwgALh8YAA4tOAAeHxUALx0VAC8PBgAvDwYALx8RABcAMwAuDxQALg8IAB4fFAASCTMAHh8UAC4NJQAuDSUALg0lAC4PKAAuLQgALg8EAC4PBAAuHwgADg8OAB4fBQAvDwIALw8CAC8PAgAvHwEAJwAIAC4PBAAuDwQAHh8EAAkcCAAeHwQAJwISAC8PBQAvDwUAHg8EACcCEgAiCRIAHg8EAAAfFAAiCRIAAB8UAC4AJAAuACQALgAkAC4AJAAuDwAALg8AAC4PAAAuLwEAHh8BAB4fAQAfKyYAHx0WAB8tGQAfLRYALys1AC8dEwAvLQYALw8lAC4dNAAuLRsAHysWAB8dBgAfLQkAHy0GAAkGMwAvHRIALy0FAB4tGgAgBzMAHi0aAB8NFQAfDRUAHw0VAB8tFQAvDQkALy0FAC8tBQAvDwEALi0KAC4PCAAfDQUAHw0FAB8NBQAfLQUAFwIIAB8PBAAfDwQALw8AABQJCAAvDwAALwsSAB8dAgAPLQUALy0BAC8LEgAWCRIALy0BAAAtGgAWCRIAAC0aAB8AFAAfABQAHwAUAB8AFAAvHQEALx0BAC8dAQAvDwEALi0BAC4tAQAPCyYADysVAA8NIQAPDSEADxs3AA8NFwAPDRIADx0hAC8NOwAfHRYALRsVAC0NBgAtDQYALR0RABUCMwAPDRMADw0OAB8dFQAYCTMAHx0VAA8bFQAPGxUADxsVAA8dFQAPDQ4ADx0GAA8dBgAPLQ4ALw0KAB8dBgAtDQIALQ0CAC0NAgAtHQEAJQIIAA8dAgAPHQIAHx0FACIHCAAfHQUAIwASAA8rAQAtDQUAHw0FACMAEgAkBxIAHw0FAAAdFAAkBxIAAB0UAA8AFAAPABQADwAUAA8AFAAPDQUADw0FAA8NBQAPLQUAHx0CAB8dAgAdKSYAHRsUAB0rGQAdKxkALSk1AC0bFQAtKwYALQ0lAB8bNQAPKx8AHSkWAB0bBAAdKwkAHSsJACMCMwAtGxQALSsFAB8rGgAiBTMAHysaAB0bFAAdGxQAHRsUAB0NGAAtCwkALSsFAC0rBQAtDQEADysJAA8NAgAdGwQAHRsEAB0bBAAdDQgALAEIAB0NBAAdDQQALQ0AABoJCAAtDQAAAwASAB0bAAANKwUALSsBAAMAEgAAAxIALSsBAAArGgAAAxIAACsaAB0AFAAdABQAHQAUAB0AFAAtGwEALRsBAC0bAQAtDQEADw0CAA8NAgANCS4ADSkfACsLJQANCx8ADRk1AA0LFQANCwYADRseAB0LOAAdGxYAKxkSACspAgArCwEAKxsQABEAMwANCxQADQsFAB0bFQASAzMAHRsVAA0ZGgANGRoADRkaAA0bGwANKQkADRsDAA0bAwANGw4ALQsJAB0bBgArCwAAKwsAACsLAAArGwAAHwUIAA0bAgANGwIAHRsFAA4JCAAdGwUAHwMSACspAgArCwEAHQsBAB8DEgAiAxIAHQsBAAAbFAAiAxIAABsUAA0AGgANABoADQAaAA0AGgANCwEADQsBAA0LAQANKwUAHRsCAB0bAgAbJyYAGxkWABspIQAbKRkAKxc3ACsZFwArKRIAKykhAA0ZNwANKRUAGycWABsZBgALKQ4AGykJABsJMwArGRMAGykGAA0pFQAOBzMADSkVABsJFQAbCRUAGwkVABspFQArCQ4AKxkOACsZDgArCwUADSkKACsLBQAbCQUAGwkFABsJBQAbKQUAEQIIABspAgAbKQIAKwsBABABCAArCwEAKwcSABsZAgALKQUAGykFACsHEgASARIAGykFAAApFAASARIAACkUABsAFAAbABQAGwAUABsAFAArCQUAKwkFACsJBQArCwQADSkBAA0pAQALBy4ACyceACkJJQALCR8ACxc1AAsJFQALCQYACxkeAA0nNwAbGRYAKRcSACkJBAApCQEAKRkQABEGMwALCRQACwkFABsZFQAUATMAGxkVAAsXGgALFxoACxcaAAsZGwALJwkACxkDAAsZAwALGQ4AKwkJABsZBgApCQAAKQkAACkJAAApGQAAHQMIAAsZAgALGQIAGxkFACsJCAAbGQUAHQESACkJBAApCQEAGwkBAB0BEgAkARIAGwkBAAAZFAAkARIAABkUAAsAGgALABoACwAaAAsAGgALCQEACwkBAAsJAQALKQIAGxkCABsZAgAZJSYAGRcWABknGQAZJxkAKRU3ACkXFwApJwkAKScuABsXNQALJx4AGSUWABkXBgAZJwkAGScJABsDMwApFxMAKScFABsnGgAnCTMAGycaABkHFQAZBxUAGQcVABkJGAApBw4AKScIACknCAApCQUACycIACkJBQAZBwUAGQcFABkHBQAZCQgAJwsIABkJBAAZCQQAKQkBABYBCAApCQEAKQUSABkXAgAJJwIAKScBACkFEgAXCRIAKScBAAAnGgAXCRIAACcaABkAFAAZABQAGQAUABkAFAApBwUAKQcFACkHBQApCQQAKQkEACkJBAAnFTYAJwcoACcHJQAJBykACQUzAAkHFAAJBwUACRceACklMwAZFxoAJxUSACcHBAAnBwEAJwcRAAsBMwAJBxQACQcFABkXGgAFCTMAGRcaACcHJAAnByQAJwckACcXJAAJFQoACQcEAAkHBAAJFwUAKQcMABkXAQAnBwAAJwcAACcHAAAnFwAAGQUIAAkHBAAJBwQAGRcBAAoBCAAZFwEAGQMSACcHBAAnBwEAGQcBABkDEgAMARIAGQcBAAAXGgAMARIAABcaAAkAJAAJACQACQAkAAkAJAAJBwAACQcAAAkHAAAJFwQAGRcAABkXAAAXEyYAFwUXABcVHAAXJRcAJxM3ACcVGQAnJQ0AJyUhAAkVNQAJJRYABxUbABcFDgAHJQ4AFyUOABcFMwAnFRUAFyUGAAklFQAOATMACSUVABcFEwAXBRMAFwUTABclEwAnBQ4AJxUJACcVCQAnBwUACSULACcHBQAXBQoAFwUKABcFCgAHBwoACQMIABclAgAXJQIAJwcBAB8DCAAnBwEAJQcSABcFBQAHJQUAFyUFACUHEgAeARIAFyUFAAAlFAAeARIAACUUABcAEgAXABIAFwASABcAEgAnBQUAJwUFACcFBQAnBwQACSUCAAklAgAHISwAByMfAAcFJAAHBR8ABxM1AAcFFgAHBQcABxUfACcjOQAXFRsAJRMUACUFBAAlBQEAJQURABcRMwAHBRUABwUGABcVGgAtETMAFxUaAAcTGgAHExoABxMaAAcFHgAHIwkABwUGAAcFBgAHFQYAJwUJABcVAgAlBQAAJQUAACUFAAAlFQAAFwMIACUVBAAlFQQAFxUBACsDCAAXFQEAFwESACUFBAAlBQEAFwUBABcBEgAhBxIAFwUBAAAVGgAhBxIAABUaAAcAGgAHABoABwAaAAcAGgAHBQIABwUCAAcFAgAHJQIAFxUBABcVAQAVESYAFRMUABUjHwAVIxcAJRE3ACUTFgAlIw0AJSMhABcTOAAHIxUABRMbABUTCwAFIw4AFSMOABUDMwAlExIAFSMGAAcjFQArATMAByMVABUDEwAVAxMAFQMTABUjEwAlAw4AJSMJACUjCQAlBQUAByMKACUFBQAVAwoAFQMKABUDCgAFBQoAAxkIABUjAgAVIwIAJQUBAB0BCAAlBQEAIwUSABUTAgAFIwUAFSMFACMFEgAbARIAFSMFAAAjFAAbARIAACMUABUAEgAVABIAFQASABUAEgAlEwQAJRMEACUTBAAlBQQAByMBAAcjAQAjESwAIyEbACMDGwAjAyMABQEzAAUDGgAFAwEABRMeACUhMwAVExoAIxETACMhAgAjAwIAIwMKAAUBMwAFAxoABQMBABUTGgAJATMAFRMaACMDGwAjAxsAIwMbACMTGwAFEQoABQMBAAUDAQAFEwUAJQMMABUTAQAjAwIAIwMCACMDAgAjEwIAEwUIAAUDAQAFAwEAFRMBACUDCAAVEwEAEwMSACMhAQAjAwEABQMBABMDEgAnARIABQMBAAATGgAnARIAABMaACMAGgAjABoAIwAaACMAGgAFAwAABQMAAAUDAAAFEwQAFRMAABUTAAATATYAEwEWABMRHAATIRsAEwE9ACMRHgATIRMAIyEfAAURNAAFIRQAAwEYAAMRCAADIQ0AAyERABEFMwAjERUAEyEKAAUhEwAFETMABSETABMBEgATARIAEwESABMhEgATERMAEyEKABMhCgATAw4ABSELACMDBgADIQQAAyEEAAMhBAADAwgAAwMIABMhAQATIQEAEwMFAAMDCAATAwUAISESABMBBAADIQkAEyEJACEhEgAhIRIAEyEJAAAhEgAhIRIAACESABMAEgATABIAEwASABMAEgAjAQkAIwEJACMBCQATAwoAIwMCACMDAgAhAUwAIQEkACEBGwAhASMAIQFUAAMBGgADAQEAAxEeABMBOAATERsAEQErACEBCwAhAQIAIQEKAAEDMwADARoAAwEBABMRGgADATMAExEaACEBGwAhARsAIQEbACERGgADARAAAwEBAAMBAQADEQUAIwEMABMRAgAhAQIAIQECACEBAgAhEQEAEQMIAAMBAQADAQEAExEBACMBCAATEQEAEQESABEBCgAhAQEAEwEAABEBEgAhARIAEwEAAAARGgAhARIAABEaACEAGgAhABoAIQAaACEAGgADAQAAAwEAAAMBAAADEQQAExEBABMRAQARASQAEQEcABEBGwARARMAEQEcABEBDAARAQsAEQEKACEBFAAhAQIAAQEEAAEBBAABAQQAAQEEAAERAwARAQMAEQECABEBAQARAQMAEQEBABEBGwARARsAEQEbABEBEwARARMAEQELABEBCwARAQoAIQELACEBAgABAQQAAQEEAAEBBAABAQQAARECABEBAgARAQIAEQEBABEBAgARAQEAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAABAAABAQAAAAEAABEAEgARABIAEQASABEAEgARAQoAEQEKABEBCgARAQoAIQECACEBAgAABEoAABIKAAACAQAAAhoAACKaAAACYwAAIDEAACB5AAAgogAAIIIAAARKAAASCgAAAgEAAAIaACAAmQAAAmMAACAxAAAgeQAAIJkAACB5AAACAAAAAgAAAAIAAAAQBAAAIA0AABAFAAAQBQAAEAkAABAOAAAQCgAAAgAAAAIAAAACAAAAEAQAEAANAAAQBQAAEAUAABAJACAADQAAEAkAICBIAAASCgAAAgEAAAIaACAgSAAgIEgAAAIaAAAgSAAgIEgAACBIAEGhhQIL1jsmUQAAFAoAECIiAAASGgAAJPMAACJjAAASGgAAAosAABIXAQACpAAQBkwAEAQIABAiCQAQEhgAEgDzAAAiYwAAEhoAAAKLACQA8wAAAosAABQKAAAUCgAAFAoAABIKAAAiMgAAEgoAABIKAAAgFAAAID0AACAdABAEBAAQBAQAEAQEABACBQAQAjIAABIKAAASCgAAIBQAIgAyAAAgFAASAkgAABQBABAiBQAAEhEAEgJIACYASAAAEhEAABJQACYASAAAElAAAAAJAAAACQAAAAkAAAAJAAAgAAAAIAAAACAAAAAQAAAAEAEAABABABAYhwAQBkIAEBR6ABAEQgAACPQAABRRAAAEAgAAInkAAARYAQAiuQAgCEoAICQBACAEEQAgBBEAECbzAAAUUQAABAIAACJ5ACYQ8wAAInkAEBY9ABAWPQAQFj0AEARBAAAGNAAABAEAAAQBAAASCQAAEl4AABItACAkAAAgJAAAICQAACAiAAACAjIAAAQBAAAEAQAAEgkAAgIyAAASCQAUEEgAICQBAAIEAQAABAEAFBBIABAUSAAABAEAACJIABAUSAAAIkgAEAA9ABAAPQAQAD0AEAA9AAAEAQAABAEAAAQBAAACAQAAIBkAACAZACAamAACFlsAAiR3ACAUWQAQCvcAEAZOABAkDQAQBG4AACQlAQAEZwASCEwAEgYIABIkCQACFBMAFALzABAGSgAgFAkAAAReACoA8wAABF4AIAhRACAIUQAgCFEAIBRQABAINgAQJAkAECQJABAiCAAABE0AACIGABIGBAASBgQAEgYEABIEBQASBDIAIBQAACAUAAAQIgQAJAIyABAiBAASCEgAAhYBABIkBQAAJAQAEghIACwASAAAJAQAAARaACwASAAABFoAIABQACAAUAAgAFAAIABQABAGBAAQBgQAEAYEABAiBAAAIgIAACICABIqkgASCFMAEhaLABIGTwACGvMAAiZOAAIGCQACJG4AACb8AAAkTwAiCkkAIggGAAQGFQAiBg4AJgDzAAImTgASBgYAACRLAB4A8wAAJEsAEhhLABIYSwASGEsAEgZLAAIYMgACBgUAAgYFAAIUBAAABjUAEBQCACIIAgAiCAIAIggCACIkAgACGDIAEgYCABIGAgAQFAEAHAAyABAUAQAkBkgAIggFAAQGBQACBgUAJAZIAB8ASAACBgUAACRKAB8ASAAAJEoAEgBKABIASgASAEoAEgBKAAIWAAACFgAAAhYAAAIEBAAQFAIAEBQCAAQMmgAEGFUABCZqACImXwASDP0AEghaACImDwASBnoAABj0ABAWXQAUCkwAFAgJABQmBgAUFhgAGADzABIIUQAiJgYAABZQACAI8wAAFlAABChQAAQoUAAEKFAABBZQACIYOwAiFgoAIhYKABIkEwAgFjUAIAYFABQIBQAUCAUAFAgFABQGCAAWAjIAIhYBACIWAQAgBgQAKgIyACAGBAAYAkgAFAgFABQmAgASJgEAGAJIAA0ASAASJgEAABZQAA0ASAAAFlAABABQAAQAUAAEAFAABABQACIWCQAiFgkAIhYJABIkCgAgBgEAIAYBABQckgAUCk0AFAh6ABQITQAEHPMABChOAAQIBQAEJm4AICj0AAImTwAkDEkAJCgCAAYIEgAkCBIAJgbzACIoSQAECAUAAiZLABsA8wACJksAFBpJABQaSQAUGkkAFAhMAAQaMgAECAQABAgEAAQWBAACCDIAEhYCACQoAQAkKAEAJCgBACQmAgAIAjIABAgEAAQIBAASFgEAHgIyABIWAQAQC0gAJCgBAAYIAgAECAEAEAtIABkASAAECAEAACZKABkASAAAJkoAFABIABQASAAUAEgAFABIAAQYAAAEGAAABBgAAAQGBAASFgIAEhYCAAYOmgAGGlUABihtAAYYYQAUDvgAFApOABQoDQAUCG4AAhr0ACIIWwAWDEwAFgoJABYoCQAWGB0AGgLzABQKSgAUKAkAAhhQACYI8wACGFAABipQAAYqUAAGKlAABhhRABQMNgAUKAkAFCgJABQmDQAiGDUAIggKABYKBQAWCgUAFgoFABYIBQAYBDIAJBgBACQYAQAiCAkACwAyACIICQAaBEgAFgoFABYoBQAEKAUAGgRIAAcASAAEKAUAABhQAAcASAAAGFAABgBQAAYAUAAGAFAABgBQABQKBAAUCgQAFAoEABQmBAAiCAEAIggBABYukgAWDFMAJhp6ABYKTwAGHvUABipKAAYKCgAGKG8ABCr3ABQoTwAmDkwAJgwFAAgKFQAmChEALADzAAYqSQAGCgkABChKABoI8wAEKEoAFhxLABYcSwAWHEsAFgpLAAYcMwAGCgYABgoGAAYYBgAECjUAFBgGACYMBAAmDAQAJgwEACYoBQAmCjIAFigEABYoBAAkGAEAFwAyACQYAQAqBkgAJgwBAAgKBQAGCgUAKgZIABMASAAGCgUAAChKABMASAAAKEoAFgBKABYASgAWAEoAFgBKAAYaAgAGGgIABhoCAAYIBQAUGAUAFBgFAAgumgAIHFUACCpqAAgqYQAmLvcAJgxSACYqCgAWGncABBz3ACQaUwAYDksAGBwGABgqBgAYGh4AHgDzACYMTgAmKgYABBpLACEA8wAEGksACCxQAAgsUAAILFAACBpQACYcOAAmGgkAJhoJACYoDgAUKjYABgoJABgMAQAYDAEAGAwBABgKBQAcAjIAJhoFACYaBQAGCgUAKggyAAYKBQAeAkgACBwFABgqBQAWKgEAHgJIACMCSAAWKgEAABpKACMCSAAAGkoACABQAAgAUAAIAFAACABQACYaBQAmGgUAJhoFACYoBQAGKAQABigEABgPkgAYDlMAGBx+ABgMTwAIH/MACCxOAAgMCQAIKm4AJCz1ABYqTwAoLksAKA4GAAoMFQAoDA4ALwDzAAgsTgAIDAkABipKABsG8wAGKkoAGB5LABgeSwAYHksAGAxLAAgONAAIDAUACAwFAAgaBQAGDDUAFhoGACgOAgAoDgIAKA4CACgqAQAQAzIAGCoEABgqBAAmGgEAEQAyACYaAQAvAkgAKA4FAAoMBQAIDAUALwJIABECSAAIDAUAACpKABECSAAAKkoAGABKABgASgAYAEoAGABKAAgcAAAIHAAACBwAAAgKAQAWGgUAFhoFAAoPmAAKHlUACixqACgsXwAoH/wAGA5aACgsDwAYDHoABh73ACYcWQAaL0kAGh4GABosBgAaHBUAIgPzAAgeTAAoLAYABhxQACME8wAGHFAACi5QAAouUAAKLlAAChxRACgeOwAoHAoAKBwKABgqEgAWLDMACAwJABoOAQAaDgEAGg4BABoMBQAeBDIAKBwBACgcAQAIDAUADwgyAAgMBQAPAkgACh4FABosBQAYLAEADwJIACEESAAYLAEAABxQACEESAAAHFAACgBQAAoAUAAKAFAACgBQACgcCQAoHAkAKBwJABgqCQAIDAUACAwFABoNmAAaL1kAKh56ABoOWQAKHfUACi5KAAoeDwAKLGoACC73ABgsUQAqLUwAKi8JAAweEgAqDhEABAHzAAouSQAaDgoACCxQAAEE8wAILFAAGg9QABoPUAAaD1AAGg5QAAofMwAKHgYACh4GAAocBgAYDjYAGBwGACovBQAqLwUAKi8FACosBQAtADIAGg4BABoOAQAoHAEAGwgyACgcAQAuCkgADC4FAAweCQAaDgkALgpIABcISAAaDgkAACxQABcISAAALFAAGgBQABoAUAAaAFAAGgBQAAoeAgAKHgIACh4CAAoMBQAYLAEAGCwBAAwNlAAMH08ADC5uAAwuUwAqHfgAKi9VACouBQAaHn4ACB/3ACgeUwAcHUsAHC8FABwuBQAcLhoAGwDzABofUAAqLgEACB5LACUI8wAIHksADA9KAAwPSgAMD0oADB5KACoPOAAqLgUAKi4FABoOFQAYLjgACg4CABwvAQAcLwEAHC8BABwOBQAdAjIAKi4BACouAQAKDgEAIwYyAAoOAQAmA0gAHC8EACwuAQAaLgEAJgNIACMISAAaLgEAAB5KACMISAAAHkoADABKAAwASgAMAEoADABKACouBAAqLgQAKi4EACosBQAKDgEACg4BABwLkgAcLVQALC95ABwvTwAMG/QADA9PAAwvBgAMLmoAKA/0ABouUQAsK0wALA8GAA4vCwAsLw4AHA3zACoPTAAMLwUACi5QABsM8wAKLlAAHA1LABwNSwAcDUsAHC9OAAwdMwAMLwUADC8FAAweBgAKLzMAGh4GACwPBQAsDwUALA8FACwuBQArAjIADC8EAAwvBAAqHgEAFQgyACoeAQApAkgALA8CAA4vAgAMLwEAKQJIABEISAAMLwEAAC5QABEISAAALlAAHABKABwASgAcAEoAHABKAAwfAQAMHwEADB8BAAwOBQAaLgEAGi4BAA4LlAAOHU8ADg9yAA4fWgAsG/gAHC1UABwPEgAcL3MACh33ACovWwAeG0sAHi0FAB4PBgAeHxUAKAPzABwtSwAcDwkACh9QABAJ8wAKH1AADg1KAA4NSgAODUoADh9KACwNOAAsHwYALB8GACwuFQAqHzQAKi8KAB4tAQAeLQEAHi0BAB4vAgAmATIALB8CACwfAgAqLwkAKxwyACovCQAdDEgAHi0EAB4PBQAMDwUAHQxIABoNSAAMDwUAAB9QABoNSAAAH1AADgBKAA4ASgAOAEoADgBKACwPBQAsDwUALA8FACwuBQAqLwEAKi8BAB4JmgAuK1sALh1zAB4tVQAOCfcADg1NAA4dEgAOD3IADA33ABwPTwAuGVMALisKAC8tFQAuLREACgHzAA4NSQAeLQYADA9KAAQJ8wAMD0oAHgtQAB4LUAAeC1AAHi1RAA4LOAAOHQkADh0JAA4fBgAMLTgALB8FAC4rCQAuKwkALisJAC4PCgAnADIAHi0CAB4tAgAsHwEACRwyACwfAQAJBkgALisBAC8tBQAOLQUACQZIACAHSAAOLQUAAA9KACAHSAAAD0oAHgBQAB4AUAAeAFAAHgBQAA4NBQAODQUADg0FAA4fBQAsHwQALB8EAC8JmgAvG1EALw1qAC8NYQAuCfQALitPAC4NBgAuLXkADBv4ACwdVAAfGUsAHxsGAB8NBgAfHR4AFQDzAC4rTgAuDQUADB1LABIH8wAMHUsALwtQAC8LUAAvC1AALx1QAC4LMwAuDQUALg0FAC4PCwAcDTYADi0GAB8rAQAfKwEAHysBAB8dBQAXAjIALg0EAC4NBAAOLQUAFAkyAA4tBQAVAkgALxsBAA8NBQAeDQEAFQJIABgJSAAeDQEAAB1KABgJSAAAHUoALwBQAC8AUAAvAFAALwBQAC4NAQAuDQEALg0BAC4PAgAOLQIADi0CAB8HkgAfKVMAHxt+AB8rTwAvF/MALwtOAC8rBQAvDW4ADgv3AB4NTwAPCUsADwsCAA8bFQAPKw4ADgPzAC8LTgAvKwUADg1KACAF8wAODUoAHwlLAB8JSwAfCUsAHytLAC8ZNAAvKwEALysBAC8dBQAOKzgALh0FAA8LAQAPCwEADwsBAA8NAQAlAjIALysBAC8rAQAuHQEAIgcyAC4dAQAjAkgADwsBAC0rBQAvKwQAIwJIACIFSAAvKwQAAA1KACIFSAAADUoAHwBKAB8ASgAfAEoAHwBKAC8bAQAvGwEALxsBAC8tAQAuHQQALh0EAC0HmAAtGVEALQtqAC0LYQAPF/0AHxlaAB8LDwAfK3oADhn3AC4bWQAdJ0kAHRkGAB0LBgAdGxoALgPzAC8ZTAAfCwYADhtQABAD8wAOG1AALQlQAC0JUAAtCVAALRtRAA8ZOwAPGwoADxsKAB8NEgAeCzYALisJAB0pAQAdKQEAHSkBAB0rAgAsATIADxsBAA8bAQAuKwUAGgkyAC4rBQAuAUgALRkBAA0LBQAfCwIALgFIABoHSAAfCwIAABtQABoHSAAAG1AALQBQAC0AUAAtAFAALQBQAA8bCQAPGwkADxsJAB8NCQAvDQUALw0FAB0FmgAdJ1kADRl6AB0pWQAtFfUALQlKAC0pDwAtC2oALwn3AB8LVQANJUwADQkJACsZEgANKREAAQDzAC0JSQAdKQoALwtQAAAB8wAvC1AAHQdQAB0HUAAdB1AAHSlQAC0XMwAtKQYALSkGAC0bBgAfKTYAHxsGAA0JBQANCQUADQkFAA0LBQAfBTIAHSkBAB0pAQAPGwEADgkyAA8bAQAbCUgADQkFACsZCQAdKQkAGwlIAA4HSAAdKQkAAAtQAA4HSAAAC1AAHQBQAB0AUAAdAFAAHQBQAC0ZAQAtGQEALRkBAC0bBQAfCwUAHwsFACsFlAArF08AKwluACsJUwANFfgADSdVAA0JCQAdGX4ALxf4AA8ZUwAbFUsAGxcGABsJBQAbCRoADwHzAB0XSgANCQUAHxlLAAkL8wAfGUsAKwdKACsHSgArB0oAKxlKAA0HOAANCQkADQkJAA0LFQAPCTgADykGABsnAQAbJwEAGycBABsZBQARAjIAKxkEACsZBAAPKQIAEAEyAA8pAgARBkgAGxcFAAsJAQAdCQAAEQZIABQBSAAdCQAAABlKABQBSAAAGUoAKwBKACsASgArAEoAKwBKAA0JBQANCQUADQkFAA0LBQAPKQUADykFABsDkgAbJVMAGxd3ABsnTwArE/QAKwdPACsnCgArCWoADwf1AB0JVQALI0wACwcJACknDgALJxEAGwXzAA0HTgAbJwkALQlQAAYB8wAtCVAAGwVLABsFSwAbBUsAGydLACsVMwArJwYAKycGACsZBgAtJzUAHRkGAAsHBQALBwUACwcFAAsJBQAdAzIAGycFABsnBQANGQEAKwkyAA0ZAQAbA0gAKQcEACknBQAbJwUAGwNIACcJSAAbJwUAAAlQACcJSAAACVAAGwBKABsASgAbAEoAGwBKACsXAQArFwEAKxcBACsZ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EmUAEAgFABAIBQAQCAUAEAQIAAICogAABBkAAAQZAAASQQACAqIAABJBABIIyAAQCAEAAiQFAAAkFAASCMgALADIAAAkFAAABNoALADIAAAE2gAQAB0AEAAdABAAHQAQAB0AABIBAAASAQAAEgEAACAAAAAgCQAAIAkAEB5HASAoiwAgFsoAEAaXAAAc1AIACOwAABYOAAAUXgEABrwDABTuAQIMywACGAIAAhYbAAIGKgAkAtMCAAjsAAAWDgAAFF4BFATTAgAUXgEQKn0AECp9ABAqfQAQBn4AABikAAAGAQAABgEAAAQlAAAEGAEAIm0AAhgBAAIYAQACGAEAAiQCABIEogAABgEAAAYBAAAEJQAkAqIAAAQlAAgAyAACGAEAEhYFAAAWCgAIAMgALwDIAAAWCgAAJMgALwDIAAAkyAAQAH0AEAB9ABAAfQAQAH0AAAYAAAAGAAAABgAAABIBAAASJQAAEiUAAi6aAQIa2gACCD0BAibiABAe1QIQKNkAECYPAAAGOAEAJtwDAAahASIc0QASGg0AIggbABImIgAIANMCACjLABAmDgAABigBLwDTAgAGKAECDNAAAgzQAAIM0AACFtEAECqjABAmBgAQJgYAEBQaAAAGHQEAFFEAEhoJABIaCQASGgkAIgYKAAIYogAgFgUAIBYFAAAUEQAcAKIAABQRABgCyAASGgQABAgJAAAICgAYAsgADQDIAAAICgAAFtAADQDIAAAW0AACANAAAgDQAAIA0AACANAAEAgBABAIAQAQCAEAEAQCAAAELQAABC0AEg+SARIM3gAiGEsBEhjaACAv1QIgGtQAIBgFACAmRAEAGHQDACYsAQQeyAAEGgUABBgkAAQIKQAoANMCEBrLACAYBAAAJvsALgLTAgAm+wASDssAEg7LABIOywASCMoAIByjACAYBQAgGAUAIAYVAAAm2wAABg0ABBoBAAQaAQAEGgEABCYAABYCogACCAEAAggBAAAGBAAqAqIAAAYEABALyAAiKgQAFBgEACAYAAAQC8gAGQDIACAYAAAAJsoAGQDIAAAmygASAMoAEgDKABIAygASAMoAICgBACAoAQAgKAEAICQBAAAGCQAABgkABA+YAQQc3QAECj0BBCjdABIf1QISKtkAEigGAAIIOwEAGhQDAAjkABQvzAAUDAYAJAobABQoIQAKAtMCIAzLABIoBQAACOMALQLTAgAI4wAEDtAABA7QAAQO0AAEGNEAEiyjABIoAgASKAIAEhYaAAAYswAAJgMAFAwFABQMBQAUDAUAFBgFAAgCogASKAEAEigBAAAmAgAeAqIAACYCABoEyAAUDAIABigFABIoBAAaBMgABwDIABIoBAAAGNAABwDIAAAY0AAEANAABADQAAQA0AAEANAAEgoBABIKAQASCgEAEgYCAAAmAgAAJgIAFA2SARQO3AAkGksBFBrYACIt1QIiDNUAIhoFACIYUQEADOQCECjYAAYfygAGHAEABhokAAYKKQAqAtMCEhzIACIaBAAAKNEALAbTAgAo0QAULsgAFC7IABQuyAAUCskAIh6jACIaBQAiGgUAIggSAAAapAAgCAIABhwAAAYcAAAGHAAABigBABgEogAECgEABAoBAAIIAgALAKIAAggCAA4AyAAGHAEAFhoEACIaAAAOAMgACArIACIaAAAAKMgACArIAAAoyAAUAMgAFADIABQAyAAUAMgAIioBACIqAQAiKgEAIiYBACAIAQAgCAEABg2UAQYe2wAGDEcBBirXABQd1QIULNkAFAwJAAQKQQEADtMCIBreACYPzgAmDggAJgwYABYqIgAOANMCBA7LABQMCAAAGssACArTAgAaywAGL8oABi/KAAYvygAGGs4AFC6jABQMBQAUDAUAFBgeACAqpAACKAYAJiwEACYsBAAmLAQAJgoFACYKogAUDAQAFAwEAAIoAgAXAKIAAigCAB4CyAAmDgQACAwEAAQMBAAeAsgAIwLIAAQMBAAAGsoAIwLIAAAaygAGAMoABgDKAAYAygAGAMoAFAwBABQMAQAUDAEAFAgCAAIKBAACCgQAFguSARYv4wAmLEEBFhzaACQb1wIkHtcAJBwNACQqRwEgHtUCEirUAAgdyAAIHgQAGBwdAAgMLQAAAdMCFB7LAAYcBQAgKsoAAQDTAiAqygAWD8oAFg/KABYPygAWDMoAJA+oACQcDQAkHA0AJAoRAAIcowAiCgkACB4AAAgeAAAIHgAACCoAABwCogAGDAUABgwFAAQKBAAqCKIABAoEAC8CyAAIHgQAGBwEACQcAAAvAsgAEQLIACQcAAAAKsoAEQLIAAAqygAWAMoAFgDKABYAygAWAMoAJA4FACQOBQAkDgUAJCgEACIaAgAi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BzIAAwcyAAMHMgADBTIAAwYLAAMFBQADBQUAAwQGAAIFCwADBAkABAUEAAQFBAAEBQQABAQIAAQECAADBQQAAwUEAAMEBQAMAAgAAwQFAAcAEgAEBQkABAUAAAMFAAAHABIADgASAAMFAAAABSQADgASAAAFJAADADIAAwAyAAMAMgADADIAAwYCAAMGAgADBgIAAwQCAAIFAgACBQIABAk2AAQHKAAEBj0ABAYkAAQIMwAEBiUABAYBAAQGNAACB0QAAwYmAAUHFgAFBg0ABQYEAAUGDQAIADMABQYiAAQGAQACBiUAEAAzAAIGJQAECCUABAglAAQIJQAEBiQABAcIAAQGAQAEBgEABAUFAAMGCwAEBQkABQYEAAUGBAAFBgQABQUIAAUFCAAEBgEABAYBAAQFBQAPAAgABAUFAAgBEgAEBwQABQYAAAQGAAAIARIAEQASAAQGAAAABiQAEQASAAAGJAAEACQABAAkAAQAJAAEACQABAYBAAQGAQAEBgEABAUBAAMGAgADBgIABQo2AAUIKAAFBz0ABQckAAUJMwAFByUABQcBAAUHNAADCDwABAcoAAYIFgAGBw0ABgcEAAYHDQAJATMABAgdAAUHAQADByUAEwAzAAMHJQAFCSUABQklAAUJJQAFByQABQgIAAUHAQAFBwEABQYFAAQHCAAFBgkABgcEAAYHBAAGBwQABgYIAAkACAAFBwEABQcBAAUGBQASAAgABQYFAAoAEgAFCAQABgcAAAUHAAAKABIAEgESAAUHAAAAByQAEgESAAAHJAAFACQABQAkAAUAJAAFACQABQcBAAUHAQAFBwEABQYBAAQHBAAEBwQABgs2AAYJKAAGCD4ABggmAAYKMwAGCBsABggDAAYHRQAECTwABQg2AAcJFgAHCAkABwgGAAcIFQALADMABggbAAYIAwAECDIAFgAzAAQIMgAGCiUABgolAAYKJQAGCCUABgkIAAYIAgAGCAIABgcFAAUICAAGBwkABwgFAAcIBQAHCAUABwcIAAoBCAAGCAIABggCAAYHBQAVAAgABgcFAAsBEgAGCQQABwgCAAYIAgALARIAEwISAAYIAgAACDIAEwISAAAIMgAGACQABgAkAAYAJAAGACQABggBAAYIAQAGCAEABgcBAAUIBAAFCAQABwxEAAcKPAAICUQABwkyAAcLNQAHChwABwkFAAcJNQAHCUQABgkmAAgKFgAICQ0ACAkEAAgJDQAMATQABwobAAcJBAAFCSUAGQA0AAUJJQAHCzIABwsyAAcLMgAHCTIABwoLAAcJBQAHCQUABwgGAAYJCwAHCAkACAkEAAgJBAAICQQACAgIAAwACAAHCQQABwkEAAcIBQAYAAgABwgFAA0AEgAICQkACAkAAAcJAAANABIAGgASAAcJAAAACSQAGgASAAAJJAAHADIABwAyAAcAMgAHADIABwoCAAcKAgAHCgIABwgCAAYJAgAGCQIACA02AAgLKAAICj0ACAokAAgMMwAICiUACAoBAAgKNAAGC0QABwomAAkLFgAJCg0ACQoEAAkKDQAMBDMACQoiAAgKAQAGCiUAHAAzAAYKJQAIDCUACAwlAAgMJQAICiQACAsIAAgKAQAICgEACAkFAAcKCwAICQkACQoEAAkKBAAJCgQACQkIAA0BCAAICgEACAoBAAgJBQAbAAgACAkFAA4BEgAICwQACQoAAAgKAAAOARIAHQASAAgKAAAACiQAHQASAAAKJAAIACQACAAkAAgAJAAIACQACAoBAAgKAQAICgEACAkBAAcKAgAHCgIACQ42AAkMKAAJCz0ACQskAAkNMwAJCyUACQsBAAkLNAAHDDwACAsoAAoMFgAKCw0ACgsEAAoLDQANBTMACAwdAAkLAQAHCyUAHwAzAAcLJQAJDSUACQ0lAAkNJQAJCyQACQwIAAkLAQAJCwEACQoFAAgLCAAJCgkACgsEAAoLBAAKCwQACgoIAA8ACAAJCwEACQsBAAkKBQAeAAgACQoFAA8CEgAJDAQACgsAAAkLAAAPAhIAHgESAAkLAAAACyQAHgESAAALJAAJACQACQAkAAkAJAAJACQACQsBAAkLAQAJCwEACQoBAAgLBAAICwQACg82AAoNKAAKDD4ACgwmAAoOMwAKDBsACgwDAAoLRQAIDTwACQw2AAsNFgALDAkACwwGAAsMFQARADMACgwbAAoMAwAIDDIAHgIzAAgMMgAKDiUACg4lAAoOJQAKDCUACg0IAAoMAgAKDAIACgsFAAkMCAAKCwkACwwFAAsMBQALDAUACwsIABABCAAKDAIACgwCAAoLBQAfAQgACgsFAA8FEgAKDQQACwwCAAoMAgAPBRIAHwISAAoMAgAADDIAHwISAAAMMgAKACQACgAkAAoAJAAKACQACgwBAAoMAQAKDAEACgsBAAkMBAAJDAQACxBEAAsOPAAMDUQACw0yAAsPNQALDhwACw0FAAsNNQALDUQACg0mAAwOFgAMDQ0ADA0EAAwNDQASATQACw4bAAsNBAAJDSUAHwM0AAkNJQALDzIACw8yAAsPMgALDTIACw4LAAsNBQALDQUACwwGAAoNCwALDAkADA0EAAwNBAAMDQQADAwIABAECAALDQQACw0EAAsMBQAcBAgACwwFABMAEgAMDQkADA0AAAsNAAATABIAHgQSAAsNAAAADSQAHgQSAAANJAALADIACwAyAAsAMgALADIACw4CAAsOAgALDgIACwwCAAoNAgAKDQIADBE2AAwPKAAMDj0ADA4kAAwQMwAMDiUADA4BAAwONAAKD0QACw4mAA0PFgANDg0ADQ4EAA0ODQAUADMADQ4iAAwOAQAKDiUAGAgzAAoOJQAMECUADBAlAAwQJQAMDiQADA8IAAwOAQAMDgEADA0FAAsOCwAMDQkADQ4EAA0OBAANDgQADQ0IABEFCAAMDgEADA4BAAwNBQAfBAgADA0FABQBEgAMDwQADQ4AAAwOAAAUARIAHwUSAAwOAAAADiQAHwUSAAAOJAAMACQADAAkAAwAJAAMACQADA4BAAwOAQAMDgEADA0BAAsOAgALDgIADRI2AA0QKAANDz0ADQ8kAA0RMwANDyUADQ8BAA0PNAALEDwADA8oAA4QFgAODw0ADg8EAA4PDQAVATMADBAdAA0PAQALDyUAGwgzAAsPJQANESUADRElAA0RJQANDyQADRAIAA0PAQANDwEADQ4FAAwPCAANDgkADg8EAA4PBAAODwQADg4IABUACAANDwEADQ8BAA0OBQAeBggADQ4FABYAEgANEAQADg8AAA0PAAAWABIAHgcSAA0PAAAADyQAHgcSAAAPJAANACQADQAkAA0AJAANACQADQ8BAA0PAQANDwEADQ4BAAwPBAAMDwQADhM2AA4RKAAOED4ADhAmAA4SMwAOEBsADhADAA4PRQAMETwADRA2AA8RFgAPEAkADxAGAA8QFQAXADMADhAbAA4QAwAMEDIAHggzAAwQMgAOEiUADhIlAA4SJQAOECUADhEIAA4QAgAOEAIADg8FAA0QCAAODwkADxAFAA8QBQAPEAUADw8IABYBCAAOEAIADhACAA4PBQAfBwgADg8FABcBEgAOEQQADxACAA4QAgAXARIAGwoSAA4QAgAAEDIAGwoSAAAQMgAOACQADgAkAA4AJAAOACQADhABAA4QAQAOEAEADg8BAA0QBAANEAQADxREAA8SPAAQEUQADxEyAA8TNQAPEhwADxEFAA8RNQAPEUQADhEmABASFgAQEQ0AEBEEABARDQAYATQADxIbAA8RBAANESUAHwk0AA0RJQAPEzIADxMyAA8TMgAPETIADxILAA8RBQAPEQUADxAGAA4RCwAPEAkAEBEEABARBAAQEQQAEBAIABgACAAPEQQADxEEAA8QBQAYDAgADxAFABkAEgAQEQkAEBEAAA8RAAAZABIAHgoSAA8RAAAAESQAHgoSAAARJAAPADIADwAyAA8AMgAPADIADxICAA8SAgAPEgIADxACAA4RAgAOEQIAEBU2ABATKAAQEj0AEBIkABAUMwAQEiUAEBIBABASNAAOE0QADxImABETFgAREg0AERIEABESDQAYBDMAERIiABASAQAOEiUAHAwzAA4SJQAQFCUAEBQlABAUJQAQEiQAEBMIABASAQAQEgEAEBEFAA8SCwAQEQkAERIEABESBAAREgQAEREIABkBCAAQEgEAEBIBABARBQAbDAgAEBEFABoBEgAQEwQAERIAABASAAAaARIAHwsSABASAAAAEiQAHwsSAAASJAAQACQAEAAkABAAJAAQACQAEBIBABASAQAQEgEAEBEBAA8SAgAPEgIAERY2ABEUKAAREz0AERMkABEVMwAREyUAERMBABETNAAPFDwAEBMoABIUFgASEw0AEhMEABITDQAZBTMAEBQdABETAQAPEyUAHwwzAA8TJQARFSUAERUlABEVJQAREyQAERQIABETAQAREwEAERIFABATCAAREgkAEhMEABITBAASEwQAEhIIABsACAAREwEAERMBABESBQAeDAgAERIFABsCEgARFAQAEhMAABETAAAbAhIAHg0SABETAAAAEyQAHg0SAAATJAARACQAEQAkABEAJAARACQAERMBABETAQAREwEAERIBABATBAAQEwQAEhc2ABIVKAASFD4AEhQmABIWMwASFBsAEhQDABITRQAQFTwAERQ2ABMVFgATFAkAExQGABMUFQAdADMAEhQbABIUAwAQFDIAHg4zABAUMgASFiUAEhYlABIWJQASFCUAEhUIABIUAgASFAIAEhMFABEUCAASEwkAExQFABMUBQATFAUAExMIABwBCAASFAIAEhQCABITBQAfDQgAEhMFABsFEgASFQQAExQCABIUAgAbBRIAHw4SABIUAgAAFDIAHw4SAAAUMgASACQAEgAkABIAJAASACQAEhQBABIUAQASFAEAEhMBABEUBAARFAQAExhEABMWPAAUFUQAExUyABMXNQATFhwAExUFABMVNQATFUQAEhUmABQWFgAUFQ0AFBUEABQVDQAeATQAExYbABMVBAARFSUAHw80ABEVJQATFzIAExcyABMXMgATFTIAExYLABMVBQATFQUAExQGABIVCwATFAkAFBUEABQVBAAUFQQAFBQIABwECAATFQQAExUEABMUBQAcEAgAExQFAB8AEgAUFQkAFBUAABMVAAAfABIAHhASABMVAAAAFSQAHhASAAAVJAATADIAEwAyABMAMgATADIAExYCABMWAgATFgIAExQCABIVAgASFQIAFBk2ABQXKAAUFj0AFBYkABQYMwAUFiUAFBYBABQWNAASF0QAExYmABUXFgAVFg0AFRYEABUWDQAcCDMAFRYiABQWAQASFiUAGBQzABIWJQAUGCUAFBglABQYJQAUFiQAFBcIABQWAQAUFgEAFBUFABMWCwAUFQkAFRYEABUWBAAVFgQAFRUIAB0FCAAUFgEAFBYBABQVBQAfEAgAFBUFAB8DEgAUFwQAFRYAABQWAAAfAxIAHxESABQWAAAAFiQAHxESAAAWJAAUACQAFAAkABQAJAAUACQAFBYBABQWAQAUFgEAFBUBABMWAgATFgIAFRo2ABUYKAAVFz0AFRckABUZMwAVFyUAFRcBABUXNAATGDwAFBcoABYYFgAWFw0AFhcEABYXDQAdCTMAFBgdABUXAQATFyUAGxQzABMXJQAVGSUAFRklABUZJQAVFyQAFRgIABUXAQAVFwEAFRYFABQXCAAVFgkAFhcEABYXBAAWFwQAFhYIAB8ECAAVFwEAFRcBABUWBQAeEggAFRYFAB8GEgAVGAQAFhcAABUXAAAfBhIAHhMSABUXAAAAFyQAHhMSAAAXJAAVACQAFQAkABUAJAAVACQAFRcBABUXAQAVFwEAFRYBABQXBAAUFwQAFhs2ABYZKAAWGD4AFhgmABYaMwAWGBsAFhgDABYXRQAUGTwAFRg2ABcZFgAXGAkAFxgGABcYFQAfCDMAFhgbABYYAwAUGDIAHhQzABQYMgAWGiUAFholABYaJQAWGCUAFhkIABYYAgAWGAIAFhcFABUYCAAWFwkAFxgFABcYBQAXGAUAFxcIAB8HCAAWGAIAFhgCABYXBQAfEwgAFhcFAB8JEgAWGQQAFxgCABYYAgAfCRIAGxYSABYYAgAAGDIAGxYSAAAYMgAWACQAFgAkABYAJAAWACQAFhgBABYYAQAWGAEAFhcBABUYBAAVGAQAFxxEABcaPAAYGUQAFxkyABcbNQAXGhwAFxkFABcZNQAXGUQAFhkmABgaFgAYGQ0AGBkEABgZDQAfCzQAFxobABcZBAAVGSUAHxU0ABUZJQAXGzIAFxsyABcbMgAXGTIAFxoLABcZBQAXGQUAFxgGABYZCwAXGAkAGBkEABgZBAAYGQQAGBgIABwQCAAXGQQAFxkEABcYBQAYGAgAFxgFAB8MEgAYGQkAGBkAABcZAAAfDBIAHhYSABcZAAAAGSQAHhYSAAAZJAAXADIAFwAyABcAMgAXADIAFxoCABcaAgAXGgIAFxgCABYZAgAWGQIAGB02ABgbKAAYGj0AGBokABgcMwAYGiUAGBoBABgaNAAWG0QAFxomABkbFgAZGg0AGRoEABkaDQAcFDMAGRoiABgaAQAWGiUAHBgzABYaJQAYHCUAGBwlABgcJQAYGiQAGBsIABgaAQAYGgEAGBkFABcaCwAYGQkAGRoEABkaBAAZGgQAGRkIAB0RCAAYGgEAGBoBABgZBQAbGAgAGBkFAB8PEgAYGwQAGRoAABgaAAAfDxIAHxcSABgaAAAAGiQAHxcSAAAaJAAYACQAGAAkABgAJAAYACQAGBoBABgaAQAYGgEAGBkBABcaAgAXGgIAGR42ABkcKAAZGz0AGRskABkdMwAZGyUAGRsBABkbNAAXHDwAGBsoABocFgAaGw0AGhsEABobDQAdFTMAGBwdABkbAQAXGyUAHxgzABcbJQAZHSUAGR0lABkdJQAZGyQAGRwIABkbAQAZGwEAGRoFABgbCAAZGgkAGhsEABobBAAaGwQAGhoIAB8QCAAZGwEAGRsBABkaBQAeGAgAGRoFAB8SEgAZHAQAGhsAABkbAAAfEhIAHhkSABkbAAAAGyQAHhkSAAAbJAAZACQAGQAkABkAJAAZACQAGRsBABkbAQAZGwEAGRoBABgbBAAYGwQAGh82ABodKAAaHD4AGhwmABoeMwAaHBsAGhwDABobRQAYHTwAGRw2ABsdFgAbHAkAGxwGABscFQAfFDMAGhwbABocAwAYHDIAHhozABgcMgAaHiUAGh4lABoeJQAaHCUAGh0IABocAgAaHAIAGhsFABkcCAAaGwkAGxwFABscBQAbHAUAGxsIAB8TCAAaHAIAGhwCABobBQAfGQgAGhsFAB8VEgAaHQQAGxwCABocAgAfFRIAHxoSABocAgAAHDIAHxoSAAAcMgAaACQAGgAkABoAJAAaACQAGhwBABocAQAaHAEAGhsBABkcBAAZHAQAHB5WABsePAAcHUQAGx0yABsfNQAbHhwAGx0FABsdNQAbHUQAGh0mABweFgAcHQ0AHB0EABwdDQAfFzQAGx4bABsdBAAZHSUAHxs0ABkdJQAbHzIAGx8yABsfMgAbHTIAGx4LABsdBQAbHQUAGxwGABodCwAbHAkAHB0EABwdBAAcHQQAHBwIABwcCAAbHQQAGx0EABscBQAcHAgAGxwFAB8YEgAcHQkAHB0AABsdAAAfGBIAHhwSABsdAAAAHSQAHhwSAAAdJAAbADIAGwAyABsAMgAbADIAGx4CABseAgAbHgIAGxwCABodAgAaHQIAHR9WABwfKAAcHj0AHB4kABwfSAAcHiUAHB4BABweNAAaH0QAGx4mAB0fFgAdHg0AHR4EAB0eDQAfGjQAHR4iABweAQAaHiUAHh00ABoeJQAcHygAHB8oABwfKAAcHiQAHB8IABweAQAcHgEAHB0FABseCwAcHQkAHR4EAB0eBAAdHgQAHR0IAB0dCAAcHgEAHB4BABwdBQAfHAgAHB0FAB8bEgAcHwQAHR4AABweAAAfGxIAHx0SABweAAAAHiQAHx0SAAAeJAAcACQAHAAkABwAJAAcACQAHB4BABweAQAcHgEAHB0BABseAgAbHgIAHh9oAB4fTQAdHz0AHR8kAB4fdAAdHyUAHR8BAB0fNAAcH0gAHB8oAB4fKAAeHw0AHh8EAB4fDQAfHTQAHh8iAB0fAQAbHyUAHx40ABsfJQAdHz0AHR89AB0fPQAdHyQAHR8aAB0fAQAdHwEAHR4FABwfCAAdHgkAHh8EAB4fBAAeHwQAHh4IAB8cCAAdHwEAHR8BAB0eBQAeHggAHR4FAB8eEgAeHwkAHh8AAB0fAAAfHhIAHh8SAB0fAAAAHyQAHh8SAAAfJAAdACQAHQAkAB0AJAAdACQAHR8BAB0fAQAdHwEAHR4BABwfBAAcHwQAHx9EAB8fRAAfH0QAHh8tAB8fRAAeHyIAHh8ZAB4fAQAeHxcAHh8FAB8fBAAfHwQAHx8EAB8fBAAfHwQAHx8EAB8fBAAeHwEAHx8EAB4fAQAfH0QAHx9EAB8fRAAeHy0AHh80AB4fGQAeHxkAHh8BAB4fDgAeHwUAHx8EAB8fBAAfHwQAHx8EAB8fBAAfHwQAHx8EAB4fAQAfHwQAHh8BAB8fAAAfHwAAHx8AAB8fAAAfHwAAHx8AAB8fAAAAHwAAHx8AAAAfAAAeACQAHgAkAB4AJAAeACQAHh8QAB4fEAAeHxAAHh8BAB4fBQAeHwUAAARIAAADCgAAAgEAAAIaAAADmgAAAmMAAAIzAAABcwAAAa0AAAF3AAAESAAAAwoAAAIBAAACGgABAZoAAAJjAAACMwAAAXMAAwCaAAABcwAAAgAAAAIAAAACAAAAAQAAAAENAAABBAAAAQQAAAAZAAAAGQAAABkAAAIAAAACAAAAAgAAAAEAAAABDQAAAQQAAAEEAAAAGQABAA0AAAAZAAAESAAAAwoAAAIBAAACGgAABEgABABIAAACGgAAAVoABABIAAABWgBB4eUFC9Y7B1EAAAUNAAADIwAAAxMAAAX0AAADcwAAAyMAAAKLAAACNAEAAqQAAAdRAAAFDQABAxoAAAMTAAIB9AAAA3MAAAMjAAACiwAFAPQAAAKLAAAFCQAABQkAAAUJAAACEgAAAzIAAAINAAACDQAAAR0AAAFIAAABIQAABQkAAAUJAAAFCQAAAhIAAQEyAAACDQAAAg0AAAEdAAMAMgAAAR0AAQVIAAAFBAABAwEAAAMKAAEFSAAHAEgAAAMKAAACWgAHAEgAAAJaAAAACQAAAAkAAAAJAAAACQAAAQEAAAEBAAABAQAAAQQAAAEIAAABCAABCJEAAQZNAAEEYgABBFIAAAjzAAAFTAAABAEAAANzAAAEbAEAA7MAAQhRAAEGDQACBBkAAQQSAAQA8wAABUwAAAQBAAADcwAIAPMAAANzAAEGSQABBkkAAQZJAAEDUgAABjIAAAQBAAAEAQAAAhoAAANyAAACMwABBgkAAQYJAAEGCQABAxIAAwAyAAAEAQAABAEAAAIaAAYAMgAAAhoABQBIAAEGBAACBAAAAAQBAAUASAAKAEgAAAQBAAADWgAKAEgAAANaAAEASQABAEkAAQBJAAEASQAABAAAAAQAAAAEAAAAAgEAAAIaAAACGgACCaIAAgdeAAIFcwACBWMAAQn0AAEGTQABBQIAAQRqAAAFLAEABGkAAglRAAIHDQADBRkAAgUSAAUB8wABBkwAAQUBAAAEWQALAPMAAARZAAIHWgACB1oAAgdaAAIEXgABBzMAAQUCAAEFAgABAxsAAARKAAADIwACBwkAAgcJAAIHCQACBA0ABAEyAAEFAQABBQEAAAQZAAkAMgAABBkABgFIAAIHBAADBQAAAQUBAAYBSAANAEgAAQUBAAAEUAANAEgAAARQAAIAWgACAFoAAgBaAAIAWgABBQEAAQUBAAEFAQABAwIAAAMKAAADCgADCpoAAwhUAAMGdQADBlUAAgr0AAIHSwACBgIAAgVqAAAH/QAABWQAAwpaAAMIFAAEBhoAAwYVAAcA9AACB0sAAgYCAAAFWwAOAPQAAAVbAAMIUAADCFAAAwhQAAMGVAACCDQAAgYBAAIGAQACBRkAAAY0AAAFEwADCBAAAwgQAAMIEAADBhQABAQyAAIGAQACBgEAAAUKAAwAMgAABQoACABIAAMIBAAEBgEAAgYBAAgASAAQAEgAAgYBAAAFWgAQAEgAAAVaAAMAUAADAFAAAwBQAAMAUAACBgEAAgYBAAIGAQACBAEAAAUKAAAFCgAEC6IABAleAAQHdAAEB2QAAwv0AAMITAADBwIAAwZqAAEI/QABBmQABAtRAAQJDQAFBxoABAcTAAgB9AADCEwAAwcCAAEGWwARAPQAAQZbAAQJWgAECVoABAlaAAQGYwADCTQAAwcBAAMHAQADBhkAAQc0AAEGEwAECQkABAkJAAQJCQAEBhIABQUyAAMHAQADBwEAAQYKAA8AMgABBgoACQFIAAQJBAAFBwEAAwcBAAkBSAATAEgAAwcBAAAGWgATAEgAAAZaAAQAWgAEAFoABABaAAQAWgADBwEAAwcBAAMHAQADBQEAAQYKAAEGCgAFDKIABQpeAAUIcwAFCGMABAz0AAQJTQAECAIABAd0AAIJ/QACB2QABQxRAAUKDQAGCBkABQgSAAgE8wAECUwABAgBAAIHWwAUAPMAAgdbAAUKWgAFCloABQpaAAUHYwAECjMABAgCAAQIAgAEBhsAAggyAAIHEwAFCgkABQoJAAUKCQAFBxIACQAyAAQIAQAECAEAAgcKABIAMgACBwoACwBIAAUKBAAGCAAABAgBAAsASAAWAEgABAgBAAAHWgAWAEgAAAdaAAUAWgAFAFoABQBaAAUAWgAECAEABAgBAAQIAQAEBgIAAgcKAAIHCgAGDaIABgteAAYJcwAGCWMABQ30AAUKTQAFCQIABQhqAAMK/QADCFQABg1RAAYLDQAHCRkABgkSAAkF8wAFCkwABQkBAAMIUAAXAPMAAwhQAAYLWgAGC1oABgtaAAYIXgAFCzMABQkCAAUJAgAFBxsAAwkyAAMIFAAGCwkABgsJAAYLCQAGCA0ACgEyAAUJAQAFCQEAAwgQABUAMgADCBAADAFIAAYLBAAHCQAABQkBAAwBSAAZAEgABQkBAAAIUAAZAEgAAAhQAAYAWgAGAFoABgBaAAYAWgAFCQEABQkBAAUJAQAFBwIAAwgEAAMIBAAHDpoABwxUAAcKdQAHClUABg70AAYLSwAGCgIABglqAAQL/QAECWQABw5aAAcMFAAIChoABwoVAA0A9AAGC0sABgoCAAQJWwAaAPQABAlbAAcMUAAHDFAABwxQAAcKVAAGDDQABgoBAAYKAQAGCRkABAo0AAQJEwAHDBAABwwQAAcMEAAHChQADAAyAAYKAQAGCgEABAkKABgAMgAECQoADARIAAcMBAAICgEABgoBAAwESAAcAEgABgoBAAAJWgAcAEgAAAlaAAcAUAAHAFAABwBQAAcAUAAGCgEABgoBAAYKAQAGCAEABAkKAAQJCgAID6IACA1eAAgLdAAIC2QABw/0AAcMTAAHCwIABwpqAAUM/QAFCmQACA9RAAgNDQAJCxoACAsTAA4B9AAHDEwABwsCAAUKWwAdAPQABQpbAAgNWgAIDVoACA1aAAgKYwAHDTQABwsBAAcLAQAHChkABQs0AAUKEwAIDQkACA0JAAgNCQAIChIADQEyAAcLAQAHCwEABQoKABsAMgAFCgoADQVIAAgNBAAJCwEABwsBAA0FSAAfAEgABwsBAAAKWgAfAEgAAApaAAgAWgAIAFoACABaAAgAWgAHCwEABwsBAAcLAQAHCQEABQoKAAUKCgAJEKIACQ5eAAkMcwAJDGMACBD0AAgNTQAIDAIACAt0AAYN/QAGC2QACRBRAAkODQAKDBkACQwSABAA8wAIDUwACAwBAAYLWwAYBPMABgtbAAkOWgAJDloACQ5aAAkLYwAIDjMACAwCAAgMAgAIChsABgwyAAYLEwAJDgkACQ4JAAkOCQAJCxIADwAyAAgMAQAIDAEABgsKAB4AMgAGCwoAEQBIAAkOBAAKDAAACAwBABEASAAeAkgACAwBAAALWgAeAkgAAAtaAAkAWgAJAFoACQBaAAkAWgAIDAEACAwBAAgMAQAICgIABgsKAAYLCgAKEaIACg9eAAoNcwAKDWMACRH0AAkOTQAJDQIACQxqAAcO/QAHDFQAChFRAAoPDQALDRkACg0SABEB8wAJDkwACQ0BAAcMUAAbBPMABwxQAAoPWgAKD1oACg9aAAoMXgAJDzMACQ0CAAkNAgAJCxsABw0yAAcMFAAKDwkACg8JAAoPCQAKDA0AEAEyAAkNAQAJDQEABwwQAB8BMgAHDBAAEgFIAAoPBAALDQAACQ0BABIBSAAfA0gACQ0BAAAMUAAfA0gAAAxQAAoAWgAKAFoACgBaAAoAWgAJDQEACQ0BAAkNAQAJCwIABwwEAAcMBAALEpoACxBUAAsOdQALDlUAChL0AAoPSwAKDgIACg1qAAgP/QAIDWQACxJaAAsQFAAMDhoACw4VABMA9AAKD0sACg4CAAgNWwAeBPQACA1bAAsQUAALEFAACxBQAAsOVAAKEDQACg4BAAoOAQAKDRkACA40AAgNEwALEBAACxAQAAsQEAALDhQAEAQyAAoOAQAKDgEACA0KABwEMgAIDQoAFABIAAsQBAAMDgEACg4BABQASAAYCEgACg4BAAANWgAYCEgAAA1aAAsAUAALAFAACwBQAAsAUAAKDgEACg4BAAoOAQAKDAEACA0KAAgNCgAME6IADBFeAAwPdAAMD2QACxP0AAsQTAALDwIACw5qAAkQ/QAJDmQADBNRAAwRDQANDxoADA8TABQB9AALEEwACw8CAAkOWwAfBfQACQ5bAAwRWgAMEVoADBFaAAwOYwALETQACw8BAAsPAQALDhkACQ80AAkOEwAMEQkADBEJAAwRCQAMDhIAEQUyAAsPAQALDwEACQ4KAB8EMgAJDgoAFQFIAAwRBAANDwEACw8BABUBSAAbCEgACw8BAAAOWgAbCEgAAA5aAAwAWgAMAFoADABaAAwAWgALDwEACw8BAAsPAQALDQEACQ4KAAkOCgANFKIADRJeAA0QcwANEGMADBT0AAwRTQAMEAIADA90AAoR/QAKD2QADRRRAA0SDQAOEBkADRASABQE8wAMEUwADBABAAoPWwAcCPMACg9bAA0SWgANEloADRJaAA0PYwAMEjMADBACAAwQAgAMDhsAChAyAAoPEwANEgkADRIJAA0SCQANDxIAFQAyAAwQAQAMEAEACg8KAB4GMgAKDwoAFwBIAA0SBAAOEAAADBABABcASAAeCEgADBABAAAPWgAeCEgAAA9aAA0AWgANAFoADQBaAA0AWgAMEAEADBABAAwQAQAMDgIACg8KAAoPCgAOFaIADhNeAA4RcwAOEWMADRX0AA0STQANEQIADRBqAAsS/QALEFQADhVRAA4TDQAPERkADhESABUF8wANEkwADREBAAsQUAAfCPMACxBQAA4TWgAOE1oADhNaAA4QXgANEzMADRECAA0RAgANDxsACxEyAAsQFAAOEwkADhMJAA4TCQAOEA0AFgEyAA0RAQANEQEACxAQAB8HMgALEBAAGAFIAA4TBAAPEQAADREBABgBSAAfCUgADREBAAAQUAAfCUgAABBQAA4AWgAOAFoADgBaAA4AWgANEQEADREBAA0RAQANDwIACxAEAAsQBAAPFpoADxRUAA8SdQAPElUADhb0AA4TSwAOEgIADhFqAAwT/QAMEWQADxZaAA8UFAAQEhoADxIVABkA9AAOE0sADhICAAwRWwAeCvQADBFbAA8UUAAPFFAADxRQAA8SVAAOFDQADhIBAA4SAQAOERkADBI0AAwREwAPFBAADxQQAA8UEAAPEhQAGAAyAA4SAQAOEgEADBEKABgMMgAMEQoAGARIAA8UBAAQEgEADhIBABgESAAcDEgADhIBAAARWgAcDEgAABFaAA8AUAAPAFAADwBQAA8AUAAOEgEADhIBAA4SAQAOEAEADBEKAAwRCgAQF6IAEBVeABATdAAQE2QADxf0AA8UTAAPEwIADxJqAA0U/QANEmQAEBdRABAVDQARExoAEBMTABoB9AAPFEwADxMCAA0SWwAfC/QADRJbABAVWgAQFVoAEBVaABASYwAPFTQADxMBAA8TAQAPEhkADRM0AA0SEwAQFQkAEBUJABAVCQAQEhIAGQEyAA8TAQAPEwEADRIKABsMMgANEgoAGQVIABAVBAAREwEADxMBABkFSAAfDEgADxMBAAASWgAfDEgAABJaABAAWgAQAFoAEABaABAAWgAPEwEADxMBAA8TAQAPEQEADRIKAA0SCgARGKIAERZeABEUcwARFGMAEBj0ABAVTQAQFAIAEBN0AA4V/QAOE2QAERhRABEWDQASFBkAERQSABwA8wAQFUwAEBQBAA4TWwAYEPMADhNbABEWWgARFloAERZaABETYwAQFjMAEBQCABAUAgAQEhsADhQyAA4TEwARFgkAERYJABEWCQARExIAGwAyABAUAQAQFAEADhMKAB4MMgAOEwoAHQBIABEWBAASFAAAEBQBAB0ASAAeDkgAEBQBAAATWgAeDkgAABNaABEAWgARAFoAEQBaABEAWgAQFAEAEBQBABAUAQAQEgIADhMKAA4TCgASGaIAEhdeABIVcwASFWMAERn0ABEWTQARFQIAERRqAA8W/QAPFFQAEhlRABIXDQATFRkAEhUSAB0B8wARFkwAERUBAA8UUAAbEPMADxRQABIXWgASF1oAEhdaABIUXgARFzMAERUCABEVAgARExsADxUyAA8UFAASFwkAEhcJABIXCQASFA0AHAEyABEVAQARFQEADxQQAB8NMgAPFBAAHgFIABIXBAATFQAAERUBAB4BSAAfD0gAERUBAAAUUAAfD0gAABRQABIAWgASAFoAEgBaABIAWgARFQEAERUBABEVAQAREwIADxQEAA8UBAATGpoAExhUABMWdQATFlUAEhr0ABIXSwASFgIAEhVqABAX/QAQFWQAExpaABMYFAAUFhoAExYVAB8A9AASF0sAEhYCABAVWwAeEPQAEBVbABMYUAATGFAAExhQABMWVAASGDQAEhYBABIWAQASFRkAEBY0ABAVEwATGBAAExgQABMYEAATFhQAHAQyABIWAQASFgEAEBUKABwQMgAQFQoAHAhIABMYBAAUFgEAEhYBABwISAAYFEgAEhYBAAAVWgAYFEgAABVaABMAUAATAFAAEwBQABMAUAASFgEAEhYBABIWAQASFAEAEBUKABAVCgAUG6IAFBleABQXdAAUF2QAExv0ABMYTAATFwIAExZqABEY/QARFmQAFBtRABQZDQAVFxoAFBcTAB8D9AATGEwAExcCABEWWwAfEfQAERZbABQZWgAUGVoAFBlaABQWYwATGTQAExcBABMXAQATFhkAERc0ABEWEwAUGQkAFBkJABQZCQAUFhIAHQUyABMXAQATFwEAERYKAB8QMgARFgoAHQlIABQZBAAVFwEAExcBAB0JSAAbFEgAExcBAAAWWgAbFEgAABZaABQAWgAUAFoAFABaABQAWgATFwEAExcBABMXAQATFQEAERYKABEWCgAVHKIAFRpeABUYcwAVGGMAFBz0ABQZTQAUGAIAFBd0ABIZ/QASF2QAFRxRABUaDQAWGBkAFRgSABwM8wAUGUwAFBgBABIXWwAcFPMAEhdbABUaWgAVGloAFRpaABUXYwAUGjMAFBgCABQYAgAUFhsAEhgyABIXEwAVGgkAFRoJABUaCQAVFxIAHwQyABQYAQAUGAEAEhcKAB4SMgASFwoAHwhIABUaBAAWGAAAFBgBAB8ISAAeFEgAFBgBAAAXWgAeFEgAABdaABUAWgAVAFoAFQBaABUAWgAUGAEAFBgBABQYAQAUFgIAEhcKABIXCgAWHaIAFhteABYZcwAWGWMAFR30ABUaTQAVGQIAFRhqABMa/QATGFQAFh1RABYbDQAXGRkAFhkSAB0N8wAVGkwAFRkBABMYUAAfFPMAExhQABYbWgAWG1oAFhtaABYYXgAVGzMAFRkCABUZAgAVFxsAExkyABMYFAAWGwkAFhsJABYbCQAWGA0AHwcyABUZAQAVGQEAExgQAB8TMgATGBAAHwtIABYbBAAXGQAAFRkBAB8LSAAfFUgAFRkBAAAYUAAfFUgAABhQABYAWgAWAFoAFgBaABYAWgAVGQEAFRkBABUZAQAVFwIAExgEABMYBAAXHpoAFxxUABcadQAXGlUAFh70ABYbSwAWGgIAFhlqABQb/QAUGWQAFx5aABccFAAYGhoAFxoVAB8M9AAWG0sAFhoCABQZWwAeFvQAFBlbABccUAAXHFAAFxxQABcaVAAWHDQAFhoBABYaAQAWGRkAFBo0ABQZEwAXHBAAFxwQABccEAAXGhQAHBAyABYaAQAWGgEAFBkKABgYMgAUGQoAHBRIABccBAAYGgEAFhoBABwUSAAcGEgAFhoBAAAZWgAcGEgAABlaABcAUAAXAFAAFwBQABcAUAAWGgEAFhoBABYaAQAWGAEAFBkKABQZCgAYH6IAGB1eABgbdAAYG2QAFx/0ABccTAAXGwIAFxpqABUc/QAVGmQAGB9RABgdDQAZGxoAGBsTAB8P9AAXHEwAFxsCABUaWwAfF/QAFRpbABgdWgAYHVoAGB1aABgaYwAXHTQAFxsBABcbAQAXGhkAFRs0ABUaEwAYHQkAGB0JABgdCQAYGhIAHREyABcbAQAXGwEAFRoKABsYMgAVGgoAHRVIABgdBAAZGwEAFxsBAB0VSAAfGEgAFxsBAAAaWgAfGEgAABpaABgAWgAYAFoAGABaABgAWgAXGwEAFxsBABcbAQAXGQEAFRoKABUaCgAZH7QAGR5eABkccwAZHGMAGB8JARgdTQAYHAIAGBt0ABYd/QAWG2QAGh5hABkeDQAaHBkAGRwSABwY8wAYHUwAGBwBABYbWwAYHPMAFhtbABkeWgAZHloAGR5aABkbYwAYHjMAGBwCABgcAgAYGhsAFhwyABYbEwAZHgkAGR4JABkeCQAZGxIAHxAyABgcAQAYHAEAFhsKAB4YMgAWGwoAHxRIABkeBAAaHAAAGBwBAB8USAAeGkgAGBwBAAAbWgAeGkgAABtaABkAWgAZAFoAGQBaABkAWgAYHAEAGBwBABgcAQAYGgIAFhsKABYbCgAaH+oAGh9eABodcwAaHWMAGh9FARkeTQAZHQIAGRxqABce/QAXHFQAGx9hABofDQAbHRkAGh0SAB0Z8wAZHkwAGR0BABccUAAbHPMAFxxQABofWgAaH1oAGh9aABocXgAZHzMAGR0CABkdAgAZGxsAFx0yABccFAAaHwkAGh8JABofCQAaHA0AHxMyABkdAQAZHQEAFxwQAB8ZMgAXHBAAHxdIABofBAAbHQAAGR0BAB8XSAAfG0gAGR0BAAAcUAAfG0gAABxQABoAWgAaAFoAGgBaABoAWgAZHQEAGR0BABkdAQAZGwIAFxwEABccBAAbHzoBGx9pABsedQAbHlUAGx9bARofSwAaHgIAGh1qABgf/QAYHWQAHB9zABwfIwAcHhoAGx4VAB8Y9AAaH0sAGh4CABgdWwAeHPQAGB1bABsfWQAbH1kAGx9ZABseVAAaH1IAGh4BABoeAQAaHRkAGB40ABgdEwAcHhkAHB4ZABweGQAbHhQAHBwyABoeAQAaHgEAGB0KABwcMgAYHQoAHxpKABwfCgAcHgEAGh4BAB8aSgAeHUoAGh4BAAAdWgAeHUoAAB1aABsAUAAbAFAAGwBQABsAUAAaHgEAGh4BABoeAQAaHAEAGB0KABgdCgAcH3MBHB+zABwfcwAcH2MAHB+DARsfegAbHwEAGx5ZABofFwEZHlMAHR+SAB0fPQAdHxkAHB8SAB8b3QAcH2IAGx8BABkeSgAfHd0AGR5KABwfcwAcH3MAHB9zABweYwAbH3oAGx8BABsfAQAbHhkAGR80ABkeEwAdHxkAHR8ZAB0fGQAcHhIAHR0yABsfAQAbHwEAGR4KAB8cMgAZHgoAHx09AB4fIgAdHwAAGx8AAB8dPQAfHj0AGx8AAAAeSQAfHj0AAB5JABwAWgAcAFoAHABaABwAWgAbHwEAGx8BABsfAQAbHQEAGR4KABkeCgAdHxMBHR++AB0fmgAdH2MAHR8OARwfYwAcHyMAHB8jABwfwwAaHxMAHh9GAB4fKwAeHyIAHR8SAB8dXgAdHzEAHR8NABofCgAfHl4AGh8KAB0fmgAdH5oAHR+aAB0fYwAdH5UAHB8jABwfIwAcHhsAGx9NABofEwAeHyIAHh8iAB4fIgAdHxIAHxwyAB0fDQAdHw0AGh8KAB4eMgAaHwoAHx4JAB8fCQAeHwkAHh8AAB8eCQAeHwkAHh8AAAAfCQAeHwkAAB8JAB0AWgAdAFoAHQBaAB0AWgAcHwoAHB8KABwfCgAcHgIAGh8KABofCgAeH6IAHh+HAB4ffgAeH2MAHh+aAB4fZAAdH0kAHR8CAB0fbQAcHwoAHx8ZAB8fGQAfHxkAHh8SAB8eFgAeHxMAHh8KAB0fAQAeHxYAHR8BAB4ffgAeH34AHh9+AB4fYwAeH3YAHR9JAB0fSQAdHwIAHR9JABwfCgAfHxkAHx8ZAB8fGQAeHxIAHx4NAB4fCgAeHwoAHR8BAB4fDQAdHwEAHx8AAB8fAAAfHwAAHx8AAB8fAAAfHwAAHx8AAAAfAAAfHwAAAB8AAB4AWgAeAFoAHgBaAB4AWgAdHyUAHR8lAB0fJQAdHwIAHB8KABwfCgAAB8gAAAUUAAAEFAAAA0oAAAW5AQADGgEAA4oAAAI+AQAC5wEAAlcBAAfIAAAFFAAABBQAAANKAAIBuQEAAxoBAAOKAAACPgEFALkBAAI+AQADAQAAAwEAAAMBAAACAQAAAikAAAEUAAABFAAAARoAAAEt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AQoT3QAKEEQBCg/qAAkW4wIIEukACBAoAAgOKgEEEtQCBg7kAAsVygALEgEACxAgAAsPKQATAtMCBxLTAAgQGAAFDtoAHgXTAgUO2gAKFNEAChTRAAoU0QAKD9EACBSyAAkPFAAJDxQACA0aAAUQqwAHDQoACxIBAAsSAQALEgEACw4EABAEogAJDwQACQ8EAAcNAQAcBKIABw0BABUByAALEgEADBAUAAcQEQAVAcgAGwjIAAcQEQAADtoAGwjIAAAO2gAKANAACgDQAAoA0AAKANAACQ8QAAkPEAAJDxAACQwQAAcNCQAHDQkACxiYAQsU4QALEUQBCxDkAAoX4wIJE+kAChAhAAkPKgEFE9QCBw/kAAwWyQAMEwYADBEhAAwQKgATBdMCCBPMAAoQEQAGD9oAHwbTAgYP2gALFNEACxTRAAsU0QALENQACRWyAAoQEQAKEBEACQ4aAAYRqwAHDg4ADBICAAwSAgAMEgIADA8CABEFogAKEAEAChABAAgOAQAfBKIACA4BABcAyAAMEwUADRARAAoQEQAXAMgAHgjIAAoQEQAAD9oAHgjIAAAP2gALANAACwDQAAsA0AALANAAChAQAAoQEAAKEBAACg0QAAcPCgAHDwoADBmiAQwU5AAMEjsBDBHuAAsY6AIKE+oACxEhAAoQMQEGFNkCBxDhAA0XyQANFAYADRIhAA0RKgAXANgCCRTMAAsREQAHENEAHgjYAgcQ0QAMFdsADBXbAAwV2wAMEd4ACxSyAAsREQALEREACg8aAAcSqwAIDwYADRMCAA0TAgANEwIADRACABUAogALEQEACxEBAAkPAQAeBqIACQ8BABgByAANFAUADhERAAsREQAYAcgAHwnIAAsREQAAENAAHwnIAAAQ0AAMANoADADaAAwA2gAMANoACxEQAAsREAALERAACw4QAAgPBQAIDwUADRqiAQ0V5AANEzsBDRLuAAsb6AILFOEACxMoAAsRMQEHFdkCCBHhAA4YyQAOFQYADhMhAA4SKgAYANQCChXMAAwSEgAIEdEAGAzUAggR0QANFtsADRbbAA0W2wANEt4ACxeyAAsTGAALExgACxAgAAkSsgAJEAUADhQCAA4UAgAOFAIADhECABYBogAMEgIADBICAAoQAQAfB6IAChABABoAyAAOFQUADxIRAAwSEQAaAMgAHgvIAAwSEQAAEdAAHgvIAAAR0AANANoADQDaAA0A2gANANoACxQRAAsUEQALFBEACw8UAAkQBQAJEAUADhuaAQ4X3QAOFEQBDhPqAA0a4wIMFukADBQoAAwSKgEIFtQCChLkAA8ZygAPFgEADxQgAA8TKQAaANMCCxbTAAwUGAAJEtoAHgvTAgkS2gAOGNEADhjRAA4Y0QAOE9EADBiyAA0TFAANExQADBEaAAkUqwALEQoADxYBAA8WAQAPFgEADxIEABgAogANEwQADRMEAAsRAQAYDKIACxEBABkFyAAPFgEAEBQUAAsUEQAZBcgAHwzIAAsUEQAAEtoAHwzIAAAS2gAOANAADgDQAA4A0AAOANAADRMQAA0TEAANExAADRAQAAsRCQALEQkADxyYAQ8Y4QAPFUQBDxTkAA4b4wINF+kADhQhAA0TKgEJF9QCCxPkABAayQAQFwYAEBUhABAUKgAbAdMCDBfMAA4UEQAKE9oAGw7TAgoT2gAPGNEADxjRAA8Y0QAPFNQADRmyAA4UEQAOFBEADRIaAAoVqwALEg4AEBYCABAWAgAQFgIAEBMCABkBogAOFAEADhQBAAwSAQAbDKIADBIBAB0AyAAQFwUAERQRAA4UEQAdAMgAHg7IAA4UEQAAE9oAHg7IAAAT2gAPANAADwDQAA8A0AAPANAADhQQAA4UEAAOFBAADhEQAAsTCgALEwoAEB2iARAY5AAQFjsBEBXuAA8c6AIOF+oADxUhAA4UMQEKGNkCCxThABEbyQARGAYAERYhABEVKgAdANgCDRjMAA8VEQALFNEAHg7YAgsU0QAQGdsAEBnbABAZ2wAQFd4ADxiyAA8VEQAPFREADhMaAAsWqwAMEwYAERcCABEXAgARFwIAERQCABsAogAPFQEADxUBAA0TAQAeDKIADRMBAB4ByAARGAUAEhURAA8VEQAeAcgAHw/IAA8VEQAAFNAAHw/IAAAU0AAQANoAEADaABAA2gAQANoADxUQAA8VEAAPFRAADxIQAAwTBQAMEwUAER6iAREZ5AARFzsBERbuAA8f6AIPGOEADxcoAA8VMQELGdkCDBXhABIcyQASGQYAEhchABIWKgAcBNQCDhnMABAWEgAMFdEAHBDUAgwV0QARGtsAERrbABEa2wARFt4ADxuyAA8XGAAPFxgADxQgAA0WsgANFAUAEhgCABIYAgASGAIAEhUCABwBogAQFgIAEBYCAA4UAQAfDaIADhQBAB8CyAASGQUAExYRABAWEQAfAsgAHhHIABAWEQAAFdAAHhHIAAAV0AARANoAEQDaABEA2gARANoADxgRAA8YEQAPGBEADxMUAA0UBQANFAUAEh+aARIb3QASGEQBEhfqABEe4wIQGukAEBgoABAWKgEMGtQCDhbkABMdygATGgEAExggABMXKQAfAtMCDxrTABAYGAANFtoAHhHTAg0W2gASHNEAEhzRABIc0QASF9EAEByyABEXFAARFxQAEBUaAA0YqwAPFQoAExoBABMaAQATGgEAExYEABwEogARFwQAERcEAA8VAQAcEKIADxUBAB0JyAATGgEAFBgUAA8YEQAdCcgAGxTIAA8YEQAAFtoAGxTIAAAW2gASANAAEgDQABIA0AASANAAERcQABEXEAARFxAAERQQAA8VCQAPFQkAEx+qARMc4QATGUQBExjkABIf4wIRG+kAEhghABEXKgENG9QCDxfkABQeyQAUGwYAFBkhABQYKgAfBdMCEBvMABIYEQAOF9oAHxLTAg4X2gATHNEAExzRABMc0QATGNQAER2yABIYEQASGBEAERYaAA4ZqwAPFg4AFBoCABQaAgAUGgIAFBcCAB0FogASGAEAEhgBABAWAQAfEKIAEBYBAB8IyAAUGwUAFRgRABIYEQAfCMgAHhTIABIYEQAAF9oAHhTIAAAX2gATANAAEwDQABMA0AATANAAEhgQABIYEAASGBAAEhUQAA8XCgAPFwoAFB/UARQc5AAUGjsBFBnuABMf6wISG+oAExkhABIYMQEOHNkCDxjhABUfyQAVHAYAFRohABUZKgAfCNgCERzMABMZEQAPGNEAHhTYAg8Y0QAUHdsAFB3bABQd2wAUGd4AExyyABMZEQATGREAEhcaAA8aqwAQFwYAFRsCABUbAgAVGwIAFRgCAB8EogATGQEAExkBABEXAQAeEqIAERcBAB8LyAAVHAUAFhkRABMZEQAfC8gAHxXIABMZEQAAGNAAHxXIAAAY0AAUANoAFADaABQA2gAUANoAExkQABMZEAATGRAAExYQABAXBQAQFwUAFR8iAhUd5AAVGzsBFRruABQfFAMTHOEAExsoABMZMQEPHdkCEBnhABYf2wAWHQYAFhshABYaKgAcENQCEh3MABQaEgAQGdEAGBjUAhAZ0QAVHtsAFR7bABUe2wAVGt4AEx+yABMbGAATGxgAExggABEasgARGAUAFhwCABYcAgAWHAIAFhkCAB8HogAUGgIAFBoCABIYAQAfE6IAEhgBAB8OyAAWHQUAFxoRABQaEQAfDsgAHhfIABQaEQAAGdAAHhfIAAAZ0AAVANoAFQDaABUA2gAVANoAExwRABMcEQATHBEAExcUABEYBQARGAUAFx+gAhYf3QAWHEQBFhvqABYfeAMUHukAFBwoABQaKgEQHtQCEhrkABcfEAEXHgEAFxwgABcbKQAfDtMCEx7TABQcGAARGtoAHhfTAhEa2gAWH9QAFh/UABYf1AAWG9EAFR60ABUbFAAVGxQAFBkaABEcqwATGQoAFx4BABceAQAXHgEAFxoEABwQogAVGwQAFRsEABMZAQAYGKIAExkBAB0VyAAXHgEAGBwUABMcEQAdFcgAHxjIABMcEQAAGtoAHxjIAAAa2gAWANAAFgDQABYA0AAWANAAFRsQABUbEAAVGxAAFRgQABMZCQATGQkAGB8CAxcf5AAXHUQBFxzkABcfpAMVH+kAFhwhABUbKgERH9QCExvkABkfKwEYHwYAGB0hABgcKgAfEdMCFB/MABYcEQASG9oAGxrTAhIb2gAXH+AAFx/gABcf4AAXHNQAFh+0ABYcEQAWHBEAFRoaABIdqwATGg4AGB4CABgeAgAYHgIAGBsCAB0RogAWHAEAFhwBABQaAQAbGKIAFBoBAB8UyAAYHwUAGRwRABYcEQAfFMgAHhrIABYcEQAAG9oAHhrIAAAb2gAXANAAFwDQABcA0AAXANAAFhwQABYcEAAWHBAAFhkQABMbCgATGwoAGR90AxgfLwEYHjsBGB3uABgfAQQWH+oAFx0hABYcMQETH+sCExzhABofYQEZHxsAGR4hABkdKgAfFNgCFh/aABcdEQATHNEAHhrYAhMc0QAYH/4AGB/+ABgf/gAYHd4AFx/EABcdEQAXHREAFhsaABMeqwAUGwYAGR8CABkfAgAZHwIAGRwCAB8QogAXHQEAFx0BABUbAQAeGKIAFRsBAB8XyAAaHxQAGh0RABcdEQAfF8gAHxvIABcdEQAAHNAAHxvIAAAc0AAYANoAGADaABgA2gAYANoAFx0QABcdEAAXHRAAFxoQABQbBQAUGwUAGh8KBBkf1AEZHzsBGR7uABkflAQYHyMBFx8oABcdMQEVH0UDFB3hABsfmQEaH3UAGh8hABoeKgAcHNQCGB8KARgeEgAUHdEAHBzUAhQd0QAZHysBGR8rARkfKwEZHt4AGB/tABcfGAAXHxgAFxwgABUesgAVHAUAGh8RABofEQAaHxEAGh0CAB8TogAYHgIAGB4CABYcAQAfGaIAFhwBAB8ayAAbHzUAGx4RABgeEQAfGsgAHh3IABgeEQAAHdAAHh3IAAAd0AAZANoAGQDaABkA2gAZANoAFx8UABcfFAAXHxQAFxsUABUcBQAVHAUAGx+lAxsfOgIaH3kBGh/RABsfHgQZHzUBGR8UABgewQAXH98CFh57ABwfUgEcH5IAGx8xABsfEAAdHSICGh/eABkfBAAVHnEAHxwiAhUecQAaH3kBGh95ARofeQEaH9EAGh9SARkfFAAZHxQAGB0aABYfrQAXHQoAGx8xABsfMQAbHzEAGx4EABwcogAZHwQAGR8EABcdAQAcHKIAFx0BAB8ccQAdHzQAHB8BABofAQAfHHEAHh5xABofAQAAHnEAHh5xAAAecQAaANAAGgDQABoA0AAaANAAGR8QABkfEAAZHxAAGRwQABcdCQAXHQkAHB8LAxsfKgIbH7EBGx/gABwfWwMaHw4BGh9KABkeWgAYH04CFx87AB0f2gAdH4UAHB9SABwfAgAfG00BGx+SABsfGQAWHzEAHx1NARYfMQAbH7EBGx+xARsfsQEbH+AAGx96ARofSgAaH0oAGR4aABgf5QAXHg4AHB9SABwfUgAcH1IAHB8CAB0dogAbHxkAGx8ZABgeAQAfHKIAGB4BAB8eGQAeHwoAHh8BABwfAQAfHhkAHh8ZABwfAQAAHzEAHh8ZAAAfMQAbANAAGwDQABsA0AAbANAAGh8ZABofGQAaHxkAGh0QABcfCgAXHwoAHR+sAhwfGgIcH9oBHB8aARwfqgIbHxsBGx+iABofGQAaH+IBGB8FAB4fmQAeH34AHh91AB0fJQAfHcEAHR9sABwfQQAZHwAAHx7BABkfAAAcH9oBHB/aARwf2gEcHxoBHB+qARsfogAbH6IAGh8ZABofHgEYHwUAHh91AB4fdQAeH3UAHR8lAB8ckQAcH0EAHB9BABkfAAAeHpEAGR8AAB8fAAAfHwAAHx8AAB8fAAAfHwAAHx8A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HhAAExgUAB0FUgEQGgEAEBoBAAwXCgAfEFIBDBcKAB8LpQETHgEAFRoBABAaAQAfC6UBHxWlARAaAQAAGLEBHxWlAQAYsQESALEBEgCxARIAsQESALEBEBoCABAaAgAQGgIAEBUCAAwXBQAMFwUAFB++BRMfywETHJoCExvWARMfdwcRHcsBERsDABAZiwILHvYFDRnLARUfTgIUHw4AFRszABQbWwAdDeoFEB6pAREbAgALGbIBHxTqBQsZsgETH8oBEx/KARMfygETGrEBER9lAREbAgARGwIAERcqAAwbUwENGBUAFB8KABQfCgAUHwoAFBkNAB8EUgERGwEAERsBAA0YEQAeElIBDRgRAB8OpQEUHwUAFhsBABEbAQAfDqUBHhelAREbAQAAGbEBHhelAQAZsQETALEBEwCxARMAsQETALEBERsCABEbAgARGwIAERYCAA0YBQANGAUAFR9yBhQfEgIUHJ4CFBzuARQf7gcSHssBEhwDABEaiwIMH/oFDhrLARcfigIVHx0AFhwyABUcWgAfDOoFER+pARIcAgAMGrIBHhbqBQwasgEUH+4BFB/uARQf7gEUG74BEh+bARIcAwASHAMAEhgqAA0cUwEOGRUAFR8NABUfDQAVHw0AFRoNAB8HUgESHAIAEhwCABAYEAAfE1IBEBgQAB8RpQEWHwoAFxwBABIcAQAfEaUBHxilARIcAQAAGrEBHxilAQAasQEUAL0BFAC9ARQAvQEUAL0BEhwCABIcAgASHAIAEhcCAA4ZBQAOGQUAFh9uBxUf0wIVHqYCFR3WARUfuwgTH80BEx0FABIbjQIOHzMGDxvNARgf3gIXH0EAFx01ABYdUQAfD+0FEx/NARMdBQAOG74BHxftBQ4bvgEVHyoCFR8qAhUfKgIVHLEBFB+1ARMdBAATHQQAExkpAA4dVAEQGhMAFx8QABcfEAAXHxAAFxsQABwQUgETHQQAEx0EABAaCgAYGFIBEBoKAB8UpQEXHzEAGB0BABMdAQAfFKUBHhqlARMdAQAAG70BHhqlAQAbvQEVALEBFQCxARUAsQEVALEBEx4BABMeAQATHgEAExgBABAaCgAQGgoAFx8aCBcfogMWH6YCFh7WARcfTgkUHzoCFB4DABMcmgIQH6cGEBzLARkfVgMYH60AGB4zABceUQAcGOoFFR8qAhQeAgAOHLIBGBzqBQ4csgEWH3UCFh91AhYfdQIWHbEBFR/rARQeAgAUHgIAFBoqAA8eVAEQGw4AGB8dABgfHQAYHx0AFxwUAB0RUgEUHgEAFB4BABAbCgAbGFIBEBsKAB8XpQEZH20AGR4BABQeAQAfF6UBHxulARQeAQAAHLEBHxulAQAcsQEWALEBFgCxARYAsQEWALEBFB4CABQeAgAUHgIAFBkCABAbBQAQGwUAGB+1CBgfegQXH7ECFx/VARgfrAkWH9sCFR8CABQdagISHw0HER2qARofuQMZH1MBGR8yABgeUgAdGbMFFx9sAhUfAQAPHZEBGxyzBQ8dkQEXH7ECFx+xAhcfsQIXHrEBFh9FAhUfAgAVHwIAFRsqABAfUwERHBUAGR8yABkfMgAZHzIAGB0NAB8QUgEVHwEAFR8BABEcEQAeGFIBERwRAB8aiAEbH50AGh8AABUfAAAfGogBHh2IARUfAAAAHZABHh2IAQAdkAEXALEBFwCxARcAsQEXALEBFR8CABUfAgAVHwIAFRoCABEcBQARHAUAGR+XBxgfagQYHwEDGB++ARkfNwgXHz0CFh8qABYddQEUH8kFEh7qABsfkQIaHx0BGh9ZABkfEgAfFygEGB+qARcfCAAQHtEAHxsoBBAe0QAYHwEDGB8BAxgfAQMYH74BFx+VAhYfKgAWHyoAFhwqABIfbQESHRUAGh9ZABofWQAaH1kAGR4NAB8TUgEXHwgAFx8IABQcEAAfGVIBFBwQAB8bygAcH1AAGx8EABgfAQAfG8oAHx3KABgfAQAAHtAAHx3KAAAe0AAYAL0BGAC9ARgAvQEYAL0BFh8RABYfEQAWHxEAFhsCABIdBQASHQUAGx+uBhofZgQZH5UDGR/VARof8wYYH/sBGB+SABcemgAWH8UEFB5TABwfwgEbHwIBGx+JABsfEAAdHdICGh8eARkfNAAUHkoAHxzSAhQeSgAZH5UDGR+VAxkflQMZH9UBGR8VAxgfkgAYH5IAFx0pABQfvgEUHhMAGx+JABsfiQAbH4kAGx8QABwcUgEZHzQAGR80ABQeCgAcHFIBFB4KAB8dPQAeHyIAHR8AABsfAAAfHT0AHx49ABsfAAAAHkkAHx49AAAeSQAZALEBGQCxARkAsQEZALEBFx8xABcfMQAXHzEAFxwBABQeCgAUHgoAGx/OBRsfYwQb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AAMAFAADABQAAgcAAAIHAAACBwAAAgQBAAEFAQABBQEABQwmAAUKFQAFCBgABQgYAAQMNAAECRIABAgBAAQHGAACCTUAAwcVAAYKFgAFCgUABggEAAUICAACEDMABAkSAAQIAQADBxQAFAAzAAMHFAAFChQABQoUAAUKFAAFBxUABAoIAAQIAQAECAEABAYFAAIICAADBwUABggEAAYIBAAGCAQABgcEAAkACAAFBwEABQcBAAUGBAASAAgABQYEAAsAEgAFCgEABggAAAQIAAALABIAFgASAAQIAAAABxQAFgASAAAHFAAFABQABQAUAAUAFAAFABQABAkAAAQJAAAECQAABAYBAAMHAQADBwEABw8kAAcMEwAHChwABwoUAAYPNAAGCxYABgoHAAYJHAADDDQABQkbAAgNEwAICwMACAoDAAgKBgANATMABgsVAAcKAwAFCRsAGwAzAAUJGwAHDBMABwwTAAcMEwAHChMABg0JAAYKBgAGCgYABgkDAAUKCQAFCQIACAoCAAgKAgAICgIACAkCAAwBCAAHCgIABwoCAAUJAgAZAAgABQkCAA4BEgAHDAEACAoCAAYKAgAOARIADwcSAAYKAgAACRoADwcSAAAJGgAHABIABwASAAcAEgAHABIABgsCAAYLAgAGCwIABgkCAAUJAQAFCQEACRAmAAkOEwAJDBwACQwUAAgRNAAIDRYACAwHAAgLHAAFDjQABwsbAAoPEwAKDQMACgwDAAoMBgAQATMACA0VAAkMAwAHCxsAIQAzAAcLGwAJDhMACQ4TAAkOEwAJDBMACA8JAAgMBgAIDAYACAsDAAcMCQAHCwIACgwCAAoMAgAKDAIACgsCAA8BCAAJDAIACQwCAAcLAgAfAAgABwsCABEAEgAJDgEACgwCAAgMAgARABIAIgASAAgMAgAACxoAIgASAAALGgAJABIACQASAAkAEgAJABIACA0CAAgNAgAIDQIACAsCAAcLAQAHCwEACxImAAsQEwALDhwACw4UAAoTNAAKDxYACg4HAAoNHAAHEDQACQ0bAAwQFQAMDwMADA4DAAwOBgATATMACg8VAAsOAwAJDRsAJwAzAAkNGwALEBIACxASAAsQEgALDhMAChEJAAoOBgAKDgYACg0DAAkOCQAJDQIADA4CAAwOAgAMDgIADA0CAA8HCAALDgIACw4CAAkNAgAfAwgACQ0CABQAEgALEAEADA4CAAoOAgAUABIAKAASAAoOAgAADRoAKAASAAANGgALABIACwASAAsAEgALABIACg8CAAoPAgAKDwIACg0CAAkNAQAJDQEADRQmAA0SEwANEBsADRATAAwVNAAMERMADBAFAAwPHAAKETQACw8bAA4SFQAOEQMADhABAA0QCgAWATMADBESAA0QAgALDxsALQAzAAsPGwANEhIADRISAA0SEgANEBMADBMJAAwQBQAMEAUADA8DAAoQCwALDwIADhABAA4QAQAOEAEADg8CAA8NCAANEAIADRACAAsPAgAfBggACw8CABcAEgANEgEADhAAAAwQAAAXABIALgASAAwQAAAADxoALgASAAAPGgANABIADQASAA0AEgANABIADBEBAAwRAQAMEQEADA8CAAsPAQALDwEADxcmAA8UFQAPEiUADxIVAA8WNwAPExcADxIFAA4RHgANEzgADREcABAVEwAQEwMAEBIDABASBgARETMADxMTAA8SAQAOERoAMwAzAA4RGgAPFRQADxUUAA8VFAAPEhQADxMOAA8SBAAPEgQADhEFAA0SCQANEQMAEBICABASAgAQEgIAEBECABgBCAAPEgAADxIAAA4RAQAxAAgADhEBABoBEgAPFAEAEBICAA8SAQAaARIANQASAA8SAQAAERoANQASAAARGgAPABQADwAUAA8AFAAPABQADxIEAA8SBAAPEgQADhEEAA0RAgANEQIAERkkABEWEwARFBwAERQUABAZNAAQFRYAEBQHABATHAAPFTgADxMcABIXEwASFQMAEhQDABIUBgAUETMAEBUVABEUAwAOFBoAOQAzAA4UGgARFhMAERYTABEWEwARFBMAEBcJABAUBgAQFAYAEBMDAA8UCQAPEwMAEhQCABIUAgASFAIAEhMCABsBCAARFAIAERQCAA8TAgA3AAgADxMCAB0BEgARFgEAEhQCABAUAgAdARIAOwASABAUAgAAExoAOwASAAATGgARABIAEQASABEAEgARABIAEBUCABAVAgAQFQIAEBMCAA8TAgAPEwIAExskABMYEwATFhwAExYUABIbNAASFxYAEhYHABIVHAAPGDgAERUbABQZEwAUFwMAFBYDABQWBgAXETMAEhcVABMWAwARFRsAPwAzABEVGwATGBMAExgTABMYEwATFhMAEhkJABIWBgASFgYAEhUDABEWCQARFQIAFBYCABQWAgAUFgIAFBUCAB4BCAATFgIAExYCABEVAgA9AAgAERUCAB8DEgATGAEAFBYCABIWAgAfAxIAPwESABIWAgAAFRoAPwESAAAVGgATABIAEwASABMAEgATABIAEhcCABIXAgASFwIAEhUCABEVAQARFQEAFR0kABUaEwAVGBwAFRgUABQdNAAUGRYAFBgHABQXHAARGjQAExcbABYbEwAWGQMAFhgDABYYBgAiATMAFBkVABUYAwATFxsAPwMzABMXGwAVGhMAFRoTABUaEwAVGBMAFBsJABQYBgAUGAYAFBcDABMYCQATFwIAFhgCABYYAgAWGAIAFhcCACEBCAAVGAIAFRgCABMXAgA/AggAExcCAB8JEgAVGgEAFhgCABQYAgAfCRIAPwQSABQYAgAAFxoAPwQSAAAXGgAVABIAFQASABUAEgAVABIAFBkCABQZAgAUGQIAFBcCABMXAQATFwEAFx8oABcdGAAXGyEAFxoYABceNwAWHBgAFxoIABYaHAAUHDMAFRoVABgdFAAYHAEAGBsEABgaBQAmADMAFhwUABcaBAAUGhQAPgczABQaFAAXHRQAFx0UABcdFAAXGhQAFxwMABcaBAAXGgQAFhkEABQbCQAWGQQAGBsAABgbAAAYGwAAGBoBAB8MCAAXGgAAFxoAABYZAAA+BggAFhkAACYBEgAYHAEAGBsEABcaBAAmARIALRASABcaBAAAGhQALRASAAAaFAAXABQAFwAUABcAFAAXABQAFxoEABcaBAAXGgQAFhkEABUaAQAVGgEAGSEmABkfGAAZHSEAGRwYABkgNwAYHhgAGRwIABgcHAAWHjMAFxwVABofFAAaHgEAGh0EABocBQApADMAGB4UABkcBAAWHBQAPgozABYcFAAZHxQAGR8UABkfFAAZHBQAGR4MABkcBAAZHAQAGBsEABYdCQAYGwQAGh0AABodAAAaHQAAGhwBAB8SCAAZHAAAGRwAABgbAAA+CQgAGBsAACkBEgAaHgEAGh0EABkcBAApARIAMxASABkcBAAAHBQAMxASAAAcFAAZABQAGQAUABkAFAAZABQAGRwEABkcBAAZHAQAGBsEABccAQAXHAEAGyMmABsgFQAbHyEAGx4YABsiNwAaIBgAGx4IABoeHAAZHzgAGR4VABwhEgAcIAIAHB8EABweBQAsADMAGiAUABseBAAYHhQAPg0zABgeFAAbIRQAGyEUABshFAAbHhQAGx8OABseBAAbHgQAGh0EABgfCQAaHQQAHB8AABwfAAAcHwAAHB4BACIRCAAbHgAAGx4AABodAAA+DAgAGh0AACwBEgAbIAEAHB8EABseBAAsARIAORASABseBAAAHhQAORASAAAeFAAbABQAGwAUABsAFAAbABQAGx4EABseBAAbHgQAGh0EABkeAQAZHgEAHSUmAB0iFQAdICUAHSAVAB0kNwAdIRcAHSAFABwgJwAbITgAGiAeAB4jEgAeIgIAHiACAB4gBQAvADMAHSETAB0gAQAaIBoALhgzABogGgAdIxQAHSMUAB0jFAAdIBQAHSEOAB0gBAAdIAQAHB8EABsgCQAcHwQAHiEAAB4hAAAeIQAAHh8EACURCAAdIAAAHSAAABwfAAA+DwgAHB8AAC8BEgAdIgEAHiACAB0gAQAvARIAPxASAB0gAQAAIBoAPxASAAAgGgAdABQAHQAUAB0AFAAdABQAHSAEAB0gBAAdIAQAHB8EABwfBAAcHwQAHygsAB8lHAAgIygAHyIfAB8mNQAfIxUAHyIHAB8iHgAcJDMAHSIVACAlFAAgJAEAICMEACAiBQAyADMAHiQTAB8iBgAcIhUAPhMzABwiFQAfJhoAHyYaAB8mGgAfIhsAHyQJAB8iAwAfIgMAHyECAB0iCgAeIQIAICMAACAjAAAgIwAAICIBADEACAAfIgIAHyICAB4hAQA+EggAHiEBAC8IEgAgJAEAICMEAB8iBQAvCBIAPhQSAB8iBQAAIhQAPhQSAAAiFAAfABoAHwAaAB8AGgAfABoAHyMBAB8jAQAfIwEAHyECAB0iAQAdIgEAISkoACEnGAAhJSEAISQYACEoNwAgJhgAISQIACAkHAAeJjMAHyQVACInFAAiJgEAIiUEACIkBQA1ADMAICYUACEkBAAeJBUAPhYzAB4kFQAhJxQAIScUACEnFAAhJBQAISYMACEkBAAhJAQAICMEAB8kCgAgIwQAIiUAACIlAAAiJQAAIiQBADQACAAhJAAAISQAACAjAAA+FQgAICMAAC8OEgAiJgEAIiUEACEkBAAvDhIAPhcSACEkBAAAJBQAPhcSAAAkFAAhABQAIQAUACEAFAAhABQAISQEACEkBAAhJAQAICMEAB8kAQAfJAEAIysoACMpGAAjJyEAIyYYACMqNwAiKBgAIyYIACImHAAgKDMAISYVACQpFAAkKAEAJCcEACQmBQA4ADMAIigUACMmBAAgJhQAPhkzACAmFAAjKRQAIykUACMpFAAjJhQAIygMACMmBAAjJgQAIiUEACAnCQAiJQQAJCcAACQnAAAkJwAAJCYBADcACAAjJgAAIyYAACIlAAA+GAgAIiUAADAREgAkKAEAJCcEACMmBAAwERIAPhoSACMmBAAAJhQAPhoSAAAmFAAjABQAIwAUACMAFAAjABQAIyYEACMmBAAjJgQAIiUEACEmAQAhJgEAJS0oACUrGAAlKSEAJSgYACUsNwAkKhgAJSgIACQoHAAiKjMAIygVACYrFAAmKgEAJikEACYoBQA7ADMAJCoUACUoBAAiKBQAPhwzACIoFAAlKxQAJSsUACUrFAAlKBQAJSoMACUoBAAlKAQAJCcEACIpCQAkJwQAJikAACYpAAAmKQAAJigBADoACAAlKAAAJSgAACQnAAA+GwgAJCcAADMREgAmKgEAJikEACUoBAAzERIAPh0SACUoBAAAKBQAPh0SAAAoFAAlABQAJQAUACUAFAAlABQAJSgEACUoBAAlKAQAJCcEACMoAQAjKAEAKC4sACgsGwAoKxwAJyscACcvNAAnLBYAJysDACYqHAAkLDUAJSoTACguEwAoLAIAKCsDACgqCgA+ATMAJiwTACcrAgAlKhIAPx8zACUqEgAoLBoAKCwaACgsGgAoKhoAJywLACcrAgAnKwIAJykCACUrCwAmKQMAKCwBACgsAQAoLAEAKCoBADUQCAAoKgEAKCoBACcpAQA/HggAJykBAD8AEgAoLAEAKCsCACYrAQA/ABIAPiASACYrAQAAKhIAPiASAAAqEgAnABoAJwAaACcAGgAnABoAJysBACcrAQAnKwEAJykBACUqAQAlKgEAKjAsACouGwAqLRwAKS0cACkwNQApLhYAKS0DACgsHAAmLjUAJywTACowEwAqLgIAKi0DACosCgA/BTMAKC4TACktAgAnLBIALyozACcsEgAqLhoAKi4aACouGgAqLBoAKS4LACktAgApLQIAKSsCACctCwAoKwMAKi4BACouAQAqLgEAKiwBADgQCAAqLAEAKiwBACkrAQA+IQgAKSsBAD8GEgAqLgEAKi0CACgtAQA/BhIAPiMSACgtAQAALBIAPiMSAAAsEgApABoAKQAaACkAGgApABoAKS0BACktAQApLQEAKSsBACcsAQAnLAEALDIsACwwGgAsLxwAKy8cACsyNQArLxsAKy8DACouHAAoMDMAKS4TACwyEwAsMAEALC8DACwuCgA/CzMAKjATACsvAgApLhIALy0zACkuEgAsMBoALDAaACwwGgAsLhoAKzAJACsvAgArLwIAKy0CACkvCwAqLQMALDABACwwAQAsMAEALC4BADsQCAAsLgEALC4BACstAQA+JAgAKy0BAD8MEgAsMAAALC8CACovAQA/DBIAPiYSACovAQAALhIAPiYSAAAuEgArABoAKwAaACsAGgArABoAKy8BACsvAQArLwEAKy0BACkuAQApLgEALjQsAC4yGgAuMR8ALTAfAC00NQAtMRUALTAHAC0wHgAqMjMAKzAVAC40EwAuMgEALjEGAC4wBgA3IDMALDITAC0wBgAqMBUALjAzACowFQAuMhoALjIaAC4yGgAtMBsALTIJAC0wAwAtMAMALS8CACswCgAsLwMALjIBAC4yAQAuMgEALjACAD4QCAAtMAIALTACAC0vAQA+JwgALS8BAD8SEgAuMgAALzAEAC0wBQA/EhIAPikSAC0wBQAAMBQAPikSAAAwFAAtABoALQAaAC0AGgAtABoALTEBAC0xAQAtMQEALS8BACswAQArMAEAMDYsADA0GwAwMxwAMDIjAC83MwAvNBUALzMDAC8yFgAtNDQALTITADA2EwAwNAIAMDMDADAyCgA/FzMALzQVAC8zAwAtMhIAPyszAC0yEgAwNBoAMDQaADA0GgAwMhoALzUIAC8zAgAvMwIALzEBAC0zCAAuMQUAMDQBADA0AQAwNAEAMDIBAD8VCAAwMgEAMDIBAC8xAQA/KggALzEBAD8ZEgAwNAEAMDMCAC4zAQA/GRIAPywSAC4zAQAAMhIAPywSAAAyEgAwABoAMAAaADAAGgAwABoALzMBAC8zAQAvMwEALzEAAC0yAQAtMgEAMjgsADI2GwAyNRwAMTUcADE5NAAxNhYAMTUDADA0HAAvNjQALzQTADI4EwAyNgIAMjUDADI0CgA/HTMAMDYTADE1AgAvNBIAPy4zAC80EgAyNhoAMjYa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FwEADxcBAA8XAQAPEwEAGAEyAA0UAAANFAAACxEFADEAMgALEQUAFBFIAA8XAQAQFQQADRQEABQRSAA5AEgADRQEAAATSAA5AEgAABNIAA4ASgAOAEoADgBKAA4ASgAMFgEADBYBAAwWAQAMEQIACRICAAkSAgAQH5gAEBpRABAXbQAQFlgADiD0AA4ZTwAOFwcADhVtAAkZ9AALFUwAER1IABEZAQARFwgAERYNAB4A8wANGUsADxYEAAkVSQAuB/MACRVJABAbUAAQG1AAEBtQABAVUQAOGzUADhcDAA4XAwAOEwYAChc0AAsUBgARGQAAERkAABEZAAARFQAAGwEyAA8WAAAPFgAADRMFADcAMgANEwUAFxFIABEZAQASFwQADxYEABcRSAA/AEgADxYEAAAVSAA/AEgAABVIABAAUAAQAFAAEABQABAAUAAOGAEADhgBAA4YAQAOEwIACxQCAAsUAgASIZgAEhxRABIZbQARGFQAECHzABAbTgAQGQgAEBdsAAsb9AANF0wAEx9IABMbAQATGQgAExgNACAB8wAPG0sAERgFAAsXSQAuCvMACxdJABIdUAASHVAAEh1QABEYUAAQHTIAEBkEABAZBAAQFQUADBk0AA0WBgATGwAAExsAABMbAAATFwAAHgEyABEYAQARGAEADxUFAD0AMgAPFQUAIgFIABMbAQAUGQQAERgEACIBSAA/A0gAERgEAAAXSAA/A0gAABdIABEAUAARAFAAEQBQABEAUAAQGQAAEBkAABAZAAAQFQEADRYCAA0WAgAUI5gAFB5RABQbbQATGlQAEiPzABIdTgASGwgAEhlsAA0d9AAPGUwAFSFIABUdAQAVGwgAFRoNACMB8wARHUgAExoFAA0ZSQAuDfMADRlJABQfUAAUH1AAFB9QABMaUAASHzIAEhsEABIbBAASFwUADhs0AA8YBgAVHQAAFR0AABUdAAAVGQAAIQEyABMaAQATGgEAERcEAD8CMgARFwQAJQFIABUdAQAWGwQAExoEACUBSAA/BkgAExoEAAAZSAA/BkgAABlIABMAUAATAFAAEwBQABMAUAASGwAAEhsAABIbAAASFwEADxgCAA8YAgAWJpIAFiBOABYdbwAWHFQAFCb0ABQfSgAUHQQAFBtkAA4g9wARG0sAFyRJABcgAwAXHQsAFxwOACcA8wAUH0kAFB0DABAbSgA+CPMAEBtKABYhSgAWIUoAFiFKABYcSwAUITUAFB0DABQdAwAUGQoAEB0yABIaAgAXHwIAFx8CABcfAgAXGwIAHwwyABUcAQAVHAEAEhoBAD4GMgASGgEAKQBIABcgAgAYHQIAEx0CACkASAA+CkgAEx0CAAAbSgA+CkgAABtKABYASgAWAEoAFgBKABYASgAUHgEAFB4BABQeAQAUGQEAEhoBABIaAQAYKJIAGCJOABgfbwAYHlQAFij0ABYhTwAWHwQAFh1kABEh9AATHUsAGSZJABkhAgAZHwsAGR4OACoA8wAVIUsAFh8DABIdSgA+C/MAEh1KABgjSgAYI0oAGCNKABgeSwAWIzUAFh8DABYfAwAWGwoAEh8yABQcAgAZIQEAGSEBABkhAQAZHQIAHxIyABceAQAXHgEAFBwBAD4JMgAUHAEALABIABkhAQAaHwIAFR8CACwASAA+DUgAFR8CAAAdSgA+DUgAAB1KABgASgAYAEoAGABKABgASgAWIAEAFiABABYgAQAWGwEAFBwBABQcAQAaKpIAGiROABohcgAaIE8AGCr0ABgjTwAYIQcAGB9kABMj9AAVH0sAGyhJABsjAgAcIQ0AGyAOAC0A8wAXI0sAGSAEABQfSgA+DvMAFB9KABolSgAaJUoAGiVKABogSwAYJTUAGCEDABghAwAYHQoAFCE0ABYeAgAbIwEAGyMBABsjAQAbHwIAIhEyABkgAAAZIAAAFh4BAD4MMgAWHgEALwBIABsjAQAcIQQAGSAEAC8ASAAuGEgAGSAEAAAfSgAuGEgAAB9KABoASgAaAEoAGgBKABoASgAYIgEAGCIBABgiAQAYHQEAFh4BABYeAQAcLJIAHCZOABwjcgAcIk8AGiz0ABolTwAaIwcAGiFtABUl9AAXIUwAHSpJAB0lAgAeIw0AHSIOAC8C8wAZJUsAGyIEABUhSQA+EfMAFSFJABwnSgAcJ0oAHCdKABwhSwAaJzUAGiMDABojAwAaHwoAFiM0ABcgBgAdJQEAHSUBAB0lAQAdIQEAJREyABsiAAAbIgAAFyAFAD4PMgAXIAUAMQFIAB0lAQAeIwQAGyIEADEBSAAuG0gAGyIEAAAhSAAuG0gAACFIABwASgAcAEoAHABKABwASgAaJAEAGiQBABokAQAaHwEAFyACABcgAgAe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NAQALjQEAC40BAAuMQQAPhAyACsyAgArMgIAKDABAD4nMgAoMAEAOiBIAC02AAAuMwIAKjMBADogSAA0MEgAKjMBAAAxSgA0MEgAADFKACwASAAsAEgALABIACwASAArMgUAKzIFACsyBQArLwQAKDABACgwAQAuP5IALjlPAC81cwAuNU4ALT31AC03TQAtNQIALDNpACc48wAqM1IAMDtMADA3CQAwNQgALzUSADsh8wAsN0oALTUBACkzUAA3MPMAKTNQAC47SgAuO0oALjtKAC40SwAtOTMALTUCAC01AgAsMgoAKTUzACoyAQAwNgQAMDYEADA2BAAwMwQAPxUyAC01AQAtNQEAKzIAAD8qMgArMgAAPx1IAC84AgAxNQEALDUBAD8dSAA/LkgALDUBAAAzUAA/LkgAADNQAC4ASgAuAEoALgBKAC4ASgAtNQEALTUBAC01AQAtMQEAKjIBACoyAQAwP5gAMDtNADE3eAAwN0wALz/1AC85TQAvNwIALjVpACk68wAsNVIAMj1MADE6BAAyNwgAMTcUAD4h8wAuOUoALzcBACs1UAA9MPMAKzVQADA8SAAwPEgAMDxIADA2SAAvOzMALzcCAC83AgAuNAoAKzczACw0AQAyOAQAMjgEADI4BAAyNQQAPxsyAC83AQAvNwEALTQAAD8tMgAtNAAAPyNIADE6AAAzNwEALjcBAD8jSAA/MUgALjcBAAA1UAA/MUgAADVQADAASAAwAEgAMABIADAASAAvNwEALzcBAC83AQAvMwEALDQBACw0AQAzP7gAMj1NADM5eAAyOUwAMT8MATA7TgAxOQUAMDdkACs88wAuN1IAND9MADM8BAA0OQgAMzkUAD8l8wAwO0oAMTkBAC03UAA/MvMALTdQADI+SAAyPkgAMj5IADI4SAAxPDgAMTkFADE5BQAwNggALTkzAC42AQA0OgQANDoEADQ6BAA0NwQAPyEyADE5AQAxOQEALzYAAC84MgAvNgAAPylIADM8AAA1OQEAMDkAAD8pSAA/NEgAMDkAAAA3UAA/NEgAADdQADIASAAyAEgAMgBIADIASAAxOQQAMTkEADE5BAAxNQQALjYBAC42AQA1P+IAND9NADU7eAA0O0wAND8sATI9TgAzOwUAMjlkAC0+8wAvOVQANj9UADU+BAA2OwgANTsUAD8r8wAx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GBkZGRkZGRkZGhoaGhoaGhobGxsbGxsbGxwcHBwcHBwcHB0dHR0dHR0dHh4eHh4eHh4fHx8fHx8fHwABAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAkJCQkJCQkJCQkJCQkJCQkKCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8AQZKQDQveAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgcHBwcHBwcHBwcHBwcHBwcHCABBkZINC6YJAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgAAAEAAwAEAAYABwAJAAoADAANAA8AEAASABQAFQAXABgAGgAbAB0AHgAgACEAIwAkACYAJwApACoALAAtAC8AMAAyADQANQA3ADgAOgA7AD0APgBAAEEAQgBEAEUARwBIAEoASwBNAE4AUABSAFMAVQBWAFgAWQBbAFwAXgBfAGEAYgBkAGUAZwBoAGoAawBtAG4AcAByAHMAdQB2AHgAeQB7AHwAfgB/AH8BfgJ+A38DfwR+BX4GfwZ/B34Ifgl/CX8Kfgt+DH8Mfw1+Dn0Pfw9+EH4RfxF/En4TfhR/FH8VfhZ+F38Xfxh+GX4afxp/G34cfh1/HX8efh9+IH8gfyF+In4jfyN/JH4lfiZ/Jn8nfih+KX8pfyp+K34sfyx/LX4ufS9/L34wfjF/MX8yfjN+NH80fzV+Nn43fzd/OH45fjp/On87fjx+PX89fz5+P31AfkB+QX9Bf0J+Q35Ef0R/RX5Gfkd/R39Ifkl+Sn9Kf0t+TH1Nf01+Tn5Pf09/UH5RflJ/Un9TflR+VX9Vf1Z+V35Yf1h/WX5aflt/W39cfl1+Xn9ef19+YH5hf2F/Yn5jfmR/ZH9lfmZ+Z39nf2h+aX5qf2p/a35sfW1/bX5ufm9/b39wfnF+cn9yf3N+dH51f3V/dn53fnh/eH95fnp+e397f3x+fX5+f35/fwAHEgAABQIAAAQBAAADCAAABCMAAAMYAAADDAAAAh0AAAIkAAACHgAABxIAAAUCAAAEAQAAAwgAAgAjAAADGAAAAwwAAAIdAAQAIwAAAh0AAAMAAAADAAAAAwAAAAEBAAABAgAAAQIAAAECAAABAQABAAMAAAECAAADAAAAAwAAAAMAAAABAQABAAIAAQACAAEAAgAAAQEAAQACAAABAQAEABIAAAUCAAAEAQAAAwgABAASAAcAEgAAAwgAAAIUAAcAEgAAAhQAQeCbDQvXOwIPJgACCxQAAggYAAEIFQAAEDMAAAoTAAAIAgAABhgAAAhMAAAGKAADDRIAAwoCAAMIAQADBwUACAAzAAEJEwAACAIAAAYYABAAMwAABhgAAgsUAAILFAACCxQAAQcUAAAMCAAABwIAAAcCAAAFAQAABRMAAAUKAAMJAAADCQAAAwkAAAMGAAAGAAgAAQcAAAEHAAAABQEADAAIAAAFAQAKABIAAgsAAAMIAQAACAEACgASABQAEgAACAEAAAYUABQAEgAABhQAAQAUAAEAFAABABQAAQAUAAAJAAAACQAAAAkAAAAEAQAAAwgAAAMIAAYTJgAGDxQABgwYAAUMFQAEFDMABA4TAAQMAgAEChgAAA40AAEKFAAHERIABw4CAAcMAQAHCwUADgAzAAUNEwAEDAIAAQoUAB0AMwABChQABg8UAAYPFAAGDxQABQsUAAQQCAAECwIABAsCAAQJAQAADAgAAQkCAAcNAAAHDQAABw0AAAcKAAAMAAgABQsAAAULAAADCQAAGAAIAAMJAAAPARIABg8AAAcMAQADDAAADwESACAAEgADDAAAAAoUACAAEgAAChQABQAUAAUAFAAFABQABQAUAAQNAAAEDQAABA0AAAQIAQABCgAAAQoAAAoXJgAKExQAChAYAAkQFQAIGDMACBITAAgQAgAIDhgAAxI0AAUOFAALFRIACxICAAsQAQALDwUAFAAzAAkREwAIEAIABQ4UACkAMwAFDhQAChMUAAoTFAAKExQACQ8UAAgUCAAIDwIACA8CAAgNAQAEEAgABQ0CAAsRAAALEQAACxEAAAsOAAASAAgACQ8AAAkPAAAHDQAAJAAIAAcNAAAVARIAChMAAAsQAQAHEAAAFQESACwAEgAHEAAAAA4UACwAEgAADhQACQAUAAkAFAAJABQACQAUAAgRAAAIEQAACBEAAAgMAQAFDgAABQ4AAA4dJAAOGBIADhUXAA4UFAANHDQADRYUAA0UAgAMExcABxczAAkTEgAQGRMADxcBABAUAgAPFAYAGwAzAA0WEwANFAEACBMSADcAMwAIExIADhgSAA4YEgAOGBIADhMSAA0XCQANFAEADRQBAAwRAgAJFAgAChIBABAUAQAQFAEAEBQBABASAQAYAQgADhMAAA4TAAAMEQEAMgAIAAwRAQAcABIADxcAABAUAQAMFAEAHAASADoAEgAMFAEAABMSADoAEgAAExIADgASAA4AEgAOABIADgASAA0UAQANFAEADRQBAAwRAQAKEgAAChIAABIhJAASHBIAEhkXABIYFAARIDQAERoUABEYAgAQFxcACxszAA0XEgAUHRMAExsBABQYAgATGAYAIQAzABEaEwARGAEADBcSAEIAMwAMFxIAEhwSABIcEgASHBIAEhcSABEbCQARGAEAERgBABAVAgANGAgADhYBABQYAQAUGAEAFBgBABQWAQAeAQgAEhcAABIXAAAQFQEAPgAIABAVAQAiABIAExsAABQYAQAQGAEAIgASAEUAEgAQGAEAABcSAEUAEgAAFxIAEgASABIAEgASABIAEgASABEYAQARGAEAERgBABAVAQAOFgAADhYAABYlJAAWIBIAFh0XABYcFAAVJDQAFR4UABUcAgAUGxcADx8zABEbEgAYIRMAFx8BABgcAgAXHAYAJwAzABUeEwAVHAEAEBsSAE4AMwAQGxIAFiASABYgEgAWIBIAFhsSABUfCQAVHAEAFRwBABQZAgARHAgAEhoBABgcAQAYHAEAGBwBABgaAQAkAQgAFhsAABYbAAAUGQEASgAIABQZAQAoABIAFx8AABgcAQAUHAEAKAASAFIAEgAUHAEAABsSAFIAEgAAGxIAFgASABYAEgAWABIAFgASABUcAQAVHAEAFRwBABQZAQASGgAAEhoAABopJAAaJBIAGiEXABogFAAZKDQAGSIUABkgAgAYHxcAEyMzABUfEgAcJRMAGyMBABwgAgAbIAYALQAzABkiEwAZIAEAFB8SAFsAMwAUHxIAGiQSABokEgAaJBIAGh8SABkjCQAZIAEAGSABABgdAgAVIAgAFh4BABwgAQAcIAEAHCABABweAQAqAQgAGh8AABofAAAYHQEAVgAIABgdAQAuABIAGyMAABwgAQAYIAEALgASAF4AEgAYIAEAAB8SAF4AEgAAHxIAGgASABoAEgAaABIAGgASABkgAQAZIAEAGSABABgdAQAWHgAAFh4AAB8sJgAfKBQAHyUYAB4lFQAdLTMAHScTAB0lAgAdIxgAGCc0ABojFAAgKhIAICcCACAlAQAgJAUAMwAzAB4mEwAdJQIAGiMUAGgAMwAaIxQAHygUAB8oFAAfKBQAHiQUAB0pCAAdJAIAHSQCAB0iAQAZJQgAGiICACAmAAAgJgAAICYAACAjAAAxAAgAHiQAAB4kAAAcIgAAZAAIABwiAAA1ABIAHygAACAlAQAcJQAANQASAGsAEgAcJQAAACMUAGsAEgAAIxQAHgAUAB4AFAAeABQAHgAUAB0mAAAdJgAAHSYAAB0hAQAaIwAAGiMAACMwJgAjLBQAIykYACIpFQAhMTMAISsTACEpAgAhJxgAHCs0AB4nFAAkLhIAJCsCACQpAQAkKAUAOQAzACIqEwAhKQIAHicUAHUAMwAeJxQAIywUACMsFAAjLBQAIigUACEtCAAhKAIAISgCACEmAQAdKQgAHiYCACQqAAAkKgAAJCoAACQnAAA3AAgAIigAACIoAAAgJgAAcAAIACAmAAA7ABIAIywAACQpAQAgKQAAOwASAHgAEgAgKQAAACcUAHgAEgAAJxQAIgAUACIAFAAiABQAIgAUACEqAAAhKgAAISoAACElAQAeJwAAHicAACc0JgAnMBQAJy0YACYtFQAlNTMAJS8TACUtAgAlKxgAIC80ACIrFAAoMhIAKC8CACgtAQAoLAUAPwAzACYuEwAlLQIAIisUAH8BMwAiKxQAJzAUACcwFAAnMBQAJiwUACUxCAAlLAIAJSwCACUqAQAhLQgAIioCACguAAAoLgAAKC4AACgrAAA9AAgAJiwAACYsAAAkKgAAfAAIACQqAABAABIAJzAAACgtAQAkLQAAQAASAH4DEgAkLQAAACsUAH4DEgAAKxQAJgAUACYAFAAmABQAJgAUACUuAAAlLgAAJS4AACUpAQAiKwAAIisAACs4JgArNBQAKzEYACoxFQApOTMAKTMTACkxAgApLxgAJDM0ACYvFAAsNhIALDMCACwxAQAsMAUARQAzACoyEwApMQIAJi8UAH8HMwAmLxQAKzQUACs0FAArNBQAKjAUACk1CAApMAIAKTACACkuAQAlMQgAJi4CACwyAAAsMgAALDIAACwvAABCAQgAKjAAACowAAAoLgAAfgUIACguAABGABIAKzQAACwxAQAoMQAARgASAH4JEgAoMQAAAC8UAH4JEgAALxQAKgAUACoAFAAqABQAKgAUACkyAAApMgAAKTIAACktAQAmLwAAJi8AAC8+JAAvORIALzYXAC81FAAuPTQALjcUAC41AgAtNBcAKDgzACo0EgAxOhMAMDgBADE1AgAwNQYASwEzAC43EwAuNQEAKTQSAH4OMwApNBIALzkSAC85EgAvORIALzQSAC44CQAuNQEALjUBAC0y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AQBHTwAAR08AAFBdJgBQWRQAUFYYAE9WFQBOXjMATlgTAE5WAgBOVBgASVg0AEtUFABRWxIAUVgCAFFWAQBRVQUAfAEzAE9XEwBOVgIAS1QUAH4/MwBLVBQAUFkUAFBZFABQWRQAT1UUAE5aCABOVQIATlUCAE5TAQBKVggAS1MCAFFXAABRVwAAUVcAAFFUAAB6AAgAT1UAAE9VAABNUwAAfj0IAE1TAAB+ABIAUFkAAFFWAQBNVgAAfgASAH5AEgBNVgAAAFQUAH5AEgAAVBQATwAUAE8AFABPABQATwAUAE5XAABOVwAATlcAAE5SAQBLVAAAS1QAAFRhJgBUXRQAVFoYAFNaFQBSYjMAUlwTAFJaAgBSWBgATVw0AE9YFABVXxIAVVwCAFVaAQBVWQUAfwczAFNbEwBSWgIAT1gUAH9EMwBPWBQAVF0UAFRdFABUXRQAU1kUAFJeCABSWQIAUlkCAFJXAQBOWggAT1cCAFVbAABVWwAAVVsAAFVYAAB/AggAU1kAAFNZAABRVwAAf0IIAFFXAAB/ChIAVF0AAFVaAQBRWgAAfwoSAH5GEgBRWgAAAFgUAH5GEgAAWBQAUwAUAFMAFABTABQAUwAUAFJbAABSWwAAUlsAAFJWAQBPWAAAT1gAAFhlJgBYYRQAWF4YAFdeFQBWZjMAVmATAFZeAgBWXBgAUWA0AFNcFABZYxIAWWACAFleAQBZXQUAfxMzAFdfEwBWXgIAU1wUAH9KMwBTXBQAWGEUAFhhFABYYRQAV10UAFZiCABWXQIAVl0CAFZbAQBSXggAU1sCAFlfAABZXwAAWV8AAFlcAAB/DggAV10AAFddAABVWwAAf0gIAFVbAAB/FhIAWGEAAFleAQBVXgAAfxYSAH5MEgBVXgAAAFwUAH5MEgAAXBQAVwAUAFcAFABXABQAVwAUAFZfAABWXwAAVl8AAFZaAQBTXAAAU1wAAFxpJgBcZRQAXGIYAFtiFQBaajMAWmQTAFpiAgBaYBgAVWQ0AFdgFABdZxIAXWQCAF1iAQBdYQUAfx8zAFtjEwBaYgIAV2AUAH9QMwBXYBQAXGUUAFxlFABcZRQAW2EUAFpmCABaYQIAWmECAFpfAQBWYggAV18CAF1jAABdYwAAXWMAAF1gAAB/GwgAW2EAAFthAABZXwAAfk4IAFlfAAB/IhIAXGUAAF1iAQBZYgAAfyISAH5SEgBZYgAAAGAUAH5SEgAAYBQAWwAUAFsAFABbABQAWwAUAFpjAABaYwAAWmMAAFpeAQBXYAAAV2AAAGBvJABgahIAYGcXAGBmFABfbjQAX2gUAF9mAgBeZRcAWWkzAFtlEgBiaxMAYWkBAGJmAgBhZgYAfy0zAF9oEwBfZgEAWmUSAH5XMwBaZRIAYGoSAGBqEgBgahIAYGUSAF9pCQBfZgEAX2YBAF5jAgBbZggAXGQBAGJmAQBiZgEAYmYBAGJkAQB/KAgAYGUAAGBlAABeYwEAflUIAF5jAQB/MBIAYWkAAGJmAQBeZgEAfzASAH9YEgBeZgEAAGUSAH9YEgAAZRIAYAASAGAAEgBgABIAYAASAF9mAQBfZgEAX2YBAF5jAQBcZAAAXGQAAGRzJABkbhIAZGsXAGRqFABjcjQAY2wUAGNqAgBiaRcAXW0zAF9pEgBmbxMAZW0BAGZqAgBlagYAfzkzAGNsEwBjagEAXmkSAH5dMwBeaRIAZG4SAGRuEgBkbhIAZGkSAGNtCQBjagEAY2oBAGJnAgBfaggAYGgBAGZqAQBmagEAZmoBAGZoAQB/NQgAZGkAAGRpAABiZwEAflsIAGJnAQB/PBIAZW0AAGZqAQBiagEAfzwSAH9eEgBiagEAAGkSAH9eEgAAaRIAZAASAGQAEgBkABIAZAASAGNqAQBjagEAY2oBAGJnAQBgaAAAYGgAAGh3JABochIAaG8XAGhuFABndjQAZ3AUAGduAgBmbRcAYXEzAGNtEgBqcxMAaXEBAGpuAgBpbgYAf0UzAGdwEwBnbgEAYm0SAH5jMwBibRIAaHISAGhyEgBochIAaG0SAGdxCQBnbgEAZ24BAGZrAgBjbggAZGwBAGpuAQBqbgEAam4BAGpsAQB/QAgAaG0AAGhtAABmawEAfmEIAGZrAQB/SBIAaXEAAGpuAQBmbgEAf0gSAH9kEgBmbgEAAG0SAH9kEgAAbRIAaAASAGgAEgBoABIAaAASAGduAQBnbgEAZ24BAGZrAQBkbAAAZGwAAGx7JABsdhIAbHMXAGxyFABrejQAa3QUAGtyAgBqcRcAZXUzAGdxEgBudxMAbXUBAG5yAgBtcgYAf1EzAGt0EwBrcgEAZnESAH5pMwBmcRIAbHYSAGx2EgBsdhIAbHESAGt1CQBrcgEAa3IBAGpvAgBncggAaHABAG5yAQBucgEAbnIBAG5wAQB/TAgAbHEAAGxxAABqbwEAfmcIAGpvAQB/VBIAbXUAAG5yAQBqcgEAf1QSAH9qEgBqcgEAAHESAH9qEgAAcRIAbAASAGwAEgBsABIAbAASAGtyAQBrcgEAa3IBAGpvAQBocAAAaHAAAHF+JgBxehQAcXcYAHB3FQBvfzMAb3kTAG93AgBvdRgAank0AGx1FAByfBIAcnkCAHJ3AQBydgUAf18zAHB4EwBvdwIAbHUUAH9vMwBsdRQAcXoUAHF6FABxehQAcHYUAG97CABvdgIAb3YCAG90AQBrdwgAbHQCAHJ4AAByeAAAcngAAHJ1AAB/WggAcHYAAHB2AABudAAAf20IAG50AAB/YhIAcXoAAHJ3AQBudwAAf2ISAH5xEgBudwAAAHUUAH5xEgAAdRQAcAAUAHAAFABwABQAcAAUAG94AABveAAAb3gAAG9zAQBsdQAAbHUAAHV/LgB1fhQAdXsYAHR7FQB0fj8Ac30TAHN7AgBzeRgAbn00AHB5FAB2fxQAdn0CAHZ7AQB2egUAf2szAHR8EwBzewIAcHkUAH91MwBweRQAdX4UAHV+FAB1fhQAdHoUAHN/CABzegIAc3oCAHN4AQBvewgAcHgCAHZ8AAB2fAAAdnwAAHZ5AAB/ZggAdHoAAHR6AAByeAAAf3MIAHJ4AAB/bhIAdX4AAHZ7AQByewAAf24SAH53EgByewAAAHkUAH53EgAAeRQAdAAUAHQAFAB0ABQAdAAUAHN8AABzfAAAc3wAAHN3AQBweQAAcHkAAHp+VgB5fygAeX8YAHh/FQB5f1gAd38bAHd/AgB3fRgAdH88AHR9FAB7fx4Aen8KAHp/AQB6fgUAf3czAHl/GAB3fwIAdH0UAH97MwB0fRQAeX8YAHl/GAB5fxgAeH4UAHh/DgB3fgIAd34CAHd8AQBzfwgAdHwCAHp+AQB6fgEAen4BAHp9AAB/cwgAeH4AAHh+AAB2fAAAf3kIAHZ8AAB/ehIAfH8IAHp/AQB2fwAAf3oSAH59EgB2fwAAAH0UAH59EgAAfRQAeAAUAHgAFAB4ABQAeAAUAHd+AQB3fgEAd34BAHd7AQB0fQAAdH0AAH1+JgB9fx4AfX8dAH1/FQB9fiMAfH8QAHx/DAB7fwEAen8UAHp/AgB+fwIAfn8CAH5/AQB+fwEAf30DAH9+AwB9fwIAfH8AAH9+AwB8fwAAfX4dAH1+HQB9fh0AfX8VAHx/GAB8fwwAfH8MAHt/AQB6fwsAen8CAH5/AQB+fwEAfn8BAH5/AQB/fQIAf34CAH9+AgB8fwAAf34CAHx/AAB/fwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAAH8AAH9/AAAAfwAAfAAUAHwAFAB8ABQAfAAUAHx/CAB8fwgAfH8IAHt/AQB6fwIAen8CAAAQSAAACwgAAAgBAAAHGQAACpkAAAhhAAAGMgAABHMAAAWiAAAEfAAAEEgAAAsIAAAIAQAABxkABQCZAAAIYQAABjIAAARzAAoAmQAABHMAAAcAAAAHAAAABwAAAAQAAAADDQAAAgUAAAIFAAABCgAAAg4AAAELAAAHAAAABwAAAAcAAAAEAAACAA0AAAIFAAACBQAAAQoAAwANAAABCgAIAEgAAAsIAAAIAQAABxkACABIABAASAAABxkAAAVKABAASAAABUoAQeDXDQvXOwEbTQABEgUAAQ0PAAELEgAAFfMAAA5sAAALHQAACJoAAAkfAQAIswACGUkAARIBAAIMBgABCw4ACgHzAAAObAAACx0AAAiaABUA8wAACJoAAREFAAERBQABEQUAAQkFAAAMMgAACAgAAAgIAAAFGQAABT0AAAUiAAIPAQACDwEAAg8BAAEJAQAGADIAAAgIAAAICAAABRkADAAyAAAFGQAOAEgAARIAAAQMAQAADAoADgBIAB0ASAAADAoAAAlKAB0ASAAACUoAAQAFAAEABQABAAUAAQAFAAAEAAAABAAAAAQAAAACAAAAAgEAAAIBAAMjhQADGD8ABBFaAAMQQgAAIfMAABNLAAAQAgAADW4AAA5ZAQAMswAGHUkABRYBAAYQBgAFDw4AEADzAAATSwAAEAIAAA1uACEA8wAADW4AAxo9AAMaPQADGj0AAw49AAAYMgAAEAEAABABAAAKBQAAC2UAAAkuAAYTAQAGEwEABhMBAAUNAQAMADIAAQ8AAAEPAAAACgUAGAAyAAAKBQAUAEgABRYAAAgQAQAAEAIAFABIACkASAAAEAIAAA1KACkASAAADUoAAwA9AAMAPQADAD0AAwA9AAAQAAAAEAAAABAAAAAIAAAABRkAAAUZAAcnkgAHHEwACBVrAAYUTwAEJfQABBdMAAQUAwADEGsAABYkAQARagAKIUkACRoBAAoUBgAJEw4AFgDzAAIZSAAEFAIAABFaAC0A8wAAEVoABx5KAAceSgAHHkoABxJKAAQcMwAEFAIABBQCAAMOBgAAEUQAAA4FAAoXAQAKFwEAChcBAAkRAQASADIABRMAAAUTAAAADgEAJAAyAAAOAQAaAEgACRoAAAwUAQADFAEAGgBIADUASAADFAEAABFKADUASAAAEUoABgBKAAYASgAGAEoABgBKAAQUAQAEFAEABBQBAAQMAQAADgQAAA4EAAsskAALIEwADBlpAAsYTQAIK/MACBxLAAgZAgAIFWkAABz4AAEWTAAOJkgADh4BAA8ZBQAOGA0AHQDzAAcdSAAIGQIAABZMADsA8wAAFkwACyNIAAsjSAALI0gACxdIAAgiMgAIGAEACBgBAAgSBQABGDMAAxMBAA4dAAAOHQAADh0AAA4VAQAYATIACRgAAAkYAAADEwAAMgAyAAMTAAAhAEgADR8AABAZAAAGGQAAIQBIAEIASAAGGQAAABZIAEIASAAAFkgACwBIAAsASAALAEgACwBIAAgaAAAIGgAACBoAAAgRAAACFAAAAhQAAA8wkAAPJEwAEB1pAA8cTQAML/MADCBLAAwdAgAMGWkAAiH0AAUaTAASKkgAEiIBABMdBQASHA0AIwDzAAshSAAMHQIAARpIAEcA8wABGkgADydIAA8nSAAPJ0gADxtIAAwmMgAMHAEADBwBAAwWBQAFHDMABxcBABIhAAASIQAAEiEAABIZAQAeATIADRwAAA0cAAAHFwAAPgAyAAcXAAAnAEgAESMAABQdAAAKHQAAJwBIAE4ASAAKHQAAABpIAE4ASAAAGkgADwBIAA8ASAAPAEgADwBIAAweAAAMHgAADB4AAAwVAAAGGAAABhgAABM0kAATKEwAFCFpABMgTQAQM/MAECRLABAhAgAQHWkABiX0AAkeTAAWLkgAFiYBABchBQAWIA0AKQDzAA8lSAAQIQIABR5IAFMA8wAFHkgAEytIABMrSAATK0gAEx9IABAqMgAQIAEAECABABAaBQAJIDMACxsBABYlAAAWJQAAFiUAABYdAQAkATIAESAAABEgAAALGwAASgAyAAsbAAAtAEgAFScAABghAAAOIQAALQBIAFsASAAOIQAAAB5IAFsASAAAHkgAEwBI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AEFSAgBBTmkAN1fzADlPTQBHX0gAR1cBAEhSBQBHUQ0AcgDzAEBWSABBUgIAN09IAH808wA3T0gARFxIAERcSABEXEgARFBIAEFbMgBBUQEAQVEBAEFLBQA6UTIAPEwBAEdWAABHVgAAR1YAAEdOAQBuADIAQlEAAEJRAAA9TAAAfjAyAD1MAAB2AEgARlgAAElSAABAUgAAdgBIAH84SABAUgAAAE9IAH84SAAAT0gARABIAEQASABEAEgARABIAEFTAABBUwAAQVMAAEFKAAA8TAEAPEwBAEhpkABIXUwASVZpAEhVTQBFaPMARVlLAEVWAgBFUmkAO1vzAD1TTQBLY0gAS1sBAExWBQBLVQ0AeADzAERaSABFVgIAO1NIAH868wA7U0gASGBIAEhgSABIYEgASFRIAEVfMgBFVQEARVUBAEVPBQA+VTIAQFABAEtaAABLWgAAS1oAAEtSAQBzATIARlUAAEZVAABAUAAAfjYyAEBQAAB8AEgASlwAAE1WAABDVgAAfABIAH8+SABDVgAAAFNIAH8+SAAAU0gASABIAEgASABIAEgASABIAEVXAABFVwAARVcAAEVOAABAUAEAQFABAE1tkgBNYkwATltrAExaTwBKa/QASl1MAEpaAwBJVmsAP2DzAEJXTABQZ0kAT2ABAFBaBgBPWQ4AfwDzAEhfSABKWgIAQFdKAH5B8wBAV0oATWRKAE1kSgBNZEoATVhKAEpiMwBKWgIASloCAElUBgBDWTMARFUBAFBdAQBQXQEAUF0BAE9XAQB6ADIAS1kAAEtZAABGVAEAfj0yAEZUAQB/B0gAT2AAAFJaAQBJWgEAfwdIAH9ESABJWgEAAFdKAH9ESAAAV0oATABKAEwASgBMAEoATABKAEpaAQBKWgEASloBAEpSAQBEVQAARFUAAFFxkgBRZkwAUl9rAFBeTwBOb/QATmFMAE5eAwBNWmsAQ2P0AEZbTABUa0kAU2QBAFReBgBTXQ4AfwvzAExjSABOXgIARFtKAH5H8wBEW0oAUWhKAFFoSgBRaEoAUVxKAE5mMwBOXgIATl4CAE1YBgBHXTMASFkBAFRhAQBUYQEAVGEBAFNbAQB/AjIAT10AAE9dAABKWAEAf0IyAEpYAQB/E0gAU2QAAFZeAQBNXgEAfxNIAH9KSABNXgEAAFtKAH9KSAAAW0oAUABKAFAASgBQAEoAUABKAE5eAQBOXgEATl4BAE5WAQBIWQAASFkAAFV1kgBVakwAVmNrAFRiTwBSc/QAUmVMAFJiAwBRXmsAR2f0AEpfTABYb0kAV2gBAFhiBgBXYQ4AfxjzAFBnSABSYgIASF9KAH1N8wBIX0oAVWxKAFVsSgBVbEoAVWBKAFJqMwBSYgIAUmICAFFcBgBLYTMATF0BAFhlAQBYZQEAWGUBAFdfAQB/DjIAU2EAAFNhAABOXAEAf0gyAE5cAQB/H0gAV2gAAFpiAQBRYgEAfx9IAH9QSABRYgEAAF9KAH9QSAAAX0oAVABKAFQASgBUAEoAVABKAFJiAQBSYgEAUmIBAFJaAQBMXQAATF0AAFl5kgBZbkwAWmdrAFhmTwBWd/QAVmlMAFZmAwBVYmsAS2v0AE5jTABcc0kAW2wBAFxmBgBbZQ4AfyTzAFRrSABWZgIATGNKAH9S8wBMY0oAWXBKAFlwSgBZcEoAWWRKAFZuMwBWZgIAVmYCAFVgBgBPZTMAUGEBAFxpAQBcaQEAXGkBAFtjAQB/GzIAV2UAAFdlAABSYAEAfk4yAFJgAQB/K0gAW2wAAF5mAQBVZgEAfytIAH9WSABVZgEAAGNKAH9WSAAAY0oAWABKAFgASgBYAEoAWABKAFZmAQBWZgEAVmYBAFZeAQBQYQAAUGEAAF1+kABdckwAXmtpAF1qTQBaffMAWm5LAFprAgBaZ2kAUG/0AFNoTABgeEgAYHABAGFrBQBgag0AfzLzAFlvSABaawIAT2hIAH9Z8wBPaEgAXXVIAF11SABddUgAXWlIAFp0MgBaagEAWmoBAFpkBQBTajMAVWUBAGBvAABgbwAAYG8AAGBnAQB/KDIAW2oAAFtqAABVZQAAflUyAFVlAAB/OUgAX3EAAGJrAABYawAAfzlIAH5dSABYawAAAGhIAH5dSAAAaEgAXQBIAF0ASABdAEgAXQBIAFpsAABabAAAWmwAAFpjAABUZgAAVGYAAGF/mABhdkwAYm9pAGFuTQBef/QAXnJLAF5vAgBea2kAVHP0AFdsTABkfEgAZHQBAGVvBQBkbg0Afz7zAF1zSABebwIAU2xIAH9f8wBTbEgAYXlIAGF5SABheUgAYW1IAF54MgBebgEAXm4BAF5oBQBXbjMAWWkBAGRzAABkcwAAZHMAAGRrAQB/NTIAX24AAF9uAABZaQAAflsyAFlpAAB/RUgAY3UAAGZvAABcbwAAf0VIAH5jSABcbwAAAGxIAH5jSAAAbEgAYQBIAGEASABhAEgAYQBIAF5wAABecAAAXnAAAF5nAABYagAAWGoAAGZ+uABlekwAZnNpAGVyTQBkfwQBYnZLAGJzAgBib2kAWHf0AFtwTABof0oAaHgBAGlzBQBocg0Af0nzAGF3SABicwIAV3BIAH9l8wBXcEgAZX1IAGV9SABlfUgAZXFIAGJ8MgBicgEAYnIBAGJsBQBbcjMAXW0BAGh3AABodwAAaHcAAGhvAQB/QDIAY3IAAGNyAABdbQAAfmEyAF1tAAB/UUgAZ3kAAGpzAABgcwAAf1FIAH5pSABgcwAAAHBIAH5pSAAAcEgAZQBIAGUASABlAEgAZQBIAGJ0AABidAAAYnQAAGJrAABcbgAAXG4AAGp/4ABpfkwAandpAGl2TQBofysBZnpLAGZ3AgBmc2kAXHv0AF90TABtf1QAbHwBAG13BQBsdg0Af1bzAGV7SABmdwIAW3RIAH9r8wBbdEgAaX5MAGl+TABpfkwAaXVIAGZ+NABmdgEAZnYBAGZwBQBfdjMAYXEBAGx7AABsewAAbHsAAGxzAQB/TDIAZ3YAAGd2AABhcQAAfmcyAGFxAAB/XUgAa30AAG53AABkdwAAf11IAH5vSABkdwAAAHRIAH5vSAAAdEgAaQBIAGkASABpAEgAaQBIAGZ4AABmeAAAZngAAGZvAABgcgAAYHIAAG9/IgFvf2cAb3xrAG17TwBvf1kBa35MAGt7AwBqd2sAYn/4AGN4TAByf3EAcX8FAHF7BgBweg4Af2PzAGt+SwBrewIAYXhKAH5y8wBheEoAbn5aAG5+WgBufloAbnlKAGx+QwBrewIAa3sCAGp1BgBkejMAZXYBAHF+AQBxfgEAcX4BAHB4AQB/WjIAbHoAAGx6AABndQEAf20yAGd1AQB/a0gAcX8EAHN7AQBqewEAf2tIAH91SABqewEAAHhKAH91SAAAeEoAbQBKAG0ASgBtAEoAbQBKAGt7AQBrewEAa3sBAGtzAQBldgAAZXYAAHV/VwFzf7MAcn9uAHF+TgBzf4MBb39mAG9/AgBue1oAaX8HAWd8PwB4f4YAdn8uAHV/BQB0fgkAf27dAHF/WQBvfwEAZXw9AH533QBlfD0Acn9u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ATV0UgE1XQUANV0FADVOKQAiXVMBJ1ACAENqAABDagAAQ2oAAENWAABuAFIBOFsBADhbAQApUAAAfjBSASlQAAB/BaUBQ2sBAEleAQA0XgEAfwWlAX5EpQE0XgEAAFelAX5EpQEAV6UBPAClATwApQE8AKUBPAClATVgAAA1YAAANWAAADVKAAAnUQAAJ1EAAER/SgRAdcIBQWWOAkBhvgE9f1oGOGyyATliBgA3WYYCHm/rBSdaxQFIf7UBR28BAEhjKQBFYE0AfgDqBTRvpQE6YgIAHlulAX5A6gUeW6UBQH2lAUB9pQFAfaUBQF6lATl4UgE5YQUAOWEFADlSKQAmYVMBK1QCAEduAABHbgAAR24AAEdaAABzAVIBPF8BADxfAQAtVAAAfjZSAS1UAAB/EqUBR28BAE1iAQA4YgEAfxKlAX5KpQE4YgEAAFulAX5KpQEAW6UBQAClAUAApQFAAKUBQAClATlkAAA5ZAAAOWQAADlOAAArVQAAK1UAAEd/vgRFesIBRmqKAkRlvgFCf7oGPHC2AT5mBgA7XYoCJHPrBSxfwwFOftYBS3QCAE1oJgBKZUoAfwvqBTlzpQE+ZgUAImClAX5H6gUiYKUBRH+pAUR/qQFEf6kBRGKmAT58UwE+ZgIAPmYCAD1WKgArZVMBMFkBAExyAQBMcgEATHIBAEtfAQB6AFIBP2UBAD9lAQAyWAEAfj1SATJYAQB/H6UBS3QBAFFnAQA7ZwAAfx+lAX9QpQE7ZwAAAGClAX9QpQEAYKUBRAClAUQApQFEAKUBRAClAT5oAQA+aAEAPmgBAD5SAQAwWQAAMFkAAE1/NgVJfsIBSm6KAkhpvgFHfw0HQXS1AUFrAgA/YYoCKHfrBTBjwwFSf/oBT3gCAFFsJgBOaUoAfxjqBT13pQFBawIAJmSlAX1N6gUmZKUBSX65AUl+uQFJfrkBSGamAUF/VAFBawIAQWsCAEBbJgAvaVMBNF0BAFB2AQBQdgEAUHYBAE9jAQB/AlIBQ2kAAENpAAA2XAEAf0JSATZcAQB/K6UBT3gBAFVrAQA/awAAfyulAX9WpQE/awAAAGSlAX9WpQEAZKUBSAClAUgApQFIAKUBSAClAUFtAABBbQAAQW0AAEFWAQA0XQAANF0AAFJ/vgVNf84BTnKKAkxtvgFNf30HRXi1AUVvAgBCZooCLHvrBTRnwwFYfzICU3wCAFVwJgBSbUoAfyTqBUF6pQFFbwIAKmilAX9S6gUqaKUBTX/NAU1/zQFNf80BTGqmAUd/ZAFFbwIARW8CAERfJgAzbVMBOGEBAFR6AQBUegEAVHoBAFNnAQB/DlIBR20AAEdtAAA6YAEAf0hSATpgAQB/OKUBU3wBAFlvAQBDbwAAfzilAX9cpQFDbwAAAGilAX9cpQEAaKUBTAClAUwApQFMAKUBTAClAUVxAABFcQAARXEAAEVaAQA4YQAAOGEAAFV/YgZSfxICUnaKAlBxvgFSf+4HSXy1AUlzAgBGaooCMH/rBThrwwFcf4YCV38GAFl0JgBWcUoAfzDqBUV+pQFJcwIALmylAX9Y6gUubKUBUn/uAVJ/7gFSf+4BUG6mAUt/ggFJcwIASXMCAEhjJgA3cVMBPGUBAFh+AQBYfgEAWH4BAFdrAQB/G1IBS3EAAEtxAAA+ZAEAfk5SAT5kAQB/Q6UBWX4FAF1zAQBHcwAAf0OlAX9ipQFHcwAAAGylAX9ipQEAbKUBUAClAVAApQFQAKUBUAClAUl1AABJdQAASXUAAEleAQA8ZQAAPGUAAFt/LgdXf6oCVnqOAlV2vgFYf5YITn/CAU53BABKbo4COX8VBjxvxQFhf+UCXX85AF14KQBadU0Afz7qBUx/vgFOdwMAM3ClAX9f6gUzcKUBVn8qAlZ/KgJWfyoCVXOlAVB/swFOdwMATncDAExnKQA7dlMBQGkBAF1+CABdfggAXX4IAFxvAAB/KFIBUHUAAFB1AABBaQAAflVSAUFpAAB/UaUBYH8dAGJ3AQBMdwEAf1GlAX5ppQFMdwEAAHClAX5ppQEAcKUBVQClAVUApQFVAKUBVQClAU54AQBOeAEATngBAE1jAQBAaQEAQGkBAGF/Fghcf3IDWn6OAll6vgFbf04JVH8iAlJ7BABOco4CQH96Bj50xQFnf0UDY3+hAGF8KQBeeU0Af0nqBVR/CQJSewMAN3SlAX9l6gU3dKUBW39dAlt/XQJbf10CWXelAVV/5QFSewMAUnsDAFBrKQA/elMBRG0BAGF/FABhfxQAYX8UAGBzAAB/NVIBVHkAAFR5AABFbQAAfltSAUVtAAB/XaUBZn9VAGZ7AQBQewEAf12lAX5vpQFQewEAAHSlAX5vpQEAdKUBWQClAVkApQFZAKUBWQClAVJ8AQBSfAEAUnwBAFFnAQBEbQEARG0BAGR/mQhgf00EX3+uAl1+uQFhf6UJV3+xAlZ/AwBUdWkCSX/HBkN4pQFtf5QDaH8qAWZ/NABifUQAf1azBV1/SAJWfwIAO3iIAX9rswU7eIgBX3+uAl9/rgJff64CXXulAVt/LQJWfwMAVn8DAFRvKQBCflIBSHEBAGZ+NABmfjQAZn40AGR3AAB/QFIBWH0AAFh9AABJcQAAfmFSAUlxAAB/aYgBbn+SAGp/AABUfwAAf2mIAX51iAFUfwAAAHiIAX51iAEAeIgBXQClAV0ApQFdAKUBXQClAVZ/AgBWfwIAVn8CAFVrAQBIcQEASHEBAGd/bQdlfzcEZH/5AmF/pQFkfy0IXX8ZAlt/HQBXeGUBUX+RBUh61QBvf34CbH/0AGp/UABnfhEAf10oBGN/iAFdfwQAQ3rIAH5vKARDesgAZH/5AmR/+QJkf/kCYX+lAV9/kwJbfx0AW38dAFhzKQBJf14BTHUBAGp/UABqf1AAan9QAGh7AAB/TFIBXX8EAF1/BABNdQAAfmdSAU11AAB/b8gAdH9KAHB/AABgfwAAf2/IAH54yABgfwAAAHrIAH54yAAAesgAYQClAWEApQFhAKUBYQClAVt/DQBbfw0AW38NAFlvAQBMdQEATHUBAG1/bgZqfz4EaH9xA2Z/wgFqf8IGY3/aAWB/egBde54AV3+OBE98PgByf74Bb3/hAG9/fQBsfwIAf2bSAml//gBmfyIATHw9AH9z0gJMfD0AaH9xA2h/cQNof3EDZn/CAWR/AgNgf3oAYH96AF14JgBRf6oBUXkCAG9/fQBvf30Ab399AGx/AgB/WlIBZn8iAGZ/IgBTeQEAf21SAVN5AQB/dj0Ad38ZAHd/AABufwAAf3Y9AH57PQBufwAAAHw9AH57PQAAfD0AZQClAWUApQFlAKUBZQClAV9/KABffygAX38oAF5zAQBReQEAUXkBAG9/qgVvf1UEbX/OA2l/HgJvf+EFZn8CAmZ/AgFifUIAYH8CBFR+BgB4f1YBdX/mAHV/tQBxfyUAf279AW9/1QBsf1oAVX4FAH53/QFVfgUAbX/OA21/zgNtf84DaX8eAmp/cgNmfwIBZn8CAWF8JgBafxICVX0CAHV/tQB1f7UAdX+1AHF/JQB/ZlIBbH9aAGx/WgBXfQEAf3NSAVd9AQB/fAUAfX8BAH1/AAB6fwAAf3wFAH5+BQB6fwAAAH4FAH5+BQAAfgUAaQClAWkApQFpAKUBaQClAWR/QQBkf0EAZH9BAGJ3AQBVfQEAVX0BAHJ/mwRyf8sDcH9xA29/IQJyf5IEbH/JAWt/MQFmfhEAZn8ZA1p/CQB5f9EAeH+bAHh/ggB2fy0Af3QmAXR/hgBxf1UAX38AAH56JgFffwAAcH9xA3B/cQNwf3EDb38hAm9//QJrfzEBa38xAWZ+DQBgf9EBWn8JAHh/ggB4f4IAeH+CAHZ/LQB/bt0AcX9VAHF/VQBffwAAfnfdAF9/AAB/fwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAAH8AAH9/AAAAfwAAbQClAW0ApQFtAKUBbQClAWp/cQBqf3EAan9xAGZ7AQBafwkAWn8JAHV/ZwN1f+8Cc3+9AnF/9gF1fzYDb39sAW9/CAFqfwEAaX8ZAmN/KQB7f0sAe387AHt/MgB5fxEAf3lxAHd/NgB3fx0Aa38AAH98cQBrfwAAc3+9AnN/vQJzf70CcX/2AXJ/MQJvfwgBb38IAWp/AQBmf0kBY38pAHt/MgB7fzIAe38yAHl/EQB/dFUAd38dAHd/HQBrfwAAfnpVAGt/AAB/fwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAAH8AAH9/AAAAfwAAcQClAXEApQFxAKUBcQClAW1/nQBtf50AbX+dAGp/AQBjfykAY38pAAA7cgMAKGQAAB4EAAAYVAEAJ2gHABmkBAAXTgIAD6QFABP4BwAPCAYAO3IDAChkAAAeBAAAGFQBEwBoBwAZpAQAF04CAA+kBScAaAcAD6QFABsAAAAbAAAAGwAAAA0BAAANogAACzoAAAs6AAAHYQAABbMAAAZ0AAAbAAAAGwAAABsAAAANAQAHAKIAAAs6AAALOgAAB2EADQCiAAAHYQAdAHIDAChkAAAeBAAAGFQBHQByAzsAcgMAGFQBABN0AzsAcgMAE3QDAEHhiw8LxwFHcgMAMSgAASIMAAAeBAEALzMJAB80BQAcZAIAEqQGABb8CQASNAcAR3IDADEoAAEiCAAAHgQBFwAzCQAfNAUAHGQCABKkBi8AMwkAEqQGACcAAAAnAAAAJwAAABMAAAAUUgEADoIAAA6CAAAKzQAACHMBAAn0AAAnAAAAJwAAACcAAAATAAAKAFIBAA6CAAAOggAACs0AFABSAQAKzQAjAHIDADEoAAMiAAAAHgQBIwByA0cAcgMAHgQBABd0A0cAcgMAF3QDAEHRjQ8LxwFTcgMANwgAASg8AAAhyAAAOFMLACXkBQAflAIAFdQHABloDAAVmAgAU3IDADcIAAImNAAAIcgAGwFTCwAl5AUAH5QCABXUBzgAUwsAFdQHADQAAAA0AAAANAAAABkAAAAaQgIAE9AAABPQAAANYQEAC3sCAAqeAQA0AAAANAAAADQAAAAZAAANAEICABPQAAAT0AAADWEBGgBCAgANYQEpAHIDADcIAAcmAAAAIcgAKQByA1MAcgMAIcgAABt0A1MAcgMAG3QDAEHAjw8L+DcCW4YDAT4UAAMshQAAJ6wAAELoCwAriAUAJegBABuYBwAfhA0AGs4IA1lyAwM8AgAFLEQAAiaoACEA6AsAK4gFACXoAQAbmAdCAOgLABuYBwI8FAACPBQAAjwUAAIeFAAAJIgCABygAAAcoAAAD1QBABEDAwAPuAEDOgAAAzoAAAM6AAADHgAAEgCIAgAcoAAAHKAAAA9UASQAiAIAD1QBLwByAwE+AAALKgAAACeIAC8AcgNfAHIDACeIAAAfdANfAHIDAB90AwEAFAABABQAAQAUAAEAFAAACQAAAAkAAAAJAAAABAEAAAMIAAADCAAEZeMDBENyAAYwGwEDLPIAAFDoCwAzyAQAKwsBACACBwAlQw4AHpMICF1zAwdBAgAJMEMABiqrACcB6AsAM8gEACsLAQAgAgdQAOgLACACBwRFcQAERXEABEVxAAQkcQAAMogCACJKAAAiSgAAFfoAABZeAwATsgEIPQEACD0BAAg9AQAIIgEAGAGIAgAiSgAAIkoAABX6ADIAiAIAFfoANQFyAwZBAQAPLwEAACxZADUBcgNtAHIDACxZAAAkcgNtAHIDACRyAwQAcQAEAHEABABxAAQAcQAAFwAAABcAAAAXAAAACwAAAAgpAAAIKQAGbXsEBkgSAQg18wEFL28BAFzoCwA5SAQAL4EAACRjBgArEw8AIocIDGFzAwtFAgANNEMACi6rAC0B6AsAOUgEAC+BAAAkYwZcAOgLACRjBgZNCQEGTQkBBk0JAQYpCQEAPogCACsaAAArGgAAGsEAABzeAwAXygEMQQEADEEBAAxBAQAMJgEAHgGIAgArGgAAKxoAABrBAD4AiAIAGsEAOwFyAwpFAQATMwEAADE6ADsBcgN5AHIDADE6AAAocgN5AHIDAChyAwYACQEGAAkBBgAJAQYACQEAIwAAACMAAAAjAAAAEQAAAA5hAAAOYQAIdVMFCE36AQo6GwMHNC8CAGjoCwA/6AMANSkAACfzBQAu/w8AJpMIEGVzAw9JAgAROEMADjKrADMA6AsAP+gDADUpAAAn8wVoAOgLACfzBQhV4QEIVeEBCFXhAQgu4QEASogCADECAAAxAgAAHoIAAB96BAAc7gEQRQEAEEUBABBFAQAQKgEAJAGIAgAxAgAAMQIAAB6CAEoAiAIAHoIAQQByAw5JAQAXNwEAADUZAEEAcgN/A3IDADUZAAAscgN/A3IDACxyAwgA4QEIAOEBCADhAQgA4QEALwAAAC8AAAAvAAAAFwAAABOpAAATqQAKfWsGC1MiAw09hwQJODoDAHXoCwBGpQMAOgsAAC1zBQA24RAAK7MIFGlzAxNNAgAVPEMAEjarADkA6AsARqUDADoLAAAtcwV1AOgLAC1zBQpd+QIKXfkCCl35Agoz+QIAVogCADgEAAA4BAAAI1kAACUqBQAfQgIUSQEAFEkBABRJAQAULgEAKgGIAgM2AAADNgAAACNZAFYAiAIAI1kARwByAxJNAQAbOwEAADoKAEcAcgN/CXIDADoKAAAwcgN/CXIDADByAwoA+QIKAPkCCgD5AgoA+QIAOwAAADsAAAA7AAAAHQAAABYVAQAWFQEOfvgGDlmhAxFBMQUNPLEDA3zoCwJLjgMDPg4AADIxBQA8dBAAL7YHGG5yAxhQBQAbQEYAFzuoAD8C6AsATX0DBD8KAAAyDQV+AugLADINBQ5jdAMOY3QDDmN0Aw04dAMDXogCAz4KAAM+CgABKEQAAC7oBAAlrAEYTgAAGE4AABhOAAAYMwAAMQCIAgc7AAAHOwAAACc0AGQAiAIAJzQATgByAxdRAQAgPwAAAD8BAE4AcgN+EHIDAD8BAAA0dAN+EHIDADR0Aw0AdAMNAHQDDQB0Aw0AdAMDQgAAA0IAAANCAAADIgAAAB/oAAAf6AATfhYHEl2hAxVFMQURQa4DB3/rCwZPjgMHQg4ABDYxBQBDhw8ANGgGHHJyAxxUBQAeQ0IAGz+oAEUB6AsBU3IDCUIKAAA1tQR+COgLADW1BBJndAMSZ3QDEmd0AxE8dAMHYogCCEEJAAhBCQAFLEQAADMjBAAr7AAcUgAAHFIAABxSAAAcNwAANwCIAgs/AAALPwAAAC0UAHAAiAIALRQAUwFyAxtVAQAkQgEABEIBAFMBcgN+FnIDBEIBAAA4dAN+FnIDADh0AxEAdAMRAHQDEQB0AxEAdAMHRgAAB0YAAAdGAAAHJgAAACWIAAAliAAXfz4HFmGhAxlJMQUVRa4DDH/4CwpTjgMLRg4ACDoxBQBJpw4AOV4FIHZyAyBYBQAiR0IAHkOlAEsB6AsFV3IDDUYKAAA7ZQR+DugLADtlBBZrdAMWa3QDFmt0AxVAdAMLZogCDEUJAAxFCQAJMEQAADmbAwAxbAAgVgAAIFYAACBWAAAgOwAAPQCIAhBBAQAQQQEAADEIAHwAiAIAMQgAWQFyAx9ZAQAoRgEACEYBAFkBcgN+HHIDCEYBAAA8dAN+HHIDADx0AxUAdAMVAHQDFQB0AxUAdAMLSgAAC0oAAAtKAAALKgAAAC5EAAAuRAAdf44HGmWhAx1NMQUZSa4DEX8TDA5XjgMPSg4ADD4xBQBP5w0APpYEJHpyAyRcBQAmS0IAIkelAFEA6AsJW3IDEUoKAAA+HQR+FOgLAD4dBBpvdAMab3QDGm90AxpDdAMPaogCEEkJABBJCQANNEQAAEAqAwA2GgAkWgAAJFoAACRaAAAkPwAAQgGIAhRFAQAURQEAADYBAH4FiAIANgEAXwFyAyNdAQAsSgEADEoBAF8BcgN+InIDDEoBAABAcgN+InIDAEByAxkAdAMZAHQDGQB0AxkAdAMPTgAAD04AAA9OAAAPLgAAADMSAAAzEgAhf/QHH2qjAyFRMwUdTa4DF39JDBNcjgMTTw4AEUExBQBXLw0AQv0DKX5zAyhiAgArUEEAJ0ymAFgA6AsOX3IDFU4JAABC5AN/GugLAELkAx50cgMedHIDHnRyAx5IcgMUbYkCFE0KABRNCgASOUMAAEbZAgE7AwApXgEAKV4BACleAQAoQwEASQCIAhhKAQAYSgEABDoBAH4MiAIEOgEAZgByAydiAQAwTwAAD08AAGYAcgN+KXIDD08AAABEdAN+KXIDAER0Ax4AcgMeAHIDHgByAx4AcgMUUgEAFFIBABRSAQATMwEAADwAAAA8AAAmf1YII26jAyVVMwUhUa4DHX+RDBdgjgMXUw4AFUUxBQBdrwwAR7UDLX97AyxmAgAvVEEAK1CmAF4A6AsSY3IDGVIJAABItAN/IOgLAEi0AyJ4cgMieHIDInhyAyJMcgMYcYkCGFEKABhRCgAWPUMAAE+hAgU/AwAtYgEALWIBAC1iAQAsRwEATwCIAhxOAQAcTgEACD4BAH8RiAIIPgEAbAByAytmAQA0UwAAE1MAAGwAcgN9L3IDE1MAAABIdAN9L3IDAEh0AyIAcgMiAHIDIgByAyIAcgMYVgEAGFYBABhWAQAXNwEAA0ABAANAAQAqf+wIJ3KjAylZMwUlVa4DIX/0DBtkjgMbVw4AGUkxBQBjTwwBTKEDMn+NAzBqAgAzWEEAL1SmAGQA6AsWZ3IDHVYJAABLlAN/JugLAEuUAyZ8cgMmfHIDJnxyAyZQcgMcdYkCHFUKABxVCgAbQEIAAFWJAghCBQAxZgEAMWYBADFmAQAwSwEAVQCIAiBSAQAgUgEAC0IAAH8XiAILQgAAcgByAy9qAQA4VwAAF1cAAHIAcgN/NHIDF1cAAABMdAN/NHIDAEx0AyYAcgMmAHIDJgByAyYAcgMcWgEAHFoBABxaAQAbOwEACEMBAAhDAQAvf24JK3ajAy1dMwUpWa4DJn9RDR9ojgMfWw4AHU0xBQBpDwwFUKEDN3+rAzRuAgA3XEEAM1imAGoA6Asaa3IDIVoJAABQfQN/LOgLAFB9Ayp/cwMqf3MDKn9zAypUcgMgeYkCIFkKACBZCgAfREIABFmJAgxGBQA1agEANWoBADVqAQA0TwEAWwCIAiRWAQAkVgEAD0YAAH8diAIPRgAAeAByAzNuAQA8WwAAG1sAAHgAcgN/OnIDG1sAAABQdAN/OnIDAFB0AyoAcgMqAHIDKgByAyoAcgMgXgEAIF4BACBeAQAfPwEADEcBAAxHAQA0fxgKL3qhAzJiMQUuXq4DLH/bDSNsjgMkXw4AIlIzBQBw7wsJVKMDPX/kAzlxBQA7YEIAN1ylAHAB6AsecHIDJl8KAABVcwN+M+gLAFVzAy9/fQMvf30DL399Ay9YdAMkf4gCJV4JACVeCQAjSEEACV2JAhFLAgA5bwAAOW8AADlvAAA5UwAAYgCIAilaAQApWgEAFUoBAH8kiAIVSgEAfwByAzhyAQBAYAEAIV8BAH8AcgN+QXIDIV8BAABVcgN+QXIDAFVyAy4AdAMuAHQDLgB0Ay4AdAMkYwAAJGMAACRjAAAkQwAAEUsBABFLAQA6f+gKM36hAzZmMQUyYq4DMX9YDidwjgMoYw4AJlYzBQN16QsNWKMDQX8lBD11BQA/ZEIAO2ClAHYB6AsidHIDKmMKAAJZcgN+OegLAllyAzR/lAM0f5QDNH+UAzNcdAMpf44CKWIJACliCQAnTEEADWGJAhVPAgA9cwAAPXMAAD1zAAA9VwAAaACIAi1eAQAtXgEAGU4BAH8qiAIZTgEAfwtyAzx2AQBEZAEAJWMBAH8LcgN+R3IDJWMBAABZcgN+R3IDAFlyAzIAdAMyAHQDMgB0AzIAdAMoZwAAKGcAAChnAAAoRwAAFU8BABVPAQA9f6gLN3+1AzpqMQU2Zq4DN3/4Dit0jgMsZw4AKlozBQd56QsRXKMDR399BEB6AwBCaUMAP2SlAHwB6AsmeHIDLmcKAAZdcgN+P+gLBl1yAzd/tAM3f7QDN3+0AzdgdAMufqoCLWYJAC1mCQArUEEAEWWJAhlTAgBBdgEAQXYBAEF2AQBBWwEAbgCIAjFiAQAxYgEAHVIBAH4wiAIdUgEAfxhyAz97AQBIaAEAKWcBAH8YcgN9TXIDKWcBAABdcgN9TXIDAF1yAzYAdAM2AHQDNgB0AzYAdAMsawAALGsAACxrAAAsSwAAGVMBABlTAQBBf44MPX/9Az5uMQU6aq4DPX+4Dy94jgMwaw4ALl4zBQt96QsVYKMDSn/dBER+AwBGbUMAQ2erAH8H6AsqfHIDMmsKAAphcgN/ROgLCmFyAz1/5AM9f+QDPX/kAztkdAMyf8oCMWoJADFqCQAvVEEAFWmJAh1XAgBFegEARXoBAEV6AQBFXwEAcwGIAjVmAQA1ZgEAIVYBAH42iAIhVgEAfyRyA0N/AABMbAEALWsBAH8kcgN/UnIDLWsBAABhcgN/UnIDAGFyAzoAdAM6AHQDOgB0AzoAdAMwbwAAMG8AADBvAAAwTwAAHVcBAB1XAQBHf6YNQX+WBEJyKAU+bq4DQX+HEDR9jgM0cA4AMmIxBRN/+wsaZaEDT39UBUl/GgBLckQASGyoAH8V6Aswf3UDNm8JABBldAN/S+gLEGV0A0F/HQRBfx0EQX8dBD9pcgM4fwEDNW4KADVuCgA0WUIAGW6JAiFbBQBJfgEASX4BAEl+AQBJZAAAegCIAjlrAQA5awEAJFsAAH49iAIkWwAAfzJyA0x/EgBRcAAAMHAAAH8ycgN/WXIDMHAAAABldAN/WXIDAGV0Az8AcgM/AHIDPwByAz8AcgM1cwEANXMBADVzAQA1UwEAIVwBACFcAQBKf8YORn9eBUZ2KAVCcbEDR39nETl/ngM4dA4ANmYxBRl/QwweaaEDVX/EBU9/YQBPdkQATHCoAH8h6As5f50DOnMJABRpdAN+UegLFGl0A0R/ZQREf2UERH9lBEJtdAM9fzsDOXIKADlyCgA4XUIAHXKJAiVfBQBOfggATn4IAE5+CABNaAAAfwKIAj1vAQA9bwEAKF8AAH9CiAIoXwAAfz5yA1F/RABVdAAANHQAAH8+cgN/X3IDNHQAAABpdAN/X3IDAGl0A0IAdANCAHQDQgB0A0IAdAM5dwEAOXcBADl3AQA5VwEAJWABACVgAQBPf7gPS39oBkp6KAVGdbEDSn9bEj9/BgQ8eA4AOmoxBSJ/uwwibaEDW39UBlR/7ABTekQAUHSoAH8t6AtAf+sDPncJABhtdAN+V+gLGG10A0p/tQRKf7UESn+1BEZxdANBf44DPXYKAD12CgA8YUIAIXaJAiljBQBSfxQAUn8UAFJ/FABRbAAAfw6IAkB0AABAdAAALGMAAH9IiAIsYwAAf0lyA1p/iABZeAAAOHgAAH9JcgN/ZXIDOHgAAABtdAN/ZXIDAG10A0YAdANGAHQDRgB0A0YAdAM9ewEAPXsBAD17AQA9WwEAKWQBAClkAQBVf+gQT3+FB05+KAVKebEDT384E0N/vwRAew4APm4xBSt/aw0mcaEDXn/4Blp/rAFXfkQAVHioAH856AtGf2sEQXwKABxxdAN+XegLHHF0A01/DQVNfw0FTX8NBUp1dANHf+4DQHsKAEB7CgA/ZEYAJXqJAi1nBQBXfjQAV340AFd+NABVcAAAfxuIAkR4AABEeAAAMGcAAH5OiAIwZwAAf1ZyA2B/6ABdfAAAPHwAAH9WcgN/a3IDPHwAAABxdAN/a3IDAHF0A0oAdANKAHQDSgB0A0oAdANAfgEAQH4BAEB+AQBAXwAALWgBAC1oAQBYfzMRVH+zCFJ/cwVOfZoDVX8LE0l/LgVFfwsAQXOWBDZ/bg0sdCIDZH/SBl9/QgJcf1kAWHx+AH9F/gpPf3oER38EACF1+QJ+Y/4KIXX5AlJ/cwVSf3MFUn9zBU95cwNNf3EERX8LAEV/CwBDakMAKn6JAjJsAgBcf1kAXH9ZAFx/WQBadAEAfyiIAkl8AABJfAAANmsBAH5ViAI2awEAf2D5Aml/FQFifwAAQ38AAH9g+QJ/cPkCQ38AAAB1+QJ/cPkCAHX5Ak8AcgNPAHIDTwByA08AcgNFfwoARX8KAEV/CgBEZAEAMmwBADJsAQBef3MPWX+TCFh/8wVTf3YDW3/jEE9/cwRKfykAR3QfAzx/jgsxdvoBZ39qBWN/7gFhf4IAXH0yAH9MyQhXf2YDTn8CACp34QF+Z8kIKnfhAVh/8wVYf/MFWH/zBVN9cwNSf+MESn8pAEp/KQBHbkMAMH+eAjZwAgBhf4IAYX+CAGF/ggBeeAEAfzWIAk5/AgBOfwIAOm8BAH5biAI6bwEAf2bhAWx/qQBofwAAT38AAH9m4QF/c+EBT38AAAB34QF/c+EBAHfhAVMAcgNTAHIDUwByA1MAcgNKfxkASn8ZAEp/GQBIaAEANnABADZwAQBhf/MNXX+HCFt/YwZXf3sDXn/zDlR/CwRPf3IASnfzAUN/EQo3eRIBan9KBGZ/ygFlf8EAYX4JAH9W6QZdf44CVH8aADJ5CQF/a+kGMnkJAVt/YwZbf2MGW39jBld/ewNVf2sFT39yAE9/cgBLckMAOX/eAjp0AgBlf8EAZX/BAGV/wQBifAEAf0CIAlR/GgBUfxoAPnMBAH5hiAI+cwEAf2wJAXF/YQBufwAAXH8AAH9sCQF/dgkBXH8AAAB5CQF/dgkBAHkJAVcAcgNXAHIDVwByA1cAcgNPfzIAT38yAE9/MgBMbAEAOnQBADp0AQBkf8MMYX+TCF9/Agdcf7oDYX9rDVd/zwNUfwsBT3kbAUl/6Qg8e3IAb39GA2t/sgFqf/oAZn8CAH9dXgVjf/YBXX9KADp7cQB+b14FOntxAF9/AgdffwIHX38CB1x/ugNbfwMGVH8LAVR/CwFPdkMAQH9IAz54AgBqf/oAan/6AGp/+gBmfwIAf0yIAl1/SgBdf0oAQXcBAH5niAJBdwEAf3NxAHd/KQB0fwAAaH8AAH9zcQB/eXEAaH8AAAB7cQB/eXEAAHtxAFsAcgNbAHIDWwByA1sAcgNTf1kAU39ZAFN/WQBQcAEAPngBAD54AQBnf9gLZX/OCGR/mAdgfzgEZ38YDF1/9ANaf+gBU3yFAFF/OAhBfhQAcn+aAm9/qQFvf0UBbH80AH9mCARpf5QBY3+gAEN9FAB/cwgEQ30UAGR/mAdkf5gHZH+YB2B/OARhf8gGWn/oAVp/6AFTekQASX/zA0N8AgBvf0UBb39FAW9/RQFsfzQAf1qIAmN/oABjf6AARXwAAH9tiAJFfAAAf3oSAHx/CAB6fwEAdn8AAH96EgB+fRIAdn8AAAB9FAB+fRIAAH0UAF8AdANfAHQDXwB0A18AdANYf4gAWH+IAFh/iABVdAAAQX4AAEF+AABtf8QKan+YCGd/1Admf6QEan/ICmB/JARgf5QCV348AFd/bAdIfwgAdX8WAnV/ngFyf2EBb39oAH9uAwNsf2ABbH/QAEt/AAB+dwMDS38AAGd/1Adnf9QHZ3/UB2Z/pARkf/gGYH+UAmB/lAJZfTQAUX9YBEh/CAByf2EBcn9hAXJ/YQFvf2gAf2VCAmx/0ABsf9AAS38AAH9yQgJLfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/fwAAAH8AAGMAdANjAHQDYwB0A2MAdANef8gAXn/IAF5/yABZeAAASH8IAEh/CABvf6YIbX80B21/pAZpf0gEbX+ECGZ/hANjf2QCXX4MAF1/vAVOfygAeH8yAXZ/9AB1f80AdH9BAH9xwwFxf9MAb399AFd/AAB/eMMBV38AAG1/pAZtf6QGbX+kBml/SARnf7QFY39kAmN/ZAJdfggAV39oA05/KAB1f80AdX/NAHV/zQB0f0EAf2tSAW9/fQBvf30AV38AAH91UgFXfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/fwAAAH8AAGcAdANnAHQDZwB0A2cAdANhfwQBYX8EAWF/BAFdfAAATn8oAE5/KAByfwYHb3/xBW9/jQVsfwQEb3+LBml/GANof04CYX8EAGB/aARXf2QAe3+WAHl/dAB4f2EAd38dAH922AB3f2MAdH86AGN/AAB+e9gAY38AAG9/jQVvf40Fb3+NBWx/BARtf6QEaH9OAmh/TgJhfwQAXX+4Ald/ZAB4f2EAeH9hAHh/YQB3fx0Af3GiAHR/OgB0fzoAY38AAH94ogBjfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/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AwIDAAEAAQABAAEAAQABAAEAAQIDAgMCAwIDAgMCAwIDAgMAAQABAAEAAQABAAEAAQABAgMCAwIDAgMCAwIDAgMCAwABAAEAAQABAAEAAQABAAECAwIDAgMCAwIDAgMCAwIDAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQECAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwICAwMAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQECAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQECAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQAAAAAAAAAAAQEBAQEBAQEAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQAAAAAAAAAAAQEBAQEBAQEAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDAgICAgICAgIDAwMDAwMDAwICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDAgICAgICAgIDAwMDAwMDAwICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDgP///+D///8gAAAAgAAAAPD+//+w////UAAAABABAAAw/v//cP///5AAAADQAQAAYP3//zD////QAAAAoAIAAED8///g/v//IAEAAMADAAAA+///gP7//4ABAAAABQAAYPn///D9//8QAgAAoAYAAJD0//8Q/f//8AIAAHALAAAACBAYISkxOUJKUlpja3N7hIyUnKWttb3Gztbe5+/3/wAQITFCUmNzjJytvc7e7/8AIUprlLXe/wAiRGaIqszu/zAwMDAwMDAwMABiMDAwYjBiYjAAYjAwMDBiYjAwAGNiMDAwY2JjYgBjYjAwMDBjYmMAZGNiMDAwZGNiAGRjYjAwMDBkYwBlZGNiMDAwZWQAZWRjYjAwMDBlAGZlZGNiMDAwZgBB0c8RC4ABAQIDBAgJCgsMEBESExQYGRobHAUNFR0GICEiIyQoKSorLDAxMjM0ODk6OzwlLTU9DkBBQkNESElKS0xQUVJTVFhZWltcRU1VXRZgYWJjZGhpamtscHFyc3R4eXp7fGVtdX0eZmdGRyZub05PLnZ3Vlc2fn9eXz4nLzc/HwEAAgMAQeDQEQuUHQkAAAAEAgEAAQIEAAAACQADAgEAAgEABAUGAggLDQAACAAAABAAAAAIAAAAEAAAAAgAAAAQAAAAEAAAABAAAAAIAAAACAAAABAAAAAIAAAAEAAAAAQAAAACAAAAAgAAAAIAAAAQAAAACAAAAAgAAAAIAAAAEAAAAAQAAAACAAAAAgAAAAIAAAACAAAABAAAAAUAAAAHAAAAYnl0ZUxlbmd0aABpbml0aWFsaXplQmFzaXMAQmFzaXNGaWxlRGVzYwB2ZXJzaW9uAHVzUGVyRnJhbWUAdG90YWxJbWFnZXMAdXNlcmRhdGEwAHVzZXJkYXRhMQB0ZXhGb3JtYXQAeUZsaXBwZWQAaGFzQWxwaGFTbGljZXMAbnVtRW5kcG9pbnRzAGVuZHBvaW50UGFsZXR0ZU9mcwBlbmRwb2ludFBhbGV0dGVMZW4AbnVtU2VsZWN0b3JzAHNlbGVjdG9yUGFsZXR0ZU9mcwBzZWxlY3RvclBhbGV0dGVMZW4AdGFibGVzT2ZzAHRhYmxlc0xlbgBCYXNpc0ltYWdlRGVzYwBvcmlnV2lkdGgAb3JpZ0hlaWdodABudW1CbG9ja3NYAG51bUJsb2Nrc1kAbnVtTGV2ZWxzAGFscGhhRmxhZwBpZnJhbWVGbGFnAEJhc2lzSW1hZ2VMZXZlbERlc2MAcmdiRmlsZU9mcwByZ2JGaWxlTGVuAGFscGhhRmlsZU9mcwBhbHBoYUZpbGVMZW4AdHJhbnNjb2Rlcl90ZXh0dXJlX2Zvcm1hdABjVEZFVEMxX1JHQgBjVEZFVEMyX1JHQkEAY1RGQkMxX1JHQgBjVEZCQzNfUkdCQQBjVEZCQzRfUgBjVEZCQzVfUkcAY1RGQkM3X1JHQkEAY1RGUFZSVEMxXzRfUkdCAGNURlBWUlRDMV80X1JHQkEAY1RGQVNUQ180eDRfUkdCQQBjVEZBVENfUkdCAGNURkFUQ19SR0JBAGNURkZYVDFfUkdCAGNURlBWUlRDMl80X1JHQgBjVEZQVlJUQzJfNF9SR0JBAGNURkVUQzJfRUFDX1IxMQBjVEZFVEMyX0VBQ19SRzExAGNURlJHQkEzMgBjVEZSR0I1NjUAY1RGQkdSNTY1AGNURlJHQkE0NDQ0AGNURlRvdGFsVGV4dHVyZUZvcm1hdHMAZ2V0Qnl0ZXNQZXJCbG9ja09yUGl4ZWwAZm9ybWF0SGFzQWxwaGEAZm9ybWF0SXNVbmNvbXByZXNzZWQAaXNGb3JtYXRTdXBwb3J0ZWQAZ2V0Rm9ybWF0QmxvY2tXaWR0aABnZXRGb3JtYXRCbG9ja0hlaWdodABiYXNpc190ZXh0dXJlX3R5cGUAY0JBU0lTVGV4VHlwZTJEAGNCQVNJU1RleFR5cGUyREFycmF5AGNCQVNJU1RleFR5cGVDdWJlbWFwQXJyYXkAY0JBU0lTVGV4VHlwZVZpZGVvRnJhbWVzAGNCQVNJU1RleFR5cGVWb2x1bWUAYmFzaXNfdGV4X2Zvcm1hdABjRVRDMVMAY1VBU1RDNHg0AEJhc2lzRmlsZQBjbG9zZQBnZXRIYXNBbHBoYQBpc1VBU1RDAGdldE51bUltYWdlcwBnZXROdW1MZXZlbHMAZ2V0SW1hZ2VXaWR0aABnZXRJbWFnZUhlaWdodABnZXRJbWFnZVRyYW5zY29kZWRTaXplSW5CeXRlcwBzdGFydFRyYW5zY29kaW5nAHRyYW5zY29kZUltYWdlAGdldEZpbGVEZXNjAGdldEltYWdlRGVzYwBnZXRJbWFnZUxldmVsRGVzYwBiYXNpc3VfZGVjb2RlX2ZsYWdzAGNEZWNvZGVGbGFnc1BWUlRDRGVjb2RlVG9OZXh0UG93MgBjRGVjb2RlRmxhZ3NUcmFuc2NvZGVBbHBoYURhdGFUb09wYXF1ZUZvcm1hdHMAY0RlY29kZUZsYWdzQkMxRm9yYmlkVGhyZWVDb2xvckJsb2NrcwBjRGVjb2RlRmxhZ3NPdXRwdXRIYXNBbHBoYUluZGljZXMAY0RlY29kZUZsYWdzSGlnaFF1YWxpdHkATG93TGV2ZWxFVEMxU0ltYWdlVHJhbnNjb2RlcgBkZWNvZGVQYWxldHRlcwBkZWNvZGVUYWJsZXMAdHJhbnNjb2RlVUFTVENJbWFnZQB0cmFuc2NvZGVyU3VwcG9ydHNLVFgyAHRyYW5zY29kZXJTdXBwb3J0c0tUWDJac3RkAGt0eDJfc3VwZXJjb21wcmVzc2lvbgBLVFgyX1NTX05PTkUAS1RYMl9TU19CQVNJU0xaAEtUWDJfU1NfWlNUQU5EQVJEAEtUWDJfVktfRk9STUFUX1VOREVGSU5FRABLVFgyX0tERl9ERl9NT0RFTF9VQVNUQwBLVFgyX0tERl9ERl9NT0RFTF9FVEMxUwBLVFgyX0lNQUdFX0lTX1BfRlJBTUUAS1RYMl9VQVNUQ19CTE9DS19TSVpFAEtUWDJfTUFYX1NVUFBPUlRFRF9MRVZFTF9DT1VOVABLVFgyX0tIUl9ERl9UUkFOU0ZFUl9MSU5FQVIAS1RYMl9LSFJfREZfVFJBTlNGRVJfU1JHQgBrdHgyX2RmX2NoYW5uZWxfaWQAS1RYMl9ERl9DSEFOTkVMX0VUQzFTX1JHQgBLVFgyX0RGX0NIQU5ORUxfRVRDMVNfUlJSAEtUWDJfREZfQ0hBTk5FTF9FVEMxU19HR0cAS1RYMl9ERl9DSEFOTkVMX0VUQzFTX0FBQQBLVFgyX0RGX0NIQU5ORUxfVUFTVENfREFUQQBLVFgyX0RGX0NIQU5ORUxfVUFTVENfUkdCAEtUWDJfREZfQ0hBTk5FTF9VQVNUQ19SR0JBAEtUWDJfREZfQ0hBTk5FTF9VQVNUQ19SUlIAS1RYMl9ERl9DSEFOTkVMX1VBU1RDX1JSUkcAS1RYMl9ERl9DSEFOTkVMX1VBU1RDX1JHAGt0eDJfZGZfY29sb3JfcHJpbWFyaWVzAEtUWDJfREZfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEAEtUWDJfREZfUFJJTUFSSUVTX0JUNzA5AEtUWDJfREZfUFJJTUFSSUVTX1NSR0IAS1RYMl9ERl9QUklNQVJJRVNfQlQ2MDFfRUJVAEtUWDJfREZfUFJJTUFSSUVTX0JUNjAxX1NNUFRFAEtUWDJfREZfUFJJTUFSSUVTX0JUMjAyMABLVFgyX0RGX1BSSU1BUklFU19DSUVYWVoAS1RYMl9ERl9QUklNQVJJRVNfQUNFUwBLVFgyX0RGX1BSSU1BUklFU19BQ0VTQ0MAS1RYMl9ERl9QUklNQVJJRVNfTlRTQzE5NTMAS1RYMl9ERl9QUklNQVJJRVNfUEFMNTI1AEtUWDJfREZfUFJJTUFSSUVTX0RJU1BMQVlQMwBLVFgyX0RGX1BSSU1BUklFU19BRE9CRVJHQgBLVFgySW1hZ2VMZXZlbEluZm8AbGV2ZWxJbmRleABsYXllckluZGV4AGZhY2VJbmRleAB3aWR0aABoZWlnaHQAdG90YWxCbG9ja3MAS1RYMkhlYWRlcgB2a0Zvcm1hdAB0eXBlU2l6ZQBwaXhlbFdpZHRoAHBpeGVsSGVpZ2h0AHBpeGVsRGVwdGgAbGF5ZXJDb3VudABmYWNlQ291bnQAbGV2ZWxDb3VudABzdXBlcmNvbXByZXNzaW9uU2NoZW1lAGRmZEJ5dGVPZmZzZXQAZGZkQnl0ZUxlbmd0aABrdmRCeXRlT2Zmc2V0AGt2ZEJ5dGVMZW5ndGgAc2dkQnl0ZU9mZnNldABzZ2RCeXRlTGVuZ3RoAEtUWDJGaWxlAGlzVmFsaWQAZ2V0REZEU2l6ZQBnZXRERkQAZ2V0SGVhZGVyAGhhc0tleQBnZXRUb3RhbEtleXMAZ2V0S2V5AGdldEtleVZhbHVlU2l6ZQBnZXRLZXlWYWx1ZQBnZXRXaWR0aABnZXRIZWlnaHQAZ2V0RmFjZXMAZ2V0TGF5ZXJzAGdldExldmVscwBnZXRGb3JtYXQAaXNFVEMxUwBnZXRERkRDb2xvck1vZGVsAGdldERGRENvbG9yUHJpbWFyaWVzAGdldERGRFRyYW5zZmVyRnVuYwBnZXRERkRGbGFncwBnZXRERkRUb3RhbFNhbXBsZXMAZ2V0REZEQ2hhbm5lbElEMABnZXRERkRDaGFubmVsSUQxAGlzVmlkZW8AZ2V0RVRDMVNJbWFnZURlc2NJbWFnZUZsYWdzAGdl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AAADgAAAAwABAEGwgBILUQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBlIESC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBB4IISC+YEAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAABAAAABAAAAAgAAAAAAAAAAQABAQYAAAAAAAAEAAAAABAAAAQAAAAAIAAABQEAAAAAAAAFAwAAAAAAAAUEAAAAAAAABQYAAAAAAAAFBwAAAAAAAAUJAAAAAAAABQoAAAAAAAAFDAAAAAAAAAYOAAAAAAABBRAAAAAAAAEFFAAAAAAAAQUWAAAAAAACBRwAAAAAAAMFIAAAAAAABAUwAAAAIAAGBUAAAAAAAAcFgAAAAAAACAYAAQAAAAAKBgAEAAAAAAwGABAAACAAAAQAAAAAAAAABAEAAAAAAAAFAgAAACAAAAUEAAAAAAAABQUAAAAgAAAFBwAAAAAAAAUIAAAAIAAABQoAAAAAAAAFCwAAAAAAAAYNAAAAIAABBRAAAAAAAAEFEgAAACAAAQUWAAAAAAACBRgAAAAgAAMFIAAAAAAAAwUoAAAAAAAGBEAAAAAQAAYEQAAAACAABwWAAAAAAAAJBgACAAAAAAsGAAgAADAAAAQAAAAAEAAABAEAAAAgAAAFAgAAACAAAAUDAAAAIAAABQUAAAAgAAAFBgAAACAAAAUIAAAAIAAABQkAAAAgAAAFCwAAACAAAAUMAAAAAAAABg8AAAAgAAEFEgAAACAAAQUUAAAAIAACBRgAAAAgAAIFHAAAACAAAwUoAAAAIAAEBTAAAAAAABAGAAABAAAADwYAgAAAAAAOBgBAAAAAAA0GACAAQdCHEguHAgEAAQEFAAAAAAAABQAAAAAAAAYEPQAAAAAACQX9AQAAAAAPBf1/AAAAABUF/f8fAAAAAwUFAAAAAAAHBH0AAAAAAAwF/Q8AAAAAEgX9/wMAAAAXBf3/fwAAAAUFHQAAAAAACAT9AAAAAAAOBf0/AAAAABQF/f8PAAAAAgUBAAAAEAAHBH0AAAAAAAsF/QcAAAAAEQX9/wEAAAAWBf3/PwAAAAQFDQAAABAACAT9AAAAAAANBf0fAAAAABMF/f8HAAAAAQUBAAAAEAAGBD0AAAAAAAoF/QMAAAAAEAX9/wAAAAAcBf3//w8AABsF/f//BwAAGgX9//8DAAAZBf3//wEAABgF/f//AEHgiRILhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABB9I0SC5MOAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wP///8H////D////x////8/////fwAAAAABAAAAAgAAAAQAAAAAAAAAAgAAAAQAAAAIAAAAAAAAAAEAAAACAAAAAQAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAHAAAACAAAAAkAAAAKAAAACwAAAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAADskwQA5ooEAAAAAAABAAAAXHsEAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAA7JMEAECLBAAAAAAAAQAAAFx7BAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAADskwQAmIsEAAAAAAABAAAAXHsEAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAOyTBAD0iwQAAAAAAAEAAABcewQAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAaJMEAFCMBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAGiTBAB4jAQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAABokwQAoIwEAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAaJMEAMiMBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAGiTBADwjAQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAABokwQAGI0EAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAaJMEAECNBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAGiTBABojQQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAABokwQAkI0EAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAaJMEALiNBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAGiTBADgjQQAQaycEgsBgwBB05wSCwX//////wBBmJ0SC1ktKyAgIDBYMHgAKG51bGwpAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQBBgZ4SCyELAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQbueEgsBDABBx54SCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQfWeEgsBDgBBgZ8SCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQa+fEgsBEABBu58SCx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQfKfEgsOEgAAABISEgAAAAAAAAkAQaOgEgsBCwBBr6ASCxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQd2gEgsBDABB6aASC/AHDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGYJUEAGJhc2ljX3N0cmluZwBfX2N4YV9ndWFyZF9hY3F1aXJlIGRldGVjdGVkIHJlY3Vyc2l2ZSBpbml0aWFsaXphdGlvbgBTdDl0eXBlX2luZm8AaJMEANeQBABOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAACQkwQA7JAEAOSQBABOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAACQkwQAHJEEABCRBABOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAACQkwQATJEEABCRBABOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQCQkwQAfJEEAHCRBABOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAkJMEAKyRBAAQkQQATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAkJMEAOCRBABwkQQAAAAAAGCSBACHAAAAiAAAAIkAAACKAAAAiwAAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQCQkwQAOJIEABCRBAB2AAAAJJIEAGySBABEbgAAJJIEAHiSBABiAAAAJJIEAISSBABjAAAAJJIEAJCSBABoAAAAJJIEAJySBABhAAAAJJIEAKiSBABzAAAAJJIEALSSBAB0AAAAJJIEAMCSBABpAAAAJJIEAMySBABqAAAAJJIEANiSBABsAAAAJJIEAOSSBABtAAAAJJIEAPCSBABmAAAAJJIEAPySBABkAAAAJJIEAAiTBAAAAAAAVJMEAIcAAACMAAAAiQAAAIoAAACNAAAATjEwX19jeHhhYml2MTE2X19lbnVtX3R5cGVfaW5mb0UAAAAAkJMEADCTBAAQkQQAAAAAAECRBACHAAAAjgAAAIkAAACKAAAAjwAAAJAAAACRAAAAkgAAAAAAAADYkwQAhwAAAJMAAACJAAAAigAAAI8AAACUAAAAlQAAAJYAAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAkJMEALCTBABAkQQAAAAAADSUBACHAAAAlwAAAIkAAACKAAAAjwAAAJgAAACZAAAAmgAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAACQkwQADJQEAECRBAAAAAAAoJEEAIcAAACbAAAAiQAAAIoAAACcAEHkqBILEtBiAACUYwAA0mIAAOBiAADwYgBBpKoSCwMY8wQAQeCqEgsBBQBB7KoSCwGEAEGEqxILC4UAAACGAAAAOPMEAEGcqxILAQIAQaurEgsF//////8AQfCrEgsDUPdU"},930:A=>{"use strict";A.exports="data:application/wasm;base64,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Rg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACEAYPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAAL5QEBB38gASAAKAIIIgQgACgCBCICa0ECdU0EQCAAIAEEfyACQQAgAUECdCIAEAcgAGoFIAILNgIEDwsCQCACIAAoAgAiAmsiBkECdSIHIAFqIgNBgICAgARJBEBB/////wMgBCACayIEQQF2IgggAyADIAhJGyAEQfz///8HTxsiAwRAIANBgICAgARPDQIgA0ECdBAFIQULIAdBAnQgBWpBACABQQJ0IgEQByEEIAAgBSACIAYQCiIFIANBAnRqNgIIIAAgASAEajYCBCAAIAU2AgAgAgRAIAIQBAsPCxAIAAsQCQAL1QEBAn8jAEEQayIEJAACQAJAIAJBC0kEQCAAIgMgAC0AC0GAAXEgAnI6AAsgACAALQALQf8AcToACwwBCyACQe////8HSw0BIARBCGogACACQQtPBH8gAkEQakFwcSIDIANBAWsiAyADQQtGGwVBCgtBAWoQQyAEKAIMGiAAIAQoAggiAzYCACAAIAAoAghBgICAgHhxIAQoAgxB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgAjYCBAsgAyABIAJBAWoQNCAEQRBqJAAPCxAUAAuBAQECfwJAAkAgAkEETwRAIAAgAXJBA3ENAQNAIAAoAgAgASgCAEcNAiABQQRqIQEgAEEEaiEAIAJBBGsiAkEDSw0ACwsgAkUNAQsDQCAALQAAIgMgAS0AACIERgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAMgBGsPC0EACwgAQYIJEHoACwQAQQELkwEAIABBfzYCACAAQgA3AgQgAEIANwIgIABBAToAHCAAQgA3AhQgAEIANwIMIABCADcCKCAAQgA3AjAgAEIANwI4IABCADcCQCAAQgA3AkwgAEIANwJUIABCADcCXCAAIABBBGo2AkggAEIANwJoIABBAToAZCAAQgA3AnAgAEIANwJ4IABCADcCgAEgAEIANwKIAQt5AQN/IAAtAAwhAwJAIAAoAggiAUH/H0sNACAAKAIEIgJBAEwNACAAIAJBAWsiAjYCBCAAKAIAIAJqLQAAIAFBCHRyIQELIABBACADa0H/AXEiACABQQh2bCIDIAFB/wFxIgJqIAEgACADamsgACACSyIAGzYCCCAAC3oBAn8gAARAIAAoAlghASAAQQA2AlggAQRAIAEoAggiAgRAIAEgAjYCDCACEAQLIAEQBAsgACgCRCIBBEAgACABNgJIIAEQBAsgACgCQCEBIABBADYCQCABBEAgASgCACICBEAgASACNgIEIAIQBAsgARAECyAAEAQLC2kBA38CQCAAIgFBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawsJAEHGCRDJAQAL1gICB38CfiMAQRBrIgQkAAJAIAEpAxAiCSABKQMIWQ0AIAAgASgCACAJp2otAAA6AAwgASABKQMQQgF8NwMQQQEgBEEMaiABEMgBRQ0AIAQoAgwiAq0iCiABKQMIIAEpAxAiCX1VDQAgAkEATA0AIAAgASgCACAJp2oiBTYCAAJAAkAgAAJ/IAUgAkEBayIGaiIHLQAAIghBP00EQCAAIAY2AgQgBy0AAEE/cQwBCwJAIAhBBnZBAWsOAgACBAsgAkECSQ0DIAAgAkECayIDNgIEIAMgBWoiAy0AAUEIdEGA/gBxIAMtAAByC0GAIGo2AggMAQsgAkEDSQ0BIAAgAkEDayICNgIEIAAgAiAFaiIALQABQQh0IAAtAAJBEHRBgID8AXFyIAAtAAByIgBBgCBqNgIIIABB/98/Sw0BCyABIAkgCnw3AxBBASEDCyAEQRBqJAAgAwtEACABBEAgACABKAIAEBYgACABKAIEEBYgASgCHCIABEAgASAANgIgIAAQBAsgASwAG0EASARAIAEoAhAQBAsgARAECwtbACABBEAgACABKAIAEBcgACABKAIEEBcgASgCHCEAIAFBADYCHCAABEAgAEEMaiAAKAIQEBcgACAAKAIEEBYgABAECyABLAAbQQBIBEAgASgCEBAECyABEAQLC20CA38BfgJAIABBBUsNACACKQMQIgYgAikDCFkNACACKAIAIAanai0AACEEIAIgBkIBfDcDECABIATAIgVBAEgEfyAAQQFqIAEgAhAYRQ0BIAVB/wBxIAEoAgBBB3RyBSAECzYCAEEBIQMLIAML7QIBA38jAEEQayIEJAAgAEEANgIEAkACQCABRQ0AAkAgASAAKAIIIgNBBXQiBU0EQCAAIAE2AgQMAQsgBEEANgIIIARCADcDACABQQBIDQIgBCAFQf7///8DTQR/IANBBnQiAyABQR9qQWBxIgUgAyAFSxsFQf////8HCxAwIAAoAgAhAyAAIAQoAgA2AgAgBCADNgIAIAAoAgQhBSAAIAE2AgQgBCAFNgIEIAAoAgghBSAAIAQoAgg2AgggBCAFNgIIIANFDQAgAxAECyABQQV2IQMgACgCACEAIAItAAAEQCABQSBPBEAgAEH/ASADQQJ0EAcaCyABQWBxIAFGDQEgACADQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdnI2AgAMAQsgAUEgTwRAIABBACADQQJ0EAcaCyABQWBxIAFGDQAgACADQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdkF/c3E2AgALIARBEGokAA8LEAgAC5oEAQh/IAEgACgCCCIDIAAoAgQiBGtBAnVNBEACQCABRQ0AIAQhAyABQQdxIgYEQANAIAMgAigCADYCACADQQRqIQMgCEEBaiIIIAZHDQALCyABQQJ0IARqIQQgAUEBa0H/////A3FBB0kNAANAIAMgAigCADYCACADIAIoAgA2AgQgAyACKAIANgIIIAMgAigCADYCDCADIAIoAgA2AhAgAyACKAIANgIUIAMgAigCADYCGCADIAIoAgA2AhwgA0EgaiIDIARHDQALCyAAIAQ2AgQPCwJAIAQgACgCACIHayIKQQJ1IgYgAWoiBUGAgICABEkEQEH/////AyADIAdrIgNBAXYiBCAF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EA0iBA0BC0F/IAcgAiADSRshBAsgASAAIARBAEgiAhshASAAQQRqIAAgAhsoAgAiAA0ACyABIAZGDQACQCABKAIUIAEtABsiACAAwEEASCICGyIAIAMgACADSRsiBARAIAUgASgCECABQRBqIAIbIAQQDSIFDQELIAAgA0sNAQwCCyAFQQBODQELIAYhAQsgAQuOAQEBfyAABEAgACgCTCIBBEAgACABNgJQIAEQBAsgAEFAaygCACIBBEAgACABNgJEIAEQBAsgACgCMCIBBEAgACABNgI0IAEQBAsgACgCGCIBBEAgACABNgIcIAEQBAsgACgCDCIBBEAgACABNgIQIAEQBAsgACgCACIBBEAgACABNgIEIAEQBAsgABAECwvlAQEHfyABIAAoAggiBCAAKAIEIgJrQQN1TQRAIAAgAQR/IAJBACABQQN0IgAQByAAagUgAgs2AgQPCwJAIAIgACgCACICayIGQQN1IgcgAWoiA0GAgICAAkkEQEH/////ASAEIAJrIgRBAnYiCCADIAMgCEkbIARB+P///wdPGyIDBEAgA0GAgICAAk8NAiADQQN0EAUhBQsgB0EDdCAFakEAIAFBA3QiARAHIQQgACAFIAIgBhAKIgUgA0EDdGo2AgggACABIARqNgIEIAAgBTYCACACBEAgAhAECw8LEAgACxAJAAvHCQEJfyMAQSBrIgckAAJAAkAgACgCCEEFdCABTw0AIAFBAEgNASABQQFrQQV2QQFqIgFBAnQQBSECIAcgATYCGCAHQQA2AhQgByACNgIQIAAoAgAhASAHQQA2AgwgByABNgIIIAcgACgCBCICQR9xNgIEIAcgASACQQN2Qfz///8BcWo2AgAjAEEgayICJAAgByAHKAIEIgggBygCDCIFayAHKAIAIgkgBygCCCIDa0EDdGoiASAHKAIUIgZqIgQ2AhQgBkEAIARBAWsgBkEBa3NBIEkbRQRAIAcoAhAgBEEBa0EFdkEAIARBIU8bQQJ0akEANgIACyAHKAIQIAZBA3ZB/P///wFxaiEEAkAgBkEfcSIGIAVGBEAgAUEATA0BIAUEQCAEIAQoAgBBfyAFdEF/QSAgBWsiBiABIAYgASAGSBsiBmt2cSIIQX9zcSADKAIAIAhxcjYCACADQQRqIQMgBCAFIAZqQQN2Qfz///8BcWohBCABIAZr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ASkCADcCACADIAEoAgg2AgggA0EMaiEBIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsgACgCACECCyAAIAUgBEEMbGo2AgggACABNgIEIAAgAzYCACACBEAgAhAECw8LEAgACxAJAAuUBAEDfyABIAAgAUYiAjoADAJAIAINAANAIAEoAggiAi0ADA0BAkAgAiACKAIIIgMoAgAiBEYEQAJAIAMoAgQiBEUNACAELQAMDQAMAgsCQCABIAIoAgBGBEAgAiEBDAELIAIgAigCBCIBKAIAIgA2AgQgASAABH8gACACNgIIIAIoAggFIAMLNgIIIAIoAggiACAAKAIAIAJHQQJ0aiABNgIAIAEgAjYCACACIAE2AgggASgCCCIDKAIAIQILIAFBAToADCADQQA6AAwgAyACKAIEIgA2AgAgAARAIAAgAzYCCAsgAiADKAIINgIIIAMoAggiACAAKAIAIANHQQJ0aiACNgIAIAIgAzYCBCADIAI2AggPCwJAIARFDQAgBC0ADA0ADAELAkAgASACKAIARwRAIAIhAQwBCyACIAEoAgQiADYCACABIAAEfyAAIAI2AgggAigCCAUgAws2AgggAigCCCIAIAAoAgAgAkdBAnRqIAE2AgAgASACNgIEIAIgATYCCCABKAIIIQMLIAFBAToADCADQQA6AAwgAyADKAIEIgAoAgAiATYCBCABBEAgASADNgIICyAAIAMoAgg2AgggAygCCCIBIAEoAgAgA0dBAnRqIAA2AgAgACADNgIAIAMgADYCCAwCCyAEQQxqIQEgAkEBOgAMIAMgACADRjoADCABQQE6AAAgAyIBIABHDQALCwsrAQF/AkAgACgCLEUNACAAKAIwRQ0AIAAoAjRFDQAgACgCOEEARyEBCyABC8oEAQd/IAMgAmsiB0EATARADwsCQCAAKAIIIgQgACgCBCIIayAHTgRAIAggAWsiCSAHTgRAIAghBSADIQYMAgsgCCEFIAMgAiAJaiIGRwRAIAYhBANAIAUgBC0AADoAACAFQQFqIQUgBEEBaiIEIANHDQALCyAAIAU2AgQgCUEASg0BDwsgCCAAKAIAIgprIAdqIgZBAE4EQCABIAprIQkgCUH/////ByAEIAprIgVBAXQiBCAGIAQgBksbIAVB/////wNP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An8gByAAKAIcRQ0AGiABQQFqIgUgAUECayAFQQNwGyEEIAFBAWsgAUEDcA0AGiABQQJqCyEFIARBf0YEQCAAKAIUIQEMAwsgACgCECgCACAEQQJ0aigCACIEIAAoAhQiASgCBCABKAIAIghrQQJ1Tw0CIAAoAgggCCAEQQJ0aigCAEECdGooAgAhBCAAKAIEIgEtAFRFBEAgASgCRCAEQQJ0aigCACEECyADQgA3AzAgA0IANwMoIANCADcDICABIAQgASwAGCADQSBqEBsgBUF/RgRAIAAoAhQhAQwCCyAAKAIQKAIAIAVBAnRqKAIAIgUgACgCFCIBKAIEIAEoAgAiBGtBAnVPDQEgACgCCCAEIAVBAnRqKAIAQQJ0aigCACEEIAAoAgQiAS0AVEUEQCABKAJEIARBAnRqKAIAIQQLIANCADcDGCADQgA3AxAgA0IANwMIIAEgBCABLAAYIANBCGoQGyAKIAMpAwggAykDOCIKfSIJIAMpAyggAykDQCILfSIMfn0gAykDECALfSILIAMpAyAgCn0iD358IQogDSAJIAMpAzAgAykDSCINfSIQfnwgAykDGCANfSIJIA9+fSENIA4gCyAQfn0gCSAMfnwhDiADQdAAahB0IAMoAlgiAUF/Rw0ACyAOIA5CP4ciCYUgCX0hCUL///////////8AIQsgDSANQj+HIgyFIAx9IgxC////////////AIUhDwJAIAoCfiAAKAIcRQRAIAkgD1YNAkKAgICAcCAJIAx8IgkgCiAKQj+HIguFIAt9Igt8QiCGIAkgC0L///////////8AhVYbIglCgYCAgICAgIAgUw0CIAlCPYgMAQsCQCAJIA9WDQAgCSAMfCIJIAogCkI/hyIMhSAMfSIMQv///////////wCFVg0AIAkgDHwiC0KBgICAAlQNAgsgC0IdiAsiCX8hCiANIAl/IQ0gDiAJfyEOCyACIAo+AgggAiANPgIEIAIgDj4CACADQeAAaiQADwsQDgALEA4ACxAOAAsWACABQQFNBEAgACABNgIcCyABQQJJC5ULAgV/CX4jAEHgAGsiBCQAIAAoAhAhAyAEQQE6AFwgBCABNgJYIAQgATYCVCAEIAM2AlACQAJAIAMoAhwgAUECdGooAgAiAyAAKAIUIgUoAgQgBSgCACIFa0ECdUkEQCAAKAIIIAUg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CSgCAEF+IAt3cTYCACADQQJqIQMgAkECaiICIAhHDQALCyAERQ0AIAAgASADQQJ0aigCACIBQQN2Qfz///8BcWoiACAAKAIAQX4gAXdxNgIACwttAgN/AX4CQCAAQQVLDQAgAikDECIGIAIpAwhZDQAgAigCACAGp2otAAAhBCACIAZCAXw3AxAgASAEwCIFQQBIBH8gAEEBaiABIAIQYUUNASAFQf8AcSABKAIAQQd0cgUgBAs2AgBBASEDCyADC7QEAQh/IAEgACgCCCIDIAAoAgAiBGtBAnVNBEACQCAAKAIEIgUgBGtBAnUiByABIAEgB0sbIghFDQAgBCEDIAgiBkEHcSIJBEADQCADIAIoAgA2AgAgBkEBayEGIANBBGohAyAKQQFqIgogCUcNAAsLIAhBCEkNAANAIAMgAigCADYCACADIAIoAgA2AgQgAyACKAIANgIIIAMgAigCADYCDCADIAIoAgA2AhAgAyACKAIANgIUIAMgAigCADYCGCADIAIoAgA2AhwgA0EgaiEDIAZBCGsiBg0ACwsgASAHSwRAIAUgASAHa0ECdGohAQNAIAUgAigCADYCACAFQQRqIgUgAUcNAAsgACABNgIEDwsgACAEIAFBAnRqNgIEDwsgBARAIAAgBDYCBCAEEAQgAEEANgIIIABCADcCAEEAIQMLAkAgAUGAgICABE8NAEH/////AyADQQF2IgQgASABIARJGyADQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiAxAFIgQ2AgAgACADIARqNgIIIAIoAgAhAiAEIQMgAUEHcSIGBEADQCADIAI2AgAgA0EEaiEDIAVBAWoiBSAGRw0ACwsgAUECdCAEaiEEIAFBAWtB/////wNxQQdPBEADQCADIAI2AhwgAyACNgIYIAMgAjYCFCADIAI2AhAgAyACNgIMIAMgAjYCCCADIAI2AgQgAyACNgIAIANBIGoiAyAERw0ACwsgACAENgIEDwsQCAAL7wEBAn8gACAAKAIEIgIgAWoiAzYCBCACQQAgA0EBayACQQFrc0EgSRtFBEAgACgCACADQQFrQQV2QQAgA0EhTxtBAnRqQQA2AgALAkAgAUUNACAAKAIAIAJBA3ZB/P///wFxaiEAIAJBH3EiAgRAIAAgACgCAEF/IAJ0QX9BICACayICIAIgASABIAJLGyICa3ZxQX9zcTYCACABIAJrIQEgAEEEaiEACyABQQV2IQIgAUEgTwRAIABBACACQQJ0EAcaCyABIAFBYHFGDQAgACACQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdkF/c3E2AgALC1sAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AgggAEFAa0IANwIAIABCADcCSCAAQgA3AlAgACAANgI8IAALBABBAgspACABBEAgACABKAIAEGYgACABKAIEEGYgAUEUaiABKAIYEDkgARAECwvTAQICfwJ+AkAgACgCQA0AQSAQBSICQgA3AxAgAkEANgIIIAJCADcDACACQgA3AxggACgCQCEDIAAgAjYCQCADRQ0AIAMoAgAiAgRAIAMgAjYCBCACEAQLIAMQBAsgACgCQEEAIAAoAhxBAWsiAkEKTQR/IAJBAnRBpM8AaigCAAVBfwsgAC0AGGysIgQgAa1+EKoBIgMEQCAAIAAoAkAiAjYCACAAIAIpAxA3AwggAikDGCEFIABCADcDMCAAIAQ3AyggACAFNwMQIAAgATYCUAsgAwtwACAAIAEpAwA3AwAgACABKQM4NwM4IAAgASkDMDcDMCAAIAEpAyg3AyggACABKQMgNwMgIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMINwMIIABBADYCWCAAQgA3A0AgAEIANwNIIABCADcATSAACzMAIABBADYCACAAIAE2AjggAEIANwMwIAAgBTcDKCAAIAQ6ACAgACADNgIcIAAgAjoAGAsQACAAKAIEIAAoAgBrQQJ1CwcAIAAoAlALCwAgAARAIAAQBAsLxwEBBH8CQCAAIAEQLSIBIABBBGpGDQAgAUEcaiIAKAIAIAAgASwAJ0EASBshAQNAIAEiAEEBaiEBIAAsAAAiAkEgRiACQQlrQQVJcg0ACwJAAkACQCAALAAAIgJBK2sOAwECAAILQQEhBAsgASwAACECIAEhAAsgAkEwa0EKSQRAA0AgA0EKbCAALAAAa0EwaiEDIAAsAAEhASAAQQFqIQAgAUEwa0EKSQ0ACwsgA0EAIANrIAQbIgBBf0YNACAAQQBHIQULIAULUQEBfgJ/IAEEQEEAQQEgAiAAEKkBRQ0BGgsgAEEBOgAkIABBADYCICAAIAAoAgAgACkDECIDp2oiAjYCGCAAIAIgACkDCCADfadqNgIcQQELC4gBAQN/IAAEQCAAKAIYIgMEQCAAKAIcIgIgAyIBRwRAA0AgAkEEayICKAIAIQEgAkEANgIAIAEEQCABQQxqIAEoAhAQFyABIAEoAgQQFiABEAQLIAIgA0cNAAsgACgCGCEBCyAAIAM2AhwgARAECyAAQQxqIAAoAhAQFyAAIAAoAgQQFiAAEAQLC7ELAgJ/An4jAEEwayIDJAAgA0H2zgApAQA3ASYgA0HwzgApAwA3AyAgA0HozgApAwA3AxggA0HgzgApAwA3AxACQAJAIAEpAwggASkDECIFQgV8UwRAIANBEGoQEyIEQfD///8HTw0CAkACQCAEQQtPBEAgBEEPckEBaiIBEAUhAiADIAFBgICAgHhyNgIIIAMgAjYCACADIAQ2AgQgAiAEaiEBDAELIAMgBDoACyADIARqIQEgAyECIARFDQELIAIgA0EQaiAEEAYaCyABQQA6AAAgAEF+NgIAIABBBGohACADLAALQQBOBEAgACADKQMANwIAIAAgAygCCDYCCAwCCyAAIAMoAgAgAygCBBAMIAMsAAtBAE4NASADKAIAEAQMAQsgAiABKAIAIAWnaiIEKAAANgAAIAIgBC0ABDoABCABIAEpAxBCBXwiBTcDECACQeIJQQUQDQRAQSAQBSIBQQA6ABEgAUHWCy0AADoAECABQc4LKQAANwAIIAFBxgspAAA3AAAgAEF/NgIAIABBBGogAUEREAwgARAEDAELIAUgASkDCFkEQCADQRBqEBMiBEHw////B08NAgJAAkAgBEELTwRAIARBD3JBAWoiARAFIQIgAyABQYCAgIB4cjYCCCADIAI2AgAgAyAENgIEIAIgBGohAQwBCyADIAQ6AAsgAyAEaiEBIAMhAiAERQ0BCyACIANBEGogBBAGGgsgAUEAOgAAIABBfjYCACAAQQRqIQAgAywAC0EATgRAIAAgAykDADcCACAAIAMoAgg2AggMAgsgACADKAIAIAMoAgQQDCADLAALQQBODQEgAygCABAEDAELIAIgASgCACAFp2otAAA6AAUgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQEyIEQfD///8HTw0CAkACQCAEQQtPBEAgBEEPckEBaiIBEAUhAiADIAFBgICAgHhyNgIIIAMgAjYCACADIAQ2AgQgAiAEaiEBDAELIAMgBDoACyADIARqIQEgAyECIARFDQELIAIgA0EQaiAEEAYaCyABQQA6AAAgAEF+NgIAIABBBGohACADLAALQQBOBEAgACADKQMANwIAIAAgAygCCDYCCAwCCyAAIAMoAgAgAygCBBAMIAMsAAtBAE4NASADKAIAEAQMAQsgAiABKAIAIAWnai0AADoABiABIAEpAxBCAXwiBTcDECAFIAEpAwhZBEAgA0EQahATIgRB8P///wdPDQICQAJAIARBC08EQCAEQQ9yQQFqIgEQBSECIAMgAUGAgICAeHI2AgggAyACNgIAIAMgBDYCBCACIARqIQEMAQsgAyAEOgALIAMgBGohASADIQIgBEUNAQsgAiADQRBqIAQQBhoLIAFBADoAACAAQX42AgAgAEEEaiEAIAMsAAtBAE4EQCAAIAMpAwA3AgAgACADKAIINgIIDAILIAAgAygCACADKAIEEAwgAywAC0EATg0BIAMoAgAQBAwBCyACIAEoAgAgBadqLQAAOgAHIAEgASkDEEIBfCIFNwMQIAUgASkDCFkEQCADIANBEGoQTyEBIABBfjYCACAAQQRqIQAgASwAC0EATgRAIAAgASkCADcCACAAIAEoAgg2AggMAgsgACABKAIAIAEoAgQQDCABLAALQQBODQEgASgCABAEDAELIAIgASgCACAFp2otAAA6AAggASABKQMQIgVCAXwiBjcDECABKQMIIAVCA3xTBEAgAyADQRBqEE8hASAAQX42AgAgAEEEaiEAIAEsAAtBAE4EQCAAIAEpAgA3AgAgACABKAIINgIIDAILIAAgASgCACABKAIEEAwgASwAC0EATg0BIAEoAgAQBAwBCyACIAEoAgAgBqdqLwAAOwEKIAEgASkDEEICfDcDECAAQgA3AgggAEIANwIACyADQTBqJAAPCxAUAAvvBQEGf0F/IQUCf0F/IAFBf0YNABogAUEBaiICIAFBAmsgAkEDcBshBSABQQFrIAFBA3ANABogAUECagshBgJAAn8CQAJAAkACQCAAKAKoAQ4IAAAFAgUBBQMFC0F/IQEgACgClAEhBEF/IQJBASEDIAAoApwBIgcgBUF/RwR/IAQoAgAgBUECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgAgByAGQX9HBH8gBCgCACAGQQJ0aigCAAVBfwtBAnRqDAMLQX8hAiAAKAKUASEEQX8hAyABQX9HBEAgBCgCACABQQJ0aigCACEDCyAAKAKcASIBIANBAnRqIgMgAygCAEEBajYCACABIAVBf0cEfyAEKAIAIAVBAnRqKAIABUF/C0ECdGoiAiACKAIAQQFqNgIAQX8hAkECIQMgASAGQX9HBH8gBCgCACAGQQJ0aigCAAVBfwtBAnRqDAILQX8hAiAAKAKUASEEQX8hAyABQX9HBEAgBCgCACABQQJ0aigCACEDCyAAKAKcASIBIANBAnRqIgMgAygCAEEBajYCACABIAVBf0cEfyAEKAIAIAVBAnRqKAIABUF/C0ECdGoiAiACKAIAQQJqNgIAQX8hAkEBIQMgASAGQX9HBH8gBCgCACAGQQJ0aigCAAVBfwtBAnRqDAELQX8hAiAAKAKUASEEQX8hAyABQX9HBEAgBCgCACABQQJ0aigCACEDCyAAKAKcASIBIANBAnRqIgMgAygCAEECajYCACABIAVBf0cEfyAEKAIAIAVBAnRqKAIABUF/C0ECdGoiAiACKAIAQQJqNgIAQX8hAkECIQMgASAGQX9HBH8gBCgCACAGQQJ0aigCAAVBfwtBAnRqCyIBIAEoAgAgA2o2AgALQX8hASAAIAAoApwBIAVBf0cEfyAAKAKUASgCACAFQQJ0aigCAAVBfwtBAnRqKAIAIgEgACgCtAEiAiABIAJIGyAAKAKwASIAa0EAIAAgAUwbNgKsAQvxAgECfyAAIAEpAgQ3AgQgACABKAIUNgIUIAAgASkCDDcCDAJAAkAgACABRwRAIAAgASgCHCICBH8gACgCGCEDIAAoAiBBBXQgAkkEQCADBEAgAxAEIABBADYCICAAQgA3AhggASgCHCECCyACQQBIDQMgAkEBa0EFdkEBaiICQQJ0EAUhAyAAIAI2AiAgAEEANgIcIAAgAzYCGCABKAIcIQILIAMgASgCGCACQQFrQQN2Qfz///8BcUEEahAKGiABKAIcBUEACzYCHCAAIAEoAigiAgR/IAAoAiQhAyAAKAIsQQV0IAJJBEAgAwRAIAMQBCAAQQA2AiwgAEIANwIkIAEoAighAgsgAkEASA0EIAJBAWtBBXZBAWoiAkECdBAFIQMgACACNgIsIABBADYCKCAAIAM2AiQgASgCKCECCyADIAEoAiQgAkEBa0EDdkH8////AXFBBGoQChogASgCKAVBAAs2AigLDwsQCAALEAgAC/ZCAhZ/An4gAEUEQEEBDwsCQCACKQMQIhogAikDCFkNACACKAIAIBqnai0AACELIAIgGkIBfDcDEAJAAkAgCw4CAAECCyAAIQ8gASELIAMhBUEAIQBBACEDIwBBQGoiBCQAIARBADYCOCAEQgA3AzAgBEIANwMoIARCADcDICAEQgA3AxggBEIANwMQIARCADcDCAJAIARBCGogAhDFAUUNACAEQQhqIAIQxAFFDQAgDwRAIAQoAhRFDQELIAJBAEEAEG4aIA8EQCALQQJ0IRMgBCgCJCEUIAQoAjAhFSAEKAIYIRYgBCgCOCEGIAQoAjQhCgNAAkAgBkH//wBLDQADQCAKQQBMDQEgBCAKQQFrIgo2AjQgBCAKIBVqLQAAIAZBCHRyIgY2AjggBkGAgAFJDQALCyAEIBQgFiAGQf8fcSIAQQJ0aigCACIMQQN0aiIBKAIAIAZBDHZsIABqIAEoAgRrIgY2AjggC0EASgRAQQAhACACLQAkRQ0DIAxBIEsNAyADIAtqIQcCQCAMRQRAIAUgA0ECdGpBACATEAcaDAELIAxBfnEhFyAMQQFxIRggAigCICEBIAIoAhwhCSACKAIYIQ4DQEEAIRAgASEAQQAhCEEAIQ0gDEEBRwRAA0ACQCAJIA4gAEEDdmoiEU0EQEEAIREMAQsgES0AACERIAIgAEEBaiIBNgIgIBEgAEEHcXZBAXEhESABIQALIBEgEHQgCHIhEUEAIQggCSAOIABBA3ZqIhJLBEAgEi0AACEIIAIgAEEBaiIBNgIgIAggAEEHcXZBAXEhCCABIQALIBBBAXIhEiAQQQJqIRAgCCASdCARciEIIA1BAmoiDSAXRw0ACwsgBSADQQJ0aiAYBH8gCCAJIA4gAEEDdmoiDUsEfyANLQAAIQ0gAiAAQQFqIgE2AiAgDSAAQQdxdkEBcQVBAAsgEHRyBSAICzYCACADQQFqIgMgB0cNAAsLIAchAwsgCyAZaiIZIA9JDQALCyACQQA6ACQgAiACKQMQIAI1AiBCB3xCA4h8NwMQQQEhAAsgBCgCJCIBBEAgBCABNgIoIAEQBAsgBCgCGCIBBEAgBCABNgIcIAEQBAsgBCgCCCIBBEAgBCABNgIMIAEQBAsgBEFAayQAIAAPCwJ/QQAhAQJAAkACQCACKQMQIhogAikDCFkNACACKAIAIBqnai0AACELIAIgGkIBfDcDEAJAAkACQAJAAkACQCALQQFrDhIHBwcHBwcHBwABAgMECAgICAUGCyAAIQsgAyEPIwBBQGoiBSQAIAVBADYCOCAFQgA3AzAgBUIANwMoIAVCADcDICAFQgA3AxggBUIANwMQIAVCADcDCAJAAn8gBUEIaiEDAkAgAi8BJkUNAEEBIANBDGogAhAoRQ0AIAMoAgwiB0EGdq0gAikDCCACKQMQfVUNAAJAIAMoAgQgAygCACIBa0ECdSIAIAdJBEAgAyAHIABrEAsgAygCDCEHDAELIAAgB00NACADIAEgB0ECdGo2AgQLQQEgB0UNARogAikDECEaIAMoAgAhCiACKQMIIRtBACEBA0BBACAaIBtZDQIaIAIoAgAiCSAap2otAAAhBCACIBpCAXwiGjcDECAEQQJ2IQBBACEGAkACQAJAAkAgBEEDcSIODgQCAQEAAQtBACAHIAAgAWoiAE0NBRogCiABQQJ0akEAIARB/AFxQQRqEAcaIAAhAQwCCwNAIBogG1ENBCAJIBqnai0AACEHIAIgGkIBfCIaNwMQIAcgBkEDdEEGcnQgAHIhACAGQQFqIgYgDkcNAAsLIAogAUECdGogADYCAAsgAUEBaiIBIAMoAgwiB0kNAAsgA0EQaiEAIAMoAgAhDgJAIAMoAhQgAygCECIEayIBQf//AU0EQCAAQYDAACABQQJ2axALDAELIAFBgIACRg0AIAMgBEGAgAJqNgIUCwJAIAMoAiAgA0EcaiIEKAIAIgFrQQN1IgYgB0kEQCAEIAcgBmsQLyAEKAIAIQEMAQsgBiAHSwRAIAMgASAHQQN0ajYCIAsgB0UNAQsgACgCACEKQQAhBEEAIQMDQCAOIARBAnRqIgYoAgAhCSABIARBA3RqIg0gAyIANgIEIA0gCTYCACAGKAIAIgkgAGoiA0GAwABLDQECQCAAIANPDQBBACEGIAlBB3EiDQRAA0AgCiAAQQJ0aiAENgIAIABBAWohACAGQQFqIgYgDUcNAAsLIAlBAWtBBk0NAANAIAogAEECdGoiBiAENgIAIAYgBDYCHCAGIAQ2AhggBiAENgIUIAYgBDYCECAGIAQ2AgwgBiAENgIIIAYgBDYCBCAAQQhqIgAgA0cNAAsLIARBAWoiBCAHRw0ACyADQYDAAEYhEAsgEAtFDQAgCwRAIAUoAhRFDQELQQAhAyMAQRBrIgckAAJAQQEgB0EIaiACECdFDQAgBykDCCIaIAIpAwggAikDECIbfVYNACACIBogG3w3AxAgGqciAEEATA0AIAUgAigCACAbp2oiATYCMCAFAn8gASAAQQFrIgJqIgQtAAAiBkE/TQRAIAUgAjYCNCAELQAAQT9xDAELAkACQAJAIAZBBnZBAWsOAgABAgsgAEECSQ0DIAUgAEECayIANgI0IAAgAWoiAC0AAUEIdEGA/gBxIAAtAAByDAILIABBA0kNAiAFIABBA2siADYCNCAAIAFqIgAtAAFBCHQgAC0AAkEQdEGAgPwBcXIgAC0AAHIMAQsgBSAAQQRrIgA2AjQgACABaigAAEH/////A3ELIgBBgIACajYCOCAAQYCA/gNJIQMLIAdBEGokACADRQ0AIAtFBEBBASEIDAELIAUoAjQhASAFKAI4IQAgBSgCJCECIAUoAjAhAyAFKAIYIQcDQAJAIABB//8BSw0AA0AgAUEATA0BIAUgAUEBayIBNgI0IAUgASADai0AACAAQQh0ciIANgI4IABBgIACSQ0ACwsgBSACIAcgAEH/P3EiBEECdGooAgAiBkEDdGoiCCgCACAAQQ12bCAEaiAIKAIEayIANgI4IA8gDEECdGogBjYCAEEBIQggDEEBaiIMIAtHDQALCyAFKAIkIgAEQCAFIAA2AiggABAECyAFKAIYIgAEQCAFIAA2AhwgABAECyAFKAIIIgAEQCAFIAA2AgwgABAECyAFQUBrJAAgCAwICyAAIQsgAyEPIwBBQGoiBSQAIAVBADYCOCAFQgA3AzAgBUIANwMoIAVCADcDICAFQgA3AxggBUIANwMQIAVCADcDCAJAAn8gBUEIaiEDAkAgAi8BJkUNAEEBIANBDGogAhAoRQ0AIAMoAgwiB0EGdq0gAikDCCACKQMQfVUNAAJAIAMoAgQgAygCACIBa0ECdSIAIAdJBEAgAyAHIABrEAsgAygCDCEHDAELIAAgB00NACADIAEgB0ECdGo2AgQLQQEgB0UNARogAikDECEaIAMoAgAhCiACKQMIIRtBACEBA0BBACAaIBtZDQIaIAIoAgAiCSAap2otAAAhBCACIBpCAXwiGjcDECAEQQJ2IQBBACEGAkACQAJAAkAgBEEDcSIODgQCAQEAAQtBACAHIAAgAWoiAE0NBRogCiABQQJ0akEAIARB/AFxQQRqEAcaIAAhAQwCCwNAIBogG1ENBCAJIBqnai0AACEHIAIgGkIBfCIaNwMQIAcgBkEDdEEGcnQgAHIhACAGQQFqIgYgDkcNAAsLIAogAUECdGogADYCAAsgAUEBaiIBIAMoAgwiB0kNAAsgA0EQaiEAIAMoAgAhDgJAIAMoAhQgAygCECIEayIBQf//B00EQCAAQYCAAiABQQJ2axALDAELIAFBgIAIRg0AIAMgBEGAgAhqNgIUCwJAIAMoAiAgA0EcaiIEKAIAIgFrQQN1IgYgB0kEQCAEIAcgBmsQLyAEKAIAIQEMAQsgBiAHSwRAIAMgASAHQQN0ajYCIAsgB0UNAQsgACgCACEKQQAhBEEAIQMDQCAOIARBAnRqIgYoAgAhCSABIARBA3RqIg0gAyIANgIEIA0gCTYCACAGKAIAIgkgAGoiA0GAgAJLDQECQCAAIANPDQBBACEGIAlBB3EiDQRAA0AgCiAAQQJ0aiAENgIAIABBAWohACAGQQFqIgYgDUcNAAsLIAlBAWtBBk0NAANAIAogAEECdGoiBiAENgIAIAYgBDYCHCAGIAQ2AhggBiAENgIUIAYgBDYCECAGIAQ2AgwgBiAENgIIIAYgBDYCBCAAQQhqIgAgA0cNAAsLIARBAWoiBCAHRw0ACyADQYCAAkYhEAsgEAtFDQAgCwRAIAUoAhRFDQELQQAhAyMAQRBrIgckAAJAQQEgB0EIaiACECdFDQAgBykDCCIaIAIpAwggAikDECIbfVYNACACIBogG3w3AxAgGqciAEEATA0AIAUgAigCACAbp2oiATYCMCAFAn8gASAAQQFrIgJqIgQtAAAiBkE/TQRAIAUgAjYCNCAELQAAQT9xDAELAkACQAJAIAZBBnZBAWsOAgABAgsgAEECSQ0DIAUgAEECayIANgI0IAAgAWoiAC0AAUEIdEGA/gBxIAAtAAByDAILIABBA0kNAiAFIABBA2siADYCNCAAIAFqIgAtAAFBCHQgAC0AAkEQdEGAgPwBcXIgAC0AAHIMAQsgBSAAQQRrIgA2AjQgACABaigAAEH/////A3ELIgBBgIAIajYCOCAAQYCA+A9JIQMLIAdBEGokACADRQ0AIAtFBEBBASEIDAELIAUoAjQhASAFKAI4IQAgBSgCJCECIAUoAjAhAyAFKAIYIQcDQAJAIABB//8HSw0AA0AgAUEATA0BIAUgAUEBayIBNgI0IAUgASADai0AACAAQQh0ciIANgI4IABBgIAISQ0ACwsgBSACIAcgAEH//wFxIgRBAnRqKAIAIgZBA3RqIggoAgAgAEEPdmwgBGogCCgCBGsiADYCOCAPIAxBAnRqIAY2AgBBASEIIAxBAWoiDCALRw0ACwsgBSgCJCIABEAgBSAANgIoIAAQBAsgBSgCGCIABEAgBSAANgIcIAAQBAsgBSgCCCIABEAgBSAANgIMIAAQBAsgBUFAayQAIAgMBwsgACELIAMhDyMAQUBqIgUkACAFQQA2AjggBUIANwMwIAVCADcDKCAFQgA3AyAgBUIANwMYIAVCADcDECAFQgA3AwgCQAJ/IAVBCGohAwJAIAIvASZFDQBBASADQQxqIAIQKEUNACADKAIMIgdBBnatIAIpAwggAikDEH1VDQACQCADKAIEIAMoAgAiAWtBAnUiACAHSQRAIAMgByAAaxALIAMoAgwhBwwBCyAAIAdNDQAgAyABIAdBAnRqNgIEC0EBIAdFDQEaIAIpAxAhGiADKAIAIQogAikDCCEbQQAhAQNAQQAgGiAbWQ0CGiACKAIAIgkgGqdqLQAAIQQgAiAaQgF8Iho3AxAgBEECdiEAQQAhBgJAAkACQAJAIARBA3EiDg4EAgEBAAELQQAgByAAIAFqIgBNDQUaIAogAUECdGpBACAEQfwBcUEEahAHGiAAIQEMAgsDQCAaIBtRDQQgCSAap2otAAAhByACIBpCAXwiGjcDECAHIAZBA3RBBnJ0IAByIQAgBkEBaiIGIA5HDQALCyAKIAFBAnRqIAA2AgALIAFBAWoiASADKAIMIgdJDQALIANBEGohACADKAIAIQ4CQCADKAIUIAMoAhAiBGsiAUH//w9NBEAgAEGAgAQgAUECdmsQCwwBCyABQYCAEEYNACADIARBgIAQajYCFAsCQCADKAIgIANBHGoiBCgCACIBa0EDdSIGIAdJBEAgBCAHIAZrEC8gBCgCACEBDAELIAYgB0sEQCADIAEgB0EDdGo2AiALIAdFDQELIAAoAgAhCkEAIQRBACEDA0AgDiAEQQJ0aiIGKAIAIQkgASAEQQN0aiINIAMiADYCBCANIAk2AgAgBigCACIJIABqIgNBgIAESw0BAkAgACADTw0AQQAhBiAJQQdxIg0EQANAIAogAEECdGogBDYCACAAQQFqIQAgBkEBaiIGIA1HDQALCyAJQQFrQQZNDQADQCAKIABBAnRqIgYgBDYCACAGIAQ2AhwgBiAENgIYIAYgBDYCFCAGIAQ2AhAgBiAENgIMIAYgBDYCCCAGIAQ2AgQgAEEIaiIAIANHDQALCyAEQQFqIgQgB0cNAAsgA0GAgARGIRALIBALRQ0AIAsEQCAFKAIURQ0BC0EAIQMjAEEQayIHJAACQEEBIAdBCGogAhAnRQ0AIAcpAwgiGiACKQMIIAIpAxAiG31WDQAgAiAaIBt8NwMQIBqnIgBBAEwNACAFIAIoAgAgG6dqIgE2AjAgBQJ/IAEgAEEBayICaiIELQAAIgZBP00EQCAFIAI2AjQgBC0AAEE/cQwBCwJAAkACQCAGQQZ2QQFrDgIAAQILIABBAkkNAyAFIABBAmsiADYCNCAAIAFqIgAtAAFBCHRBgP4AcSAALQAAcgwCCyAAQQNJDQIgBSAAQQNrIgA2AjQgACABaiIALQABQQh0IAAtAAJBEHRBgID8AXFyIAAtAAByDAELIAUgAEEEayIANgI0IAAgAWooAABB/////wNxCyIAQYCAEGo2AjggAEGAgPAfSSEDCyAHQRBqJAAgA0UNACALRQRAQQEhCAwBCyAFKAI0IQEgBSgCOCEAIAUoAiQhAiAFKAIwIQMgBSgCGCEHA0ACQCAAQf//D0sNAANAIAFBAEwNASAFIAFBAWsiATYCNCAFIAEgA2otAAAgAEEIdHIiADYCOCAAQYCAEEkNAAsLIAUgAiAHIABB//8DcSIEQQJ0aigCACIGQQN0aiIIKAIAIABBEHZsIARqIAgoAgRrIgA2AjggDyAMQQJ0aiAGNgIAQQEhCCAMQQFqIgwgC0cNAAsLIAUoAiQiAARAIAUgADYCKCAAEAQLIAUoAhgiAARAIAUgADYCHCAAEAQLIAUoAggiAARAIAUgADYCDCAAEAQLIAVBQGskACAIDAYLIAAhCyADIQ8jAEFAaiIFJAAgBUEANgI4IAVCADcDMCAFQgA3AyggBUIANwMgIAVCADcDGCAFQgA3AxAgBUIANwMIAkACfyAFQQhqIQMCQCACLwEmRQ0AQQEgA0EMaiACEChFDQAgAygCDCIHQQZ2rSACKQMIIAIpAxB9VQ0AAkAgAygCBCADKAIAIgFrQQJ1IgAgB0kEQCADIAcgAGsQCyADKAIMIQcMAQsgACAHTQ0AIAMgASAHQQJ0ajYCBAtBASAHRQ0BGiACKQMQIRogAygCACEKIAIpAwghG0EAIQEDQEEAIBogG1kNAhogAigCACIJIBqnai0AACEEIAIgGkIBfCIaNwMQIARBAnYhAEEAIQYCQAJAAkACQCAEQQNxIg4OBAIBAQABC0EAIAcgACABaiIATQ0FGiAKIAFBAnRqQQAgBEH8AXFBBGoQBxogACEBDAILA0AgGiAbUQ0EIAkgGqdqLQAAIQcgAiAaQgF8Iho3AxAgByAGQQN0QQZydCAAciEAIAZBAWoiBiAORw0ACwsgCiABQQJ0aiAANgIACyABQQFqIgEgAygCDCIHSQ0ACyADQRBqIQAgAygCACEOAkAgAygCFCADKAIQIgRrIgFB//8/TQRAIABBgIAQIAFBAnZrEAsMAQsgAUGAgMAARg0AIAMgBEGAgEBrNgIUCwJAIAMoAiAgA0EcaiIEKAIAIgFrQQN1IgYgB0kEQCAEIAcgBmsQLyAEKAIAIQEMAQsgBiAHSwRAIAMgASAHQQN0ajYCIAsgB0UNAQsgACgCACEKQQAhBEEAIQMDQCAOIARBAnRqIgYoAgAhCSABIARBA3RqIg0gAyIANgIEIA0gCTYCACAGKAIAIgkgAGoiA0GAgBBLDQECQCAAIANPDQBBACEGIAlBB3EiDQRAA0AgCiAAQQJ0aiAENgIAIABBAWohACAGQQFqIgYgDUcNAAsLIAlBAWtBBk0NAANAIAogAEECdGoiBiAENgIAIAYgBDYCHCAGIAQ2AhggBiAENgIUIAYgBDYCECAGIAQ2AgwgBiAENgIIIAYgBDYCBCAAQQhqIgAgA0cNAAsLIARBAWoiBCAHRw0ACyADQYCAEEYhEAsgEAtFDQAgCwRAIAUoAhRFDQELQQAhAyMAQRBrIgckAAJAQQEgB0EIaiACECdFDQAgBykDCCIaIAIpAwggAikDECIbfVYNACACIBogG3w3AxAgGqciAEEATA0AIAUgAigCACAbp2oiATYCMCAFAn8gASAAQQFrIgJqIgQtAAAiBkE/TQRAIAUgAjYCNCAELQAAQT9xDAELAkACQAJAIAZBBnZBAWsOAgABAgsgAEECSQ0DIAUgAEECayIANgI0IAAgAWoiAC0AAUEIdEGA/gBxIAAtAAByDAILIABBA0kNAiAFIABBA2siADYCNCAAIAFqIgAtAAFBCHQgAC0AAkEQdEGAgPwBcXIgAC0AAHIMAQsgBSAAQQRrIgA2AjQgACABaigAAEH/////A3ELIgBBgIBAazYCOCAAQYCAwP8ASSEDCyAHQRBqJAAgA0UNACALRQRAQQEhCAwBCyAFKAI0IQEgBSgCOCEAIAUoAiQhAiAFKAIwIQMgBSgCGCEHA0ACQCAAQf//P0sNAANAIAFBAEwNASAFIAFBAWsiATYCNCAFIAEgA2otAAAgAEEIdHIiADYCOCAAQYCAwABJDQALCyAFIAIgByAAQf//D3EiBEECdGooAgAiBkEDdGoiCCgCACAAQRJ2bCAEaiAIKAIEayIANgI4IA8gDEECdGogBjYCAEEBIQggDEEBaiIMIAtHDQALCyAFKAIkIgAEQCAFIAA2AiggABAECyAFKAIYIgAEQCAFIAA2AhwgABAECyAFKAIIIgAEQCAFIAA2AgwgABAECyAFQUBrJAAgCAwFCyAAIQsgAyEPIwBBQGoiBSQAIAVBADYCOCAFQgA3AzAgBUIANwMoIAVCADcDICAFQgA3AxggBUIANwMQIAVCADcDCAJAAn8gBUEIaiEDAkAgAi8BJkUNAEEBIANBDGogAhAoRQ0AIAMoAgwiB0EGdq0gAikDCCACKQMQfVUNAAJAIAMoAgQgAygCACIBa0ECdSIAIAdJBEAgAyAHIABrEAsgAygCDCEHDAELIAAgB00NACADIAEgB0ECdGo2AgQLQQEgB0UNARogAikDECEaIAMoAgAhCiACKQMIIRtBACEBA0BBACAaIBtZDQIaIAIoAgAiCSAap2otAAAhBCACIBpCAXwiGjcDECAEQQJ2IQBBACEGAkACQAJAAkAgBEEDcSIODgQCAQEAAQtBACAHIAAgAWoiAE0NBRogCiABQQJ0akEAIARB/AFxQQRqEAcaIAAhAQwCCwNAIBogG1ENBCAJIBqnai0AACEHIAIgGkIBfCIaNwMQIAcgBkEDdEEGcnQgAHIhACAGQQFqIgYgDkcNAAsLIAogAUECdGogADYCAAsgAUEBaiIBIAMoAgwiB0kNAAsgA0EQaiEAIAMoAgAhDgJAIAMoAhQgAygCECIEayIBQf///wBNBEAgAEGAgCAgAUECdmsQCwwBCyABQYCAgAFGDQAgAyAEQYCAgAFqNgIUCwJAIAMoAiAgA0EcaiIEKAIAIgFrQQN1IgYgB0kEQCAEIAcgBmsQLyAEKAIAIQEMAQsgBiAHSwRAIAMgASAHQQN0ajYCIAsgB0UNAQsgACgCACEKQQAhBEEAIQMDQCAOIARBAnRqIgYoAgAhCSABIARBA3RqIg0gAyIANgIEIA0gCTYCACAGKAIAIgkgAGoiA0GAgCBLDQECQCAAIANPDQBBACEGIAlBB3EiDQRAA0AgCiAAQQJ0aiAENgIAIABBAWohACAGQQFqIgYgDUcNAAsLIAlBAWtBBk0NAANAIAogAEECdGoiBiAENgIAIAYgBDYCHCAGIAQ2AhggBiAENgIUIAYgBDYCECAGIAQ2AgwgBiAENgIIIAYgBDYCBCAAQQhqIgAgA0cNAAsLIARBAWoiBCAHRw0ACyADQYCAIEYhEAsgEAtFDQAgCwRAIAUoAhRFDQELQQAhAyMAQRBrIgckAAJAQQEgB0EIaiACECdFDQAgBykDCCIaIAIpAwggAikDECIbfVYNACACIBogG3w3AxAgGqciAEEATA0AIAUgAigCACAbp2oiATYCMCAFAn8gASAAQQFrIgJqIgQtAAAiBkE/TQRAIAUgAjYCNCAELQAAQT9xDAELAkACQAJAIAZBBnZBAWsOAgABAgsgAEECSQ0DIAUgAEECayIANgI0IAAgAWoiAC0AAUEIdEGA/gBxIAAtAAByDAILIABBA0kNAiAFIABBA2siADYCNCAAIAFqIgAtAAFBCHQgAC0AAkEQdEGAgPwBcXIgAC0AAHIMAQsgBSAAQQRrIgA2AjQgACABaigAAEH/////A3ELIgBBgICAAWo2AjggAEGAgID/AUkhAwsgB0EQaiQAIANFDQAgC0UEQEEBIQgMAQsgBSgCNCEBIAUoAjghACAFKAIkIQIgBSgCMCEDIAUoAhghBwNAAkAgAEH///8ASw0AA0AgAUEATA0BIAUgAUEBayIBNgI0IAUgASADai0AACAAQQh0ciIANgI4IABBgICAAUkNAAsLIAUgAiAHIABB//8fcSIEQQJ0aigCACIGQQN0aiIIKAIAIABBE3ZsIARqIAgoAgRrIgA2AjggDyAMQQJ0aiAGNgIAQQEhCCAMQQFqIgwgC0cNAAsLIAUoAiQiAARAIAUgADYCKCAAEAQLIAUoAhgiAARAIAUgADYCHCAAEAQLIAUoAggiAARAIAUgADYCDCAAEAQLIAVBQGskACAIDAQLIAAgAiADEMMBIQELIAEMAgsjAEFAaiIBJAAgAUEANgI4IAFCADcDMCABQgA3AyggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIAkAgAUEIaiACEMUBRQ0AIAAEQCABKAIURQ0BCyABQQhqIAIQxAFFDQAgAEUEQEEBIQ8MAQsgASgCNCELIAEoAjghAiABKAIkIQcgASgCMCEEIAEoAhghBgNAAkAgAkH//wBLDQADQCALQQBMDQEgASALQQFrIgs2AjQgASAEIAtqLQAAIAJBCHRyIgI2AjggAkGAgAFJDQALCyABIAcgBiACQf8fcSIPQQJ0aigCACIIQQN0aiIMKAIAIAJBDHZsIA9qIAwoAgRrIgI2AjggAyAFQQJ0aiAINgIAQQEhDyAFQQFqIgUgAEcNAAsLIAEoAiQiAARAIAEgADYCKCAAEAQLIAEoAhgiAARAIAEgADYCHCAAEAQLIAEoAggiAARAIAEgADYCDCAAEAQLIAFBQGskACAPDAELIAAgAiADEMMBCyEPCyAPC+gCAQN/IAAoAgghASAAKAIAIQMCQCAALQAMBEACQAJAAkACQCABQX9GDQAgAUEBaiICIAFBAmsgAkEDcBsiAUF/Rg0AIAMoAgwgAUECdGooAgAiAUF/Rw0BCyAAQX82AggMAQsgACABQQFqIgIgAUECayACQQNwGyIBNgIIIAFBf0cNAQsCf0F/IAAoAgQiAkF/Rg0AGgJAIAJBA3AEQCACQQFrIQIMAQtBfyACQQJqIgJBf0YNARoLQX8gAygCDCACQQJ0aigCACICQX9GDQAaIAJBAWsgAkEDcA0AGiACQQJqCyEBIABBADoADCAAIAE2AggPCyABIAAoAgRHDQEgAEF/NgIIDwsgAAJ/QX8gAUF/Rg0AGgJAIAFBA3AEQCABQQFrIQEMAQtBfyABQQJqIgFBf0YNARoLQX8gAygCDCABQQJ0aigCACIBQX9GDQAaIAFBAWsgAUEDcA0AGiABQQJqCzYCCAsLAwABCyoBAX8CQCABRQ0AIAEoAjgNACABLQAYQQNHDQAgACABNgI8QQEhAgsgAgszAQF/AkAgACgCPEUNACAAKAIsRQ0AIAAoAjBFDQAgACgCNEUNACAAKAI4QQBHIQELIAELBABBBQsEAEEECx8AQQgQXCAAEIkBIgBBsNoANgIAIABB0NoAQQEQAQALBABBfws6AQJ+IAIpAwgiBCACKQMQIgNVBEAgAigCACADp2otAAAhASACIANCAXw3AxAgACABNgIECyADIARTC08BAX8gAEHYEDYCACAAKAIUIQEgAEEANgIUIAEEQCABIAEoAgAoAgQRAgALIABBgA82AgAgACgCECEBIABBADYCECABBEAgARASCyAAEAQLTQEBfyAAQdgQNgIAIAAoAhQhASAAQQA2AhQgAQRAIAEgASgCACgCBBECAAsgAEGADzYCACAAKAIQIQEgAEEANgIQIAEEQCABEBILIAALpwYCCX8DfgJAIAAgACgCACgCLBEAACIIQQBMDQAgASgCBCABKAIAa0ECdSIFIQMjAEFAaiIGJAAgBhA7IgQgACgCCCgCOCAIQf8BcUEFQQAgCEG0zwAoAgBsrBBpQeAAEAUgBBBoIgRBAToAVCAEIAQoAkQ2AkggBCADEGcaIAQgACgCCCgCPDYCPCAAKAIQIQMgACAENgIQIAMEQCADEBILIAZBQGskACAAKAIQIgYoAlBFDQAgBigCACgCACIDRQ0AIAIpAwgiDiACKQMQIgxXDQAgBSAIbCEEIAMgBigCMGohBiACKAIAIgMgDKdqLQAAIQUgAiAMQgF8Ig03AxACfwJAIAUEQCAEIAggAiAGEHMNAQwDCyANIA5ZDQIgAyANp2otAAAhBSACIAxCAnw3AxAgACgCECgCQCIDKAIEIAMoAgBrIQMgBUG0zwAoAgBGBEAgAyAEQQJ0IgVJDQMgAikDCCACKQMQIgwgBa0iDXxTDQMgBiACKAIAIAynaiAFEAYaIAIgAikDECANfDcDEAwBCyADIAQgBWxJDQIgAikDCCACKQMQIgx9IAWtIg0gBK1+Uw0CQQEgBEUNARpBACEDA0AgAikDCCAMIA18UwRAQQAPCyAGIANBAnRqIAIoAgAgDKdqIAUQBhogAiACKQMQIA18Igw3AxAgA0EBaiIDIARHDQALC0EBIARFDQAaIAAoAhQiAwRAQQAgAyADKAIAKAIgEQAADQEaC0EAIQVBACEDAkAgBEEATA0AIARBAUcEQCAEQX5xIQkDQCAGIAVBAnQiB2ogBiAHaigCACIKQQF2QQAgCkEBcWtzNgIAIAYgB0EEciIHaiAGIAdqKAIAIgdBAXZBACAHQQFxa3M2AgAgBUECaiEFIANBAmoiAyAJRw0ACwsgBEEBcUUNACAGIAVBAnQiA2ogAyAGaigCACIDQQF2QQAgA0EBcWtzNgIAC0EACyEFAkAgACgCFCIDRQ0AIAMgAiADKAIAKAIoEQEARQ0BIAUNACAAKAIUIgAgBiAGIAQgCCABKAIAIAAoAgAoAiwRCABFDQELQQEhCwsgCwtMACAAQgA3AgQgAEHwDTYCACAAQgA3AgwgAEIANwIUIABCADcCHCAAQgA3AiQgAEHgDzYCACAAIAE2AjwgAEIANwIsIABCADcCNCAAC88CAgl9An8CQCACKAIcQQlHDQAgAi0AGEEDRw0AIAAoAgQiAEECa0EcSw0AQQEhDCACKAJQIg1FDQBDAAAAQEEBIAB0QQJrspUhCCACKAIAKAIAIAIoAjBqIQIgASgCACgCACABKAIwaiEAQQAhAQNAQwAAAAAhA0MAAAAAIQlDAAAAACEKIAAoAgSyIAiUQwAAgL+SIgRDAACAPyAAKAIAsiAIlEMAAIC/kiIFi5MgBIuTIgeMQwAAAACXIgYgBowiCyAEQwAAAABdG5IiBCAElCAHIAeUIAUgBiALIAVDAAAAAF0bkiIFIAWUkpIiBrtEje21oPfGsD5jRQRAIARDAACAPyAGkZUiA5QhCiAFIAOUIQkgByADlCEDCyAAQQhqIQAgAiAKOAAIIAIgCTgABCACIAM4AAAgAkEMaiECIAFBAWoiASANRw0ACwsgDAssACAAIAE2AgQgASgCBCgCCCACQQJ0aigCACEBIAAgAjYCDCAAIAE2AghBAQsEAEEBCzQBAn8gAEHM2QA2AgACQCAAKAIEQQxrIgEgASgCCEEBayICNgIIIAJBAE4NACABEAQLIAALmgEAIABBAToANQJAIAAoAgQgAkcNACAAQQE6ADQCQCAAKAIQIgJFBEAgAEEBNgIkIAAgAzYCGCAAIAE2AhAgA0EBRw0CIAAoAjBBAUYNAQwCCyABIAJGBEAgACgCGCICQQJGBEAgACADNgIYIAMhAgsgACgCMEEBRw0CIAJBAUYNAQwCCyAAIAAoAiRBAWo2AiQLIABBAToANgsLXQEBfyAAKAIQIgNFBEAgAEEBNgIkIAAgAjYCGCAAIAE2AhAPCwJAIAEgA0YEQCAAKAIYQQJHDQEgACACNgIYDwsgAEEBOgA2IABBAjYCGCAAIAAoAiRBAWo2AiQLC7oCAQN/IwBBQGoiAiQAIAAoAgAiA0EEaygCACEEIANBCGsoAgAhAyACQgA3AyAgAkIANwMoIAJCADcDMCACQgA3ADcgAkIANwMYIAJBADYCFCACQYzWADYCECACIAA2AgwgAiABNgIIIAAgA2ohAEEAIQMCQCAEIAFBABAgBEAgAkEBNgI4IAQgAkEIaiAAIABBAUEAIAQoAgAoAhQRCwAgAEEAIAIoAiBBAUYbIQMMAQsgBCACQQhqIABBAUEAIAQoAgAoAhgRDAACQAJAIAIoAiwOAgABAgsgAigCHEEAIAIoAihBAUYbQQAgAigCJEEBRhtBACACKAIwQQFGGyEDDAELIAIoAiBBAUcEQCACKAIwDQEgAigCJEEBRw0BIAIoAihBAUcNAQsgAigCGCEDCyACQUBrJAAgAwvaAgEEfyMAQRBrIgckACACIAFBf3NB7////wdqTQRAAn8gAC0AC0EHdgRAIAAoAgAMAQsgAAshCCAHIAAgAUHn////A0kEfyAHIAFBAXQ2AgwgByABIAJqNgIAIwBBEGsiAiQAIAcoAgAgB0EMaiIJKAIASSEKIAJBEGokACAJIAcgChsoAgAiAkELTwR/IAJBEGpBcHEiAiACQQFrIgIgAkELRhsFQQoLQQFqBUHv////BwsQQyAHKAIAIQIgBygCBBogBQRAIAIgBiAFEDQLIAMgBGshBiADIARHBEAgAiAFaiAEIAhqIAYQNAsgAUEKRwRAIAgQBAsgACACNgIAIAAgACgCCEGAgICAeHEgBygCBEH/////B3FyNgIIIAAgACgCCEGAgICAeHI2AgggACAFIAZqIgA2AgQgB0EAOgAMIAAgAmogBy0ADDoAACAHQRBqJAAPCxAUAAtLAQJ/IABB3NgANgIAIABBzNkANgIAIAEQEyICQQ1qEAUiA0EANgIIIAMgAjYCBCADIAI2AgAgACADQQxqIAEgAkEBahAGNgIEIAALNAAgAC0AC0EHdgRAIAAgATYCBA8LIAAgAC0AC0GAAXEgAXI6AAsgACAALQALQf8AcToACwsDAAELygQCBX8EfAJ/IAEqAgC7IgmZIAEqAgS7IguZoCABKgIIuyIMmaAiCkSN7bWg98awPmRFBEBEAAAAAAAA8D8hCUQAAAAAAAAAACELQQAMAQtEAAAAAAAA8D8gCqMiCiALoiELIAogCaIhCSAKIAyiRAAAAAAAAAAAYwshBwJ/IAkgACgCECIGtyIJokQAAAAAAADgP6CcIgqZRAAAAAAAAOBBYwRAIAqqDAELQYCAgIB4CyIEQR91IgEgBHMgAWshBUEAIAYgBQJ/IAsgCaJEAAAAAAAA4D+gnCIJmUQAAAAAAADgQWMEQCAJqgwBC0GAgICAeAsiAUEfdSIFIAFzIAVramsiBUEAIAVBAEobIghrIAggBxshByAFQR91IAVBACAFayABQQBKG3EgAWohBQJ/IARBAE4EQCAGIAdqIQEgACgCCCEAIAUgBmoMAQsgBSAFQR91IgFzIAFrIgEgACgCCCIAIAFrIAdBAEgbIQEgCCAAIAhrIAVBAEgbCyEEAkAgASAEckUEQCAAIQEMAQsCQCAEDQAgACABRw0AIAAhAQwBCwJAIAENACAAIARHDQAgACEBDAELAkAgBA0AIAEgBkwNACAGQQF0IAFrIQFBACEADAELAkAgACAERw0AIAEgBk4NACAGQQF0IAFrIQEMAQsCQCAAIAFHDQAgBCAGTg0AIAAhASAGQQF0IARrIQAMAQsgAQRAIAQhAAwBC0EAIQEgBCAGTARAIAQhAAwBCyAGQQF0IARrIQALIAIgADYCACADIAE2AgALggEBA38jAEEQayIFJAAjAEEQayIDJAAgASAAa0ECdSEBA0AgAQRAIAMgADYCDCADIAMoAgwgAUEBdiIEQQJ0ajYCDCABIARBf3NqIAQgAygCDCgCACACKAIASSIEGyEBIAMoAgxBBGogACAEGyEADAELCyADQRBqJAAgBUEQaiQAIAALrQwBBn8jAEEQayIEJAAgBCAANgIMAkAgAEHTAU0EQEHw0ABBsNIAIARBDGoQjQEoAgAhAgwBCyAAQXxPBEAQAAALIAQgACAAQdIBbiIGQdIBbCICazYCCEGw0gBB8NMAIARBCGoQjQFBsNIAa0ECdSEFA0AgBUECdEGw0gBqKAIAIAJqIQJBBSEAA0ACQCAAQS9GBEBB0wEhAANAIAIgAG4iASAASQ0FIAIgACABbEYNAiACIABBCmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBDGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBEGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBEmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBFmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBHGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBHmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBJGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBKGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBKmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBLmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBNGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBOmoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBPGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBwgBqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQcYAaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHIAGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBzgBqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQdIAaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHYAGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABB4ABqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQeQAaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHmAGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABB6gBqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQewAaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHwAGoiAW4iAyABSQ0FIAIgASADbEYNAiACIABB+ABqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQf4AaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEGCAWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBiAFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQYoBaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEGOAWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBlAFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQZYBaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEGcAWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBogFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQaYBaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEGoAWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBrAFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQbIBaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEG0AWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBugFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQb4BaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHAAWoiAW4iAyABSQ0FIAIgASADbEYNAiACIABBxAFqIgFuIgMgAUkNBSACIAEgA2xGDQIgAiAAQcYBaiIBbiIDIAFJDQUgAiABIANsRg0CIAIgAEHQAWoiAW4iAyABSQ0FIABB0gFqIQAgAiABIANsRw0ACwwBCyACIABBAnRB8NAAaigCACIBbiIDIAFJDQMgAEEBaiEAIAIgASADbEcNAQsLQQAgBUEBaiIAIABBMEYiABshBSAAIAZqIgZB0gFsIQIMAAsACyAEQRBqJAAgAgvWCwEIfwJAIAFBAEgNACAAKAIMIgIgACgCCCIDa0ECdSABTQ0AIAMgAUECdGoiAygCACIEKAI8IQggBCgCOCEGIAIgA0EEaiIERwRAA0AgBCgCACEHIARBADYCACADKAIAIQUgAyAHNgIAIAUEQCAFEBILIANBBGohAyAEQQRqIgQgAkcNAAsgACgCDCECCyACIANHBEADQCACQQRrIgIoAgAhBCACQQA2AgAgBARAIAQQEgsgAiADRw0ACwsgACADNgIMAkAgACgCBCIFRQ0AIAhBAEgNACAFKAIYIgIgBSgCHCIDRg0AA0AgCCACKAIAKAIYRgRAIAJBBGoiAyAFKAIcIghHBEADQCADKAIAIQcgA0EANgIAIAIoAgAhBCACIAc2AgAgBARAIARBDGogBCgCEBAXIAQgBCgCBBAWIAQQBAsgAkEEaiECIANBBGoiAyAIRw0ACyAFKAIcIQMLIAIgA0cEQANAIANBBGsiAygCACEEIANBADYCACAEBEAgBEEMaiAEKAIQEBcgBCAEKAIEEBYgBBAECyACIANHDQALCyAFIAI2AhwMAgsgAkEEaiICIANHDQALCwJAIAZBBEoNAAJAIAAgBkEMbGoiBCgCFCICIAQoAhgiA0YNAANAIAIoAgAgAUYNASACQQRqIgIgA0cNAAsMAQsgAiADRg0AIAIgAkEEaiICIAMgAmsQChogBCADQQRrNgIYCwJAIAAoAhgiAiAAKAIUIgNGDQBBASACIANrIgRBAnUiAiACQQFNGyIFQQFxIQhBACECIARBCE8EQCAFQX5xIQVBACEEA0AgASADIAJBAnQiBmoiBygCACIJSARAIAcgCUEBazYCAAsgASADIAZBBHJqIgYoAgAiB0gEQCAGIAdBAWs2AgALIAJBAmohAiAEQQJqIgQgBUcNAAsLIAhFDQAgAyACQQJ0aiICKAIAIgMgAUwNACACIANBAWs2AgALAkAgACgCJCICIAAoAiAiA0YNAEEBIAIgA2siBEECdSICIAJBAU0bIgVBAXEhCEEAIQIgBEEITwRAIAVBfnEhBUEAIQQDQCABIAMgAkECdCIGaiIHKAIAIglIBEAgByAJQQFrNgIACyABIAMgBkEEcmoiBigCACIHSARAIAYgB0EBazYCAAsgAkECaiECIARBAmoiBCAFRw0ACwsgCEUNACADIAJBAnRqIgIoAgAiAyABTA0AIAIgA0EBazYCAAsCQCAAKAIwIgIgACgCLCIDRg0AQQEgAiADayIEQQJ1IgIgAkEBTRsiBUEBcSEIQQAhAiAEQQhPBEAgBUF+cSEFQQAhBANAIAEgAyACQQJ0IgZqIgcoAgAiCUgEQCAHIAlBAWs2AgALIAEgAyAGQQRyaiIGKAIAIgdIBEAgBiAHQQFrNgIACyACQQJqIQIgBEECaiIEIAVHDQALCyAIRQ0AIAMgAkECdGoiAigCACIDIAFMDQAgAiADQQFrNgIACwJAIAAoAjwiAiAAKAI4IgNGDQBBASACIANrIgRBAnUiAiACQQFNGyIFQQFxIQhBACECIARBCE8EQCAFQX5xIQVBACEEA0AgASADIAJBAnQiBmoiBygCACIJSARAIAcgCUEBazYCAAsgASADIAZBBHJqIgYoAgAiB0gEQCAGIAdBAWs2AgALIAJBAmohAiAEQQJqIgQgBUcNAAsLIAhFDQAgAyACQQJ0aiICKAIAIgMgAUwNACACIANBAWs2AgALIAAoAkgiAiAAKAJEIgBGDQBBASACIABrIgNBAnUiAiACQQFNGyIEQQFxIQVBACECIANBCE8EQCAEQX5xIQNBACEEA0AgASAAIAJBAnQiCGoiBigCACIHSARAIAYgB0EBazYCAAsgASAAIAhBBHJqIggoAgAiBkgEQCAIIAZBAWs2AgALIAJBAmohAiAEQQJqIgQgA0cNAAsLIAVFDQAgASAAIAJBAnRqIgAoAgAiAk4NACAAIAJBAWs2AgALC6UGAQl/IwBBEGsiCCQAIAggAjYCCAJAIAAoAgwiBSAAKAIIIgdrQQJ1IgMgAUoNACADIAFBAWoiBEkEQCAEIANrIgQgACgCECIGIAAoAgwiA2tBAnVNBEAgACAEBH8gA0EAIARBAnQiAxAHIANqBSADCzYCDAwCCwJAAkACQCADIAAoAggiB2tBAnUiCiAEaiIFQYCAgIAESQRAQf////8DIAYgB2siBkEBdiILIAUgBSALSRsgBkH8////B08bIgYEQCAGQYCAgIAETw0CIAZBAnQQBSEJCyAJIApBAnRqIgVBACAEQQJ0IgQQByILIARqIQogCSAGQQJ0aiEEIAMgB0YNAgNAIANBBGsiAygCACEGIANBADYCACAFQQRrIgUgBjYCACADIAdHDQALIAAgBDYCECAAKAIMIQQgACAKNgIMIAAoAgghAyAAIAU2AgggAyAERg0DA0AgBEEEayIEKAIAIQUgBEEANgIAIAUEQCAFEBILIAMgBEcNAAsMAwsQCAALEAkACyAAIAQ2AhAgACAKNgIMIAAgCzYCCAsgAwRAIAMQBAsMAQsgAyAETQ0AIAcgBEECdGoiAyAFRwRAA0AgBUEEayIFKAIAIQIgBUEANgIAIAIEQCACEBILIAMgBUcNAAsgCCgCCCECCyAAIAM2AgwLAkACQAJAIAIoAjgiA0EESg0AIAAgA0EMbGoiAygCGCIFIAMoAhxHBEAgBSABNgIAIAMgBUEEajYCGAwBCyAFIAMoAhQiBWsiBEECdSIGQQFqIgdBgICAgARPDQFB/////wMgBEEBdiIJIAcgByAJSRsgBEH8////B08bIgcEfyAHQYCAgIAETw0DIAdBAnQQBQVBAAsiCSAGQQJ0aiIGIAE2AgAgAyAJIAUgBBAKIgQ2AhQgAyAGQQRqNgIYIAMgBCAHQQJ0ajYCHCAFRQ0AIAUQBAsgAiABNgI8IAAoAgghACAIQQA2AgggACABQQJ0aiIBKAIAIQAgASACNgIAIAAEQCAAEBILIAgoAgghACAIQQA2AgggAARAIAAQEgsgCEEQaiQADwsQCAALEAkAC1YBAn8gACgCDCICIAAoAggiA0cEQEEBIAIgA2tBAnUiACAAQQFNGyECQQAhAANAIAEgAyAAQQJ0aigCACgCPEYEQCAADwsgAEEBaiIAIAJHDQALC0F/CzwBAX9BfyECAkAgAUF/Rg0AIAFBBEoNACAAIAFBDGxqIgAoAhggACgCFCIAa0EATA0AIAAoAgAhAgsgAgsaACAAQbzQADYCACAAQQRqQQBB0AAQBxogAAtNAQJ/AkAgACABEC0iASAAQQRqRg0AIAEoAhwiACABKAIgIgRGDQAgAiAEIABrEF0gAhBeIAEoAhwiACABKAIgIABrEAYaQQEhAwsgAwt+AQN/IABBADYCCCAAQgA3AgACQAJ/IAEoAgQiAiABKAIAIgNGBEAgAgwBCyACIANrIgJBAEgNASAAIAIgAhAFIgRBACACEAciA2oiAjYCCCAAIAI2AgQgACADNgIAIAEoAgAhAiABKAIECyEAIAQgAiAAIAJrEAYaDwsQCAALrAIBCX8jAEEQayIDJAACQCAAKAIYIgUgACgCHCILRwRAA0AgA0EANgIIIANCADcDACAFKAIAIAEgAxCUASEAIAMtAAsiB8AhBkEDIQgCQAJAAkAgAEUNAEEAIQggAygCBCAHIAZBAEgbIgkgAigCBCACLQALIgAgAMAiAEEASBtHDQAgAigCACACIABBAEgbIQACQCAGQQBIIgRFBEAgAyEEIAZFDQEDQCAELQAAIAAtAABHDQMgAEEBaiEAIARBAWohBCAHQQFrIgcNAAsMAQsgCUUNACADKAIAIAMgBBsgACAJEA0NAgsgBSgCACEKQQEhCAsgBkEATg0BCyADKAIAEAQLAkAgCA4EAAMDAAMLIAVBBGoiBSALRw0ACwtBACEKCyADQRBqJAAgCguwHAIUfwR+IwBBIGsiCyQAQQwQBSIMQQA2AgggDCABNgIEIAxBADYCACAMQQxqIhEhAQJAAkACQANAIAFBDGsiASgCCCETIAEoAgQhCCABKAIAIhIEQCATQegHSg0EIAtBADYCGCALQgA3AxBBASEDAkAgACgCACICKQMIIAIpAxAiFlcNACACKAIAIBanai0AACEEIAIgFkIBfDcDECALQRBqIAQQXSAEBEAgACgCACECIAtBEGoQXiEFIAIpAwggAikDECIWIAStIhd8Uw0BIAUgAigCACAWp2ogBBAGGiACIAIpAxAgF3w3AxALQRgQBSIIQgA3AgQgCEEQaiICQgA3AgAgCCAIQQRqNgIAIAggAjYCDCMAQSBrIgckAAJAIBJBDGoiBSALQRBqIgIQLSINIBJBEGoiCkYEQCAHIAI2AhAgBwJ/AkACQCAFKAIEIgNFBEAgBUEEaiIEIQIMAQsgAigCACACIAItAAsiBMBBAEgiBhshCSACKAIEIAQgBhshBgNAAkACQAJAAkACQCADIgIoAhQgAi0AGyIDIAPAQQBIIg8bIgMgBiADIAZJIg4bIgQEQCAJIAIoAhAgAkEQaiAPGyIPIAQQDSIQRQRAIAMgBksNAgwDCyAQQQBODQIMAQsgAyAGTQ0CCyACIQQgAigCACIDDQQMBQsgDyAJIAQQDSIDDQELIA4NAQwECyADQQBODQMLIAIoAgQiAw0ACyACQQRqIQQLQSAQBSIDQRBqIQkCQCAHKAIQIgYsAAtBAE4EQCAJIAYpAgA3AgAgCSAGKAIINgIIDAELIAkgBigCACAGKAIEEAwLIAMgAjYCCCADQgA3AgAgA0EANgIcIAQgAzYCACADIQIgBSgCACgCACIGBEAgBSAGNgIAIAQoAgAhAgsgBSgCBCACED4gBSAFKAIIQQFqNgIIQQEMAQsgAiEDQQALOgAcIAcgAzYCGCAHKAIYIgMoAhwhAiADIAg2AhwgAkUNASACQQxqIAIoAhAQFyACIAIoAgQQFiACEAQMAQsgCEUNACAIQQxqIAgoAhAQFyAIIAgoAgQQFiAIEAQLIAdBIGokACAKIA1HIQMLIAssABtBAEgEQCALKAIQEAQLIAMNBAsgCEUNAyALQQA2AhBBASALQRBqIAAoAgAQNkUNA0EAIQ0gCygCECIPBEADQAJ/QQAhAyMAQSBrIgYkACAGQQA2AhggBkIANwMQAkACQCAAKAIAIgIpAwggAikDECIWVw0AIAIoAgAgFqdqLQAAIQQgAiAWQgF8NwMQIAZBEGogBBBdIAQEQCAAKAIAIQIgBkEQahBeIQUgAikDCCACKQMQIhYgBK0iF3xTDQEgBSACKAIAIBanaiAEEAYaIAIgAikDECAXfDcDEAsgBkEANgIMQQEgBkEMaiAAKAIAEDZFDQAgBigCDCICRQ0AIAKtIhYgACgCACIEKQMIIAQpAxB9VQ0AIAZBADYCCCAGQgA3AwAgAkEASA0BIAYgAhAFIgM2AgAgBiACIANqIgU2AgggA0EAIAIQByEHIAYgBTYCBAJAIAQpAwgiFyAEKQMQIhggFnwiGVkEQCAHIAQoAgAgGKdqIAIQBhogBCAEKQMQIBZ8NwMQIwBBMGsiCSQAIAggBkEQahAtIgUgCEEEakcEQAJAIAUoAgQiAkUEQCAFIQIDQCACKAIIIgMoAgAgAkchBCADIQIgBA0ACwwBCwNAIAIiAygCACICDQALCyAFIAgoAgBGBEAgCCADNgIACyAIIAgoAghBAWs2AgggCCgCBCEEAn8CQCAFIgciAygCACIFBEAgBygCBCICRQ0BA0AgAiIDKAIAIgINAAsLIAMoAgQiBQ0AQQAhBUEBDAELIAUgAygCCDYCCEEACyEOAkAgAyADKAIIIgooAgAiAkYEQCAKIAU2AgAgAyAERgRAQQAhAiAFIQQMAgsgCigCBCECDAELIAogBTYCBAsgAy0ADCEQIAMgB0cEQCADIAcoAggiCjYCCCAKIAcoAggoAgAgB0dBAnRqIAM2AgAgAyAHKAIAIgo2AgAgCiADNgIIIAMgBygCBCIKNgIEIAoEQCAKIAM2AggLIAMgBy0ADDoADCADIAQgBCAHRhshBAsCQCAQRQ0AIARFDQAgDgRAA0AgAi0ADCEFAkAgAiACKAIIIgMoAgBHBEAgBUUEQCACQQE6AAwgA0EAOgAMIAMgAygCBCIFKAIAIgo2AgQgCgRAIAogAzYCCAsgBSADKAIINgIIIAMoAggiCiAKKAIAIANHQQJ0aiAFNgIAIAUgAzYCACADIAU2AgggAiAEIAQgAigCACICRhshBCACKAIEIQILAkACQAJAAkAgAigCACIDBEAgAy0ADEUNAQsgAigCBCIFBEAgBS0ADEUNAgsgAkEAOgAMAkAgBCACKAIIIgJGBEAgBCECDAELIAItAAwNBgsgAkEBOgAMDAgLIAIoAgQiBUUNAQsgBS0ADA0AIAIhAwwBCyADQQE6AAwgAkEAOgAMIAIgAygCBCIENgIAIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhBQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAVBAToADCACIAIoAgQiAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgAgAiADNgIIDAQLIAVFBEAgAkEBOgAMIANBADoADCADIAIoAgQiBTYCACAFBEAgBSADNgIICyACIAMoAgg2AgggAygCCCIFIAUoAgAgA0dBAnRqIAI2AgAgAiADNgIEIAMgAjYCCCACIAQgAyAERhshBCADKAIAIQILAkACQCACKAIAIgVFDQAgBS0ADA0AIAIhAwwBCwJAIAIoAgQiAwRAIAMtAAxFDQELIAJBADoADCACKAIIIgItAAxBACACIARHGw0CIAJBAToADAwFCyAFBEAgBS0ADEUEQCACIQMMAgsgAigCBCEDCyADQQE6AAwgAkEAOgAMIAIgAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgAgAiADNgIIIAIhBQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAVBAToADCACIAIoAgAiAygCBCIENgIAIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIDAMLIAIoAggiAyADKAIAIAJGQQJ0aigCACECDAALAAsgBUEBOgAMCyAHKAIcIgIEQCAHIAI2AiAgAhAECyAHLAAbQQBIBEAgBygCEBAECyAHEAQLIAlBADYCCCAJQgA3AwAgBigCBCICIAYoAgAiA2shBEEAIQUCQAJAIAIgA0cEQCAEQQBIDQEgCSAEEAUiBUEAIAQQByICIARqIgc2AgggCSAHNgIEIAkgAjYCACADIQILIAUgAiAEEAYaAkAgBiwAG0EATgRAIAkgBigCGDYCGCAJIAYpAhA3AxAMAQsgCUEQaiAGKAIQIAYoAhQQDAsgCUEcaiAJEJUBIAlBEGoiBCECIAkCfwJAAkAgCCgCBCIDRQRAIAhBBGoiBSECDAELIAIo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ACABQQJ0aigCAAsQACAAKAIEIAAoAgBrQQF1Cw0AIAAoAgQgACgCAGsLEAAgACgCDCAAKAIIa0ECdQsRACAAIAEgACgCACgCDBEBAAttAQJ/QSgQBSICQX82AgAgAkEIaiIDQgA3AxAgA0EANgIIIANCADcDACADQgA3AxggACACIAAoAgAoAhARBAAgASgCWCEAIAEgAjYCWCAABEAgACgCCCIBBEAgACABNgIMIAEQBAsgABAEC0EBCwcAIAAoAgAL2AEBBn8gASAAKAIIIgMgACgCBCICa0EBdU0EQCAAIAEEfyACQQAgAUEBdCIAEAcgAGoFIAILNgIEDwsCQCACIAAoAgAiAmsiBkEBdSIHIAFqIgRBAE4EQEH/////ByADIAJrIgMgBCADIARLGyADQf7///8HTxsiBARAIARBAEgNAiAEQQF0EAUhBQsgBSAHQQF0akEAIAFBAXQiARAHIQMgACAFIAIgBhAKIgUgBEEBdGo2AgggACABIANqNgIEIAAgBTYCACACBEAgAhAECw8LEAgACxAJAAt4AgF+An8CQCAAQQpLDQAgAikDECIDIAIpAwhZDQAgAigCACADp2osAAAhBSACIANCAXw3AxAgBa0hAyABAn4gBUEASARAIABBAWogASACEKkBRQ0CIANC/wCDIAEpAwBCB4aEDAELIANC/wGDCzcDAEEBIQQLIAQL0gMBBn8CfwJAAkAgAUUEQEEAIAJCAFMNAxogACgCBCIHIAAoAgAiA2siBCACpyIBSQRAIAEgBGsiBSAAKAIIIgYgB2tNBEAgACAHQQAgBRAHIAVqNgIEDAMLIAFBAEgNA0H/////ByAGIANrIgdBAXQiBiABIAEgBkkbIAdB/////wNPGyIHEAUiBiAEakEAIAUQBxogACAGIAMgBBAKIgQgB2o2AgggACABIARqNgIEIAAgBDYCACADRQ0CIAMQBAwCCyABIARPDQEgACABIANqNgIEDAELQQAgAkIAUw0CGgJAIAAoAgQiBiAAKAIAIgRrIgWtIAJZDQAgAqciAyAFSwRAIAMgBWsiByAAKAIIIgggBmtNBEAgACAGQQAgBxAHIAdqNgIEDAILIANBAEgNA0H/////ByAIIARrIgZBAXQiCCADIAMgCEkbIAZB/////wNPGyIGEAUiCCAFakEAIAcQBxogACAIIAQg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CyAAKAJsIgEEQCABEAQLIAAoAmAiAQRAIAEQBAsgACgCSCIBBEAgACABNgJMIAEQBAsgACgCPCIBBEAgARAECyAAKAIwIgEEQCAAIAE2AjQgARAECyAAKAIkIgEEQCAAIAE2AiggARAECyAAKAIYIgEEQCAAIAE2AhwgARAECyAAKAIMIgEEQCAAIAE2AhAgARAECyAAKAIIIQEgAEEANgIIIAEEQCABEC4LIAALmgEBBH8gACgCACIEBEAgBCEDIAQgACgCBCIBRwRAA0AgAUGQAWsiAygChAEiAgRAIAFBCGsgAjYCACACEAQLIAFBHGsoAgAiAgRAIAFBGGsgAjYCACACEAQLIAFBKGsoAgAiAgRAIAFBJGsgAjYCACACEAQLIAFBjAFrEFEgAyIBIARHDQALIAAoAgAhAwsgACAENgIEIAMQBAsLpQMBBH8gAEHcwAA2AgAgACgC8AIhAyAAQQA2AvACIAMEQCADQQRrIgQoAgAiAQRAIAMgAUEEdGohAgNAIAJBEGsiAiADRw0ACwsgBBAECyAAQdgBahCxASAAKALEASIBBEAgACABNgLIASABEAQLIAAoArgBIgEEQCAAIAE2ArwBIAEQBAsgACgCrAEiAQRAIAAgATYCsAEgARAECyAAKAKgASIBBEAgACABNgKkASABEAQLIAAoApABIgIEQANAIAIoAgAhASACEAQgASICDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBAsgACgCeCIBBEAgARAECyAAKAJsIgEEQCABEAQLIAAoAmAiAQRAIAEQBAsgACgCSCIBBEAgACABNgJMIAEQBAsgACgCPCIBBEAgARAECyAAKAIwIgEEQCAAIAE2AjQgARAECyAAKAIkIgEEQCAAIAE2AiggARAECyAAKAIYIgEEQCAAIAE2AhwgARAECyAAKAIMIgEEQCAAIAE2AhAgARAECyAAKAIIIQEgAEEANgIIIAEEQCABEC4LIAALBwAgACgCCAuyAQEDfwJAIAAoAgQiAiAAKAIIIgRBBXRGBEAgAkEBakEASA0BQf////8HIQMgACACQf7///8DTQR/IARBBnQiAyACQWBxQSBqIgIgAiADSRsFQf////8HCxAwIAAoAgQhAgsgACACQQFqNgIEQQEgAnQhAyAAKAIAIAJBA3ZB/P///wFxaiEAIAEt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ACgCBDYCBCACIAAoAgg2AgggAiAAKAIMNgIMIABBADYCDCAAQgA3AgQgAiAAKAIQNgIQIAIgACgCFDYCFCACIAAoAhg2AhggAEEANgIYIABCADcCECAALQAcIQUgAkEANgIoIAJCADcCICACIAU6ABwgAiAAKAIgNgIgIAIgACgCJDYCJCACIAAoAig2AiggAEEANgIoIABCADcCICACQQA2AjQgAkIANwIsIAIgACgCLDYCLCACIAAoAjA2AjAgAiAAKAI0NgI0IABBADYCNCAAQgA3AiwgAkFAayIFQQA2AgAgAkIANwI4IAIgACgCODYCOCACIAAoAjw2AjwgBSAAQUBrIgUoAgA2AgAgBUEANgIAIABCADcCOCACIAAoAkQ2AkQgACgCSCEFIAJBADYCVCACQgA3AkwgAiAFNgJIIAIgACgCTDYCTCACIAAoAlA2AlAgAiAAKAJUNgJUIABBADYCVCAAQgA3AkwgAkEANgJgIAJCADcCWCACIAAoAlg2AlggAiAAKAJcNgJcIAIgACgCYDYCYCAAQQA2AmAgAEIANwJYIAAtAGQhBSACQQA2AnAgAkIANwJoIAIgBToAZCACIAAoAmg2AmggAiAAKAJsNgJsIAIgACgCcDYCcCAAQQA2AnAgAEIANwJoIAJBADYCfCACQgA3AnQgAiAAKAJ0NgJ0IAIgACgCeDYCeCACIAAoAnw2AnwgAEEANgJ8IABCADcCdCAAKAKAASEFIAJBADYCjAEgAkIANwKEASACIAU2AoABIAIgACgChAE2AoQBIAIgACgCiAE2AogBIAIgACgCjAE2AowBIABBADYCjAEgAEIANwKEASAEIAZHDQALIAEgAzYCCCABKAIEIQAgASAHNgIEIAEoAgAhBCABIAI2AgAgACAERg0DA0AgAEGQAWsiASgChAEiAgRAIABBCGsgAjYCACACEAQLIABBHGsoAgAiAgRAIABBGGsgAjYCACACEAQLIABBKGsoAgAiAgRAIABBJGsgAjYCACACEAQLIABBjAFrEFEgASIAIARHDQALDAMLEAgACxAJAAsgASADNgIIIAEgBzYCBCABIAI2AgALIAQEQCAEEAQLCw8LIAEgA0kEQCAGIAFBkAFsaiIEIAJHBEADQCACQZABayIBKAKEASIDBEAgAkEIayADNgIAIAMQBAsgAkEcaygC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AkEANgIEIAJBADYCTCACIAQ2AkQgAkGwwwA2AgggAkIANwIMIAJCADcCFCACQgA3AhwgAkIANwIkIAJCADcCLCACQQA2AjQgAiAFIANBkAFsaiIDQegAaiIFNgJIIAJBQGtBADYCACACQgA3AjggCCAENgIYIAhCADcCRCAIQgA3AjwgCEIANwI0IAhCADcCLCAIQgA3AlQgCEIANwJMIAggAjYCHCAIIAgpAxg3AwggCCAFNgIUIAggA0EEaiIENgIQIAhCADcCJCAIQbDDADYCICAIIAgpAxA3AwAgCEEgaiIDIAQgCBC9ASACQQhqIgQgAxByIAMgBEcEQCACQThqIAMoAjAgAygCNBA3CyADELwBGgwCCyMAQUBqIgIkACAAKAIEKAIsIQZB0AAQBSIDQbDJADYCACADQQA2AgQgA0EANgJMIAMgBDYCSCADIAY2AkQgA0HUygA2AgggA0IANwIMIANCADcCFCADQgA3AhwgA0IANwIkIANCADcCLCADQQA2AjQgA0FAa0EANgIAIANBOGoiCkIANwIAIAAoAgghBSACQgA3AyggAkIANwMgIAJBGGoiB0IANwMAIAJCADcDECACQQA2AjggAkIANwMIIAJCADcDMCACQdTKADYCACACIAU2AgQgBSgCACEJIAUoAgQhCyACQQA6AD8gByALIAlrQQJ1QQNuIAJBP2oiBxAZIAIoAgQiCSgCHCELIAkoAhghCSACQQA6AD8gAkEkaiALIAlrQQJ1IAcQGSACIAM2AhQgAiAGNgIQIAIgBDYCDCACIAU2AgggA0EIaiACEHIgCiACKAIwIAIoAjQQNyACQdTKADYCACACKAIwIgQEQCACIAQ2AjQgBBAECyACQZzJADYCACACKAIkIgQEQCAEEAQLIAIoAhgiBARAIAQQBAsgAkFAayQAIAMLIgJFDQELQcAAEAUgAhCAASECIAAoAgQhAyACIQACQAJAIAEiAkEATgRAIANBCGohBgJAIAMoAgwiASADKAIIIgprQQJ1IgQgAkoNACACQQFqIQUgAiAETwRAIAYgBSAEaxBaDAELIAQgBU0NACAKIAVBAnRqIgUgAUcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCAEKAIAKAIEEQIACyABIAVHDQALCyADIAU2AgwLIAYoAgAgAkECdGoiAygC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CikCADcCACAIIAooAgg2AgggBEEANgIQDAELIAggBSgCBCAFKAIIEAwgBSwADyEIIARBADYCECAIQQBODQAgBSgCBBAECyAGEAQLIAVBEGokAAJAIAQoAgAiBQRAIAAgBTYCACAAQQRqIQAgBCwAD0EATgRAIAAgBEEEciIBKQIANwIAIAAgASgCCDYCCAwCCyAAIAQoAgQgBCgCCBAMDAELIAQoAhAhBSAEQQA2AhAgBSADNgIsIwBBIGsiBiQAIAUgAjYCICAFIAE2AiggBSADNgIEIAAgAiAGQRBqEHACQCAAKAIADQAgACwAD0EASARAIAAoAgQQBAsgBi0AFyIBIAUgBSgCACgCCBEAAEcEQEHAABAFIgFBADoAMiABQZgKLwAAOwAwIAFBkAopAAA3ACggAUGICikAADcAICABQYAKKQAANwAYIAFB+AkpAAA3ABAgAUHwCSkAADcACCABQegJKQAANwAAIABBfzYCACAAQQRqIAFBMhAMIAEQBAwBCyAFIAYtABUiAjoAJCAFIAYtABYiAzoAJSACQQJHBEBBIBAFIgFBADoAGiABQZMLLwAAOwAYIAFBiwspAAA3ABAgAUGDCykAADcACCABQfsKKQAANwAAIABBezYCACAAQQRqIAFBGhAMIAEQBAwBCyADQQJBAyABGyIBRwRAQSAQBSIBQQA6ABogAUH4Ci8AADsAGCABQfAKKQAANwAQIAFB6AopAAA3AAggAUHgCikAADcAACAAQXs2AgAgAEEEaiABQRoQDCABEAQMAQsgBSgCICABQYAEcjsBJgJAIAYuARpBAE4NACMAQRBrIgMkAEEkEAUiAUIANwIEIAFCADcCGCABQRBqIgJCADcCACABIAFBBGo2AgAgAUEANgIgIAEgAjYCDCADQQA2AgAgBSgCICECIwBBEGsiCiQAAn9BACABRQ0AGiADIAI2AgAgCkEANgIMQQBBASAKQQxqIAIQNkUNABogCigCDCIOBEADQAJAQQEgCkEIaiADKAIAEDYEQEEcEAUiAkIANwIEIAJBEGoiCEIANwIAIAIgAkEEajYCACACIAg2AgwgAiAKKAIINgIYIAMgAhCXAQ0BIAJBDGogAigCEBAXIAIgAigCBBAWIAIQBAtBAAwDCyMAQRBrIggkACAIIAI2AggCQCACRQ0AAkAgASgCHCIHIAEoAiBJBEAgCEEANgIIIAcgAjYCACABIAdBBGo2AhwMAQtBACECAkACQAJAIAEoAhwgASgCGCIJa0ECdSIMQQFqIgdBgICAgARJBEBB/////wMgASgCICAJayIJQQF2IgsgByAHIAtJGyAJQfz///8HTxsiCQRAIAlBgICAgARPDQIgCUECdBAFIQILIAgoAgghCyAIQQA2AgggAiAMQQJ0aiIHIAs2AgAgAiAJQQJ0aiEJIAdBBGohDCABKAIcIgIgASgCGCILRg0CA0AgAkEEayICKAIAIQ8gAkEANgIAIAdBBGsiByAPNgIAIAIgC0cNAAsgASAJNgIgIAEoAhwhCSABIAw2AhwgASgCGCECIAEgBzYCGCACIAlGDQMDQCAJQQRrIgkoAgAhByAJQQA2AgAgBwRAIAdBDGogBygCEBAXIAcgBygCBBAWIAcQBAsgAiAJRw0ACwwDCxAIAAsQCQALIAEgCTYCICABIAw2AhwgASAHNgIYCyACBEAgAhAECwsgCCgCCCECIAhBADYCCCACRQ0AIAJBDGogAigCEBAXIAIgAigCBBAWIAIQBAsgCEEQaiQAIA1BAWoiDSAORw0ACwsgAyABEJcBCyECIApBEGokAAJAIAIEQCAFKAIEIggoAgQhAiAIIAE2AgQgAgRAIAIQbwsgAEIANwIAIABCADcCCAwBC0EgEAUiAkEAOgAaIAJBjQwvAAA7ABggAkGFDCkAADcAECACQf0LKQAANwAIIAJB9QspAAA3AAAgAEF/NgIAIABBBGogAkEaEAwgAhAEIANBADYCCCABEG8LIANBEGokACAAKAIADQEgACwAD0EATg0AIAAoAgQQBAsgBSAFKAIAKAIMEQAARQRAQTAQBSIBQQA6ACEgAUHeCi0AADoAICABQdYKKQAANwAYIAFBzgopAAA3ABAgAUHGCikAADcACCABQb4KKQAANwAAIABBfzYCACAAQQRqIAFBIRAMIAEQBAwBCyAFIAUoAgAoAhQRAABFBEAgBkGQDBBPIQEgAEF/NgIAIABBBGohAiABLAALQQBOBEAgAiABKQIANwIAIAIgASgCCDYCCAwCCyACIAEoAgAgASgCBBAMIAEsAAtBAE4NASABKAIAEAQMAQsgBSAFKAIAKAIYEQAARQRAIAZBmwoQTyEBIABBfzYCACAAQQRqIQIgASwAC0EATgRAIAIgASkCADcCACACIAEoAgg2AggMAgsgAiABKAIAIAEoAgQQDCABLAALQQBODQEgASgCABAEDAELIABCADcCACAAQgA3AggLIAZBIGokACAAKAIARQRAIAAsAA9BAEgEQCAAKAIEEAQLIABCADcCACAAQgA3AggLIAUgBSgCACgCBBECAAsgBCgCECEAIARBADYCECAABEAgACAAKAIAKAIEEQIACyAELAAPQQBODQAgBCgCBBAECyAEQdAAaiQAC24CA38BfgJAIABBBUsNACACKQMQIgYgAikDCFkNACACKAIAIAanai0AACEEIAIgBkIBfDcDECABIATAIgVBAEgEfyAAQQFqIAEgAhDIAUUNASAFQf8AcSABKAIAQQd0cgUgBAs2AgBBASEDCyADCx8AQQgQXCAAEIkBIgBB/NkANgIAIABBnNoAQQEQAQALqgECAn8DfgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACECIAEgBjcDECAFIARCCHwiBFMNACABIAQ3AxAgAkEBcUUNACACZ0EfcyICQQFrQRxLDQAgACACQQFqNgIIIABBfiACdCICQX5zIgM2AhAgACACQX9zNgIMIAAgA0EBdTYCGCAAQwAAAEAgA7KVOAIUIABB4ABqIAEQFSEDCyADCyUBAX8CQCABKAI4DQAgAS0AGEEDRw0AIAAgATYCMEEBIQILIAILQwEBfwJAIAAoAjBFDQAgACgCNEUNACAAKAIcRQ0AIAAoAiBFDQAgACgCJEUNACAAKAIoRQ0AIAAoAkxBf0chAQsgAQsKACAAIAEgAhB/CwQAQQYLBABBAgu/AQIDfwN+AkAgASkDCCIHIAEpAxAiBUIEfCIGUw0AIAEoAgAiAiAFp2ooAAAhAyABIAY3AxAgByAFQgh8IgVTDQAgAiAGp2ooAAAhAiABIAU3AxAgAiADSA0AIAAgAjYCECAAIAM2AgwgAqwgA6x9IgVC/v///wdWDQAgACAFp0EBaiIDNgIUIAAgA0EBdiICNgIYIABBACACazYCHCADQQFxRQRAIAAgAkEBazYCGAsgAEHwAGogARAVIQQLIAQLKAEBfwJAIAEoAjgNACABLQAYQQNHDQAgAEFAayABNgIAQQEhAgsgAgtGAQF/AkAgAEFAaygCAEUNACAAKAJERQ0AIAAo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IAIpAgA3AgggACACKQIINwIQIAAgAikCEDcCGCAAQQA2AiggAEIANwIgAkAgAigCHCIBIAIoAhgiA0cEQCABIANrIgNBAEgNASAAIAMQBSIBNgIkIAAgATYCICAAIAEgA0F8cWo2AiggAigCGCIDIAIoAhwiBUcEQANAIAEgAygCADYCACABQQRqIQEgA0EEaiIDIAVHDQALCyAAIAE2AiQLIABB2BY2AgAgACAEKQIANwIsIAAgBCkCCDcCNCAAQUBrQgA3AgAgAEGgIDYCPCAAQawbNgIAIAAgBCkCADcCSCAAIAQpAgg3AlAgAEKAgID8czcCaCAAQn83AmAgAEKBgICAcDcCWCAAQZgdNgI8IABCADcCcCAAQgA3AHUgAAwBCxAIAAshAAsgAAwBCwwDCyEDDAELIAQoAiwhBCAHIAk2AgwgByAENgIIIAcgADYCFCAHIABBDGo2AhACfyAHQQhqIQRBACEAAkACQAJAAkACQAJAIAFBAWsOBgAEBAECAwQLQTwQBSIBIAU2AgQgAUGQFzYCACABIAIpAgA3AgggASACKQIINwIQIAEgAikCEDcCGCABQQA2AiggAUIANwIgIAIoAhwiBSACKAIYIgBHBEAgBSAAayIGQQBIDQggASAGEAUiAzYCICABIAMgBkF8cWo2AigDQCADIAAoAgA2AgAgA0EEaiEDIABBBGoiACAFRw0ACyABIAM2AiQLIAEgBCkCADcCLCABIAQpAgg3AjQgAUG8IDYCACABDAULQfAAEAUiASAFNgIEIAFBkBc2AgAgASACKQIANwIIIAEgAikCCDcCECABIAIpAhA3AhggAUEANgIoIAFCADcCICACKAIcIgUgAigCGCIARwRAIAUgAGsiBkEASA0HIAEgBhAFIgM2AiAgASADIAZBfHFqNgIoA0AgAyAAKAIANgIAIANBBGohAyAAQQRqIgAgBUcNAAsgASADNgIkCyABIAQpAgA3AiwgASAEKQIINwI0IAFCADcCPCABQeQjNgIAIAFCADcCRCABQgA3AkwgAUIANwJUIAFCADcCXCABQgA3AmQgAUEANgJsIAEMBAtB6AAQBSIBIAU2AgQgAUGQFzYCACABIAIpAgA3AgggASACKQIINwIQIAEgAikCEDcCGCABQQA2AiggAUIANwIgIAIoAhwiBSACKAIYIgBHBEAgBSAAayIGQQBIDQMgASAGEAUiAzYCICABIAMgBkF8cWo2AigDQCADIAAoAgA2AgAgA0EEaiEDIABBBGoiACAFRw0ACyABIAM2AiQLIAEgBCkCADcCLCABIAQpAgg3AjQgAUEANgJUIAFCADcCTCABQgA3AjwgAUHQJTYCACABIAQpAgA3AlggASAEKQIINwJgIAEMAwsCf0GAARAFIgAgBTYCBCAAQZAXNgIAIAAgAikCADcCCCAAIAIpAgg3AhAgACACKQIQNwIYIABBADYCKCAAQgA3AiACQCACKAIcIgEgAigCGCIDRwRAIAEgA2siA0EASA0BIAAgAxAFIgE2AiQgACABNgIgIAAgASADQXxxajYCKCACKAIYIgMgAigCHCIFRwRAA0AgASADKAIANgIAIAFBBGohASADQQRqIgMgBUcNAAsLIAAgATYCJAsgAEGsIzYCACAAIAQpAgA3AiwgACAEKQIINwI0IABBQGtCADcCACAAQfgrNgI8IABBsCc2AgAgACAEKQIANwJIIAAgBCkCCDcCUCAAQoCAgPxzNwJoIABCfzcCYCAAQoGAgIBwNwJYIABBjCk2AjwgAEIANwJwIABCADcAdSAADAELEAgACyEACyAADAELDAILIQMLIAdBIGokACADDAELEAgACyIDDQELQSwQBSIDIAo2AgQgA0GQFzYCACADIAIpAgA3AgggAyACKQIINwIQIAMgAikCEDcCGCADQQA2AiggA0IANwIgIAIoAhwiACACKAIYIgJHBEAgACACayIBQQBIDQIgAyABEAUiBDYCICADIAQgAUF8cWo2AigDQCAEIAIoAgA2AgAgBEEEaiEEIAJBBGoiAiAARw0ACyADIAQ2AiQLIANBlCw2AgALIAMMAQsQCAALIQQgCCgCICIARQ0AIAggADYCJCAAEAQLIAhBMGokACAEC88BAgN/A34CQCACKQMIIgggAikDECIGVw0AIAIoAgAiBCAGp2osAAAhAyACIAZCAXwiBzcDEAJAIANBfkYNACAHIAhZDQEgBCAHp2osAAAhBCACIAZCAnw3AxAgBEEEa0H/AXFB+wFJDQEgACADIAQgACgCACgCKBEDACEEIAAoAhQhAyAAIAQ2AhQgA0UNACADIAMoAgAoAgQRAgALIAAoAhQiAwRAIAAgAyAAKAIAKAIcEQEARQ0BCyAA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IABBf0cL6gICB38BfgJAIAAgARCdAUUNACAAQSRqIQYCQCAAIAAoAgAoAhgRAAAiBSAAKAIoIgMgACgCJCIEa0ECdSICSwRAIAYgBSACaxBaDAELIAIgBU0NACAEIAVBAnRqIgQgA0cEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyADIARHDQALCyAAIAQ2AigLQQEhAiAFQQBMDQBBACEDA0ACQCABKQMQIgkgASkDCFkNACABKAIAIAmnai0AACECIAEgCUIBfDcDECAAIAIgACgCACgCMBEBACEEIANBAnQiByAAKAIkaiIIKAIAIQIgCCAENgIAIAIEQCACIAIoAgAoAgQRAgALIAYoAgAgB2ooAgAiAkUNACACIAAgACgCACgCHBEAACAAIAMgACgCACgCFBEBACACKAIAKAIIEQMARQ0AQQEhAiAFIANBAWoiA0cNAQwCCwtBACECCyACCycBAX8gAEGADzYCACAAKAIQIQEgAEEANgIQIAEEQCABEBILIAAQBAslAQF/IABBgA82AgAgACgCECEBIABBADYCECABBEAgARASCyAAC90BAgZ/A34gASgCACEDIAEoAgQhAUF/IAAoAggpAygiCaciBCAEQQBIGxAFIQUCf0EBIAEgA2siA0EESA0AGkEAIgEgAikDECIKIAlC/////w+DIgt8IgkgAikDCFUNABpBASADQQJ1IgYgBkEBTBshB0EAIQMDQAJAIAUgAigCACAKp2ogBBAGIQggAiAJNwMQIAAoAggoAkAoAgAgAWogCCAEEAYaIANBAWoiAyAHRg0AIAEgBGohASACKQMQIgogC3wiCSACKQMIVw0BCwsgAyAGTgshACAFEAQgAAvTAQEGf0EBIQQCQCABIAEoAgAoAhQRAABBAEwNAANAQQAhBCAAKAIEKAIEIAEgBSABKAIAKAIYEQEAEJIBIgJBf0YNASAAKAIEIQNBACEGAkAgAkEASA0AIAMoAgQiBygCDCAHKAIIa0ECdSACTA0AIAMoAgggAygCFCACQQJ0aigCAEECdGooAgAiAyACIAMoAgAoAiARAQAhBgsgBiICRQ0BIAEgAiABKAIAKAIcEQEARQ0BQQEhBCABIAEoAgAoAhQRAAAgBUEBaiIFSg0ACwsgBAsEAEEBCz4BAn8CQCAAKAIIIgQtABhFDQAgBCABKAIEIAEoAgBrQQJ1EGdFDQAgACABIAIgACgCACgCIBEDACEDCyADCxIAIABBfzYCDCAAIAE2AghBAQsFAEGxCQsFAEHTCQsQACAAKAIIIAAoAgRrQQJ1CwUAQYkJCxcAIABFBEBBAA8LIABBnNcAEIcBQQBHCxsAIAAgASgCCCAFECAEQCABIAIgAyAEEIUBCws4ACAAIAEoAgggBRAgBEAgASACIAMgBBCFAQ8LIAAoAggiACABIAIgAyAEIAUgACgCACgCFBELAAunAQAgACABKAIIIAQQIARAAkAgASgCBCACRw0AIAEoAhxBAUYNACABIAM2AhwLDwsCQCAAIAEoAgAgBBAgRQ0AAkAgAiABKAIQRwRAIAEoAhQgAkcNAQsgA0EBRw0BIAFBATYCIA8LIAEgAjYCFCABIAM2AiAgASABKAIoQQFqNgIoAkAgASgCJEEBRw0AIAEoAhhBAkcNACABQQE6ADYLIAFBBDYCLAsLiAIAIAAgASgCCCAEECAEQAJAIAEoAgQgAkcNACABKAIcQQFGDQAgASADNgIcCw8LAkAgACABKAIAIAQQIARAAkAgAiABKAIQRwRAIAEoAhQgAkcNAQsgA0EBRw0CIAFBATYCIA8LIAEgAzYCIAJAIAEoAixBBEYNACABQQA7ATQgACgCCCIAIAEgAiACQQEgBCAAKAIAKAIUEQsAIAEtADUEQCABQQM2AiwgAS0ANEUNAQwDCyABQQQ2AiwLIAEgAjYCFCABIAEoAihBAWo2AiggASgCJEEBRw0BIAEoAhhBAkcNASABQQE6ADYPCyAAKAIIIgAgASACIAMgBCAAKAIAKAIYEQwACwsyACAAIAEoAghBABAgBEAgASACIAMQhgEPCyAAKAIIIgAgASACIAMgACgCACgCHBEJAAsZACAAIAEoAghBABAgBEAgASACIAMQhgELCxAAIAAoAgQgAUECdGooAgALoAEBAn8jAEFAaiIDJAACf0EBIAAgAUEAECANABpBACABRQ0AGkEAIAFBvNYAEIcBIgFFDQAaIANBCGoiBEEEckEAQTQQBxogA0EBNgI4IANBfzYCFCADIAA2AhAgAyABNgIIIAEgBCACKAIAQQEgASgCACgCHBEJACADKAIgIgBBAUYEQCACIAMoAhg2AgALIABBAUYLIQAgA0FAayQAIAALBQAQAAALPAEBfwJAIAAgASAAKAIAKAIkEQEARQ0AIAAgASAAKAIAKAIoEQEARQ0AIAAgACgCACgCLBEAACECCyACC/QBAQV/IwBBEGsiBSQAIwBBIGsiAyQAIwBBEGsiBCQAIAQgADYCDCAEIAAgAWo2AgggAyAEKAIMNgIYIAMgBCgCCDYCHCAEQRBqJAAgAygCGCEEIAMoAhwhByMAQRBrIgEkACAHIARrIQYgBCAHRwRAIAIgBCAGEAoaCyABIAQgBmo2AgwgASACIAZqNgIIIAMgASgCDDYCECADIAEoAgg2AhQgAUEQaiQAIAMgACADKAIQIABrajYCDCADIAIgAygCFCACa2o2AgggBSADKAIMNgIIIAUgAygCCDYCDCADQSBqJAAgBSgCDCEAIAVBEGokACAACwgAIAAQRBAECzgBAX8gAEHwDTYCACAAKAIQIgEEQCAAIAE2AhQgARAECyAAKAIEIgEEQCAAIAE2AgggARAECyAAC08BAn8gACABEI8BAkAgAUEASA0AIAAoAlgiAiAAKAJUIgNrQQJ1IAFMDQAgAyABQQJ0aiIBIAFBBGoiASACIAFrEAoaIAAgAkEEazYCWAsLmwQBB38gACABIAIQkAECQCAAKAJYIAAoAlQiA2tBAnUiAiABSg0AIAIgAUEBaiIBSQRAAkAgASACayIDIAAoAlwiBCAAKAJYIgJrQQJ1TQRAAkAgA0UNACACIQEgA0EHcSIEBEADQCABQQE2AgAgAUEEaiEBIAVBAWoiBSAERw0ACwsgA0ECdCACaiECIANBAWtB/////wNxQQdJDQADQCABQoGAgIAQNwIYIAFCgYCAgBA3AhAgAUKBgICAEDcCCCABQoGAgIAQNwIAIAFBIGoiASACRw0ACwsgACACNgJYDAELAkAgAiAAKAJUIgJrIglBAnUiBiADaiIBQYCAgIAESQRAQf////8DIAQgAmsiBEEBdiIHIAEgASAHSRsgBEH8////B08bIgQEQCAEQYCAgIAETw0CIARBAnQQBSEICyAIIAZBAnRqIgYhASADQQdxIgcEQANAIAFBATYCACABQQRqIQEgBUEBaiIFIAdHDQALCyAGIANBAnRqIQUgA0EBa0H/////A3FBB08EQANAIAFCgYCAgBA3AhggAUKBgICAEDcCECABQoGAgIAQNwIIIAFCgYCAgBA3AgAgAUEgaiIBIAVHDQALCyAIIAIgCRAKIQEgACAFNgJYIAAgATYCVCAAIAEgBEECdGo2AlwgAgRAIAIQBAsMAgsQCAALEAkACw8LIAEgAk8NACAAIAMgAUECdGo2AlgLCz0BAX8gAEGA0AA2AgAgACgCYCIBBEAgACABNgJkIAEQBAsgACgCVCIBBEAgACABNgJYIAEQBAsgABBEEAQLOwEBfyAAQYDQADYCACAAKAJgIgEEQCAAIAE2AmQgARAECyAAKAJUIgEEQCAAIAE2AlggARAECyAAEEQLBABBewsEAEF8CwQAQX0LBABBfgsEAEEMCwQAQQsLBABBCgsEAEEJCwQAQQgLBABBBwsEAEEGCwQAQQULEgAgACACNgIgIAAgATYCHEEBCzIAIAAEQCAALAAnQQBIBEAgACgCHBAECyAAQQxqIAAoAhAQZiAAIAAoAgQQOSAAEAQLC7oBAQR/IwBBEGsiAyQAIAMgACABIAIQxwEgACADKAIANgIYAkAgAEEYaiIFIANGDQAgAEEcaiEBIANBBHIhAiADLQAPIgbAIQQgACwAJ0EATgRAIARBAE4EQCABIAIpAgA3AgAgASACKAIINgIIDAILIAEgAygCBCADKAIIEEEMAQsgASADKAIEIAIgBEEASCIAGyADKAIIIAYgABsQQgsgAywAD0EASARAIAMoAgQQBAsgA0EQaiQAIAULtAEBBH8jAEEQayIBJAAgARDGASAAIAEoAgA2AhgCQCAAQRhqIgUgAUYNACAAQRxqIQIgAUEEciEDIAEtAA8iBsAhBCAALAAnQQBOBEAgBEEATgRAIAIgAykCADcCACACIAMoAgg2AggMAgsgAiABKAIEIAEoAggQQQwBCyACIAEoAgQgAyAEQQBIIgAbIAEoAgggBiAAGxBCCyABLAAPQQBIBEAgASgCBBAECyABQRBqJAAgBQvVAwEEfyMAQSBrIgMkACADQQhqIQIjAEHQAGsiACQAIAAgASkDIDcDSCAAQUBrIAEpAxg3AwAgACABKQMQNwM4IAAgASkDCDcDMCAAIAEpAwA3AyggAEEIaiAAQShqIABBGGoQcAJAIAAoAggiAQRAIAIgATYCACACQQRqIQEgACwAF0EATgRAIAEgAEEIakEEciICKQIANwIAIAEgAigCCDYCCAwCCyABIAAoAgwgACgCEBAMIAAsABdBAE4NASAAKAIMEAQMAQsgACwAF0EASARAIAAoAgwQBAsgAC0AHyIBQQJPBEBBIBAFIgFBADoAGiABQcMLLwAAOwAYIAFBuwspAAA3ABAgAUGzCykAADcACCABQasLKQAANwAAIABBfzYCCCAAQQhqQQRyIgQgAUEaEAwgACwAFyEFIAIgACgCCDYCACACQQRqIQIgBUEATgRAIAIgBCkCADcCACACIAQoAgg2AgggARAEDAILIAIgACgCDCAAKAIQEAwgACwAF0EASARAIAAoAgwQBAsgARAEDAELIAJCADcCACACIAE2AhAgAkIANwIICyAAQdAAaiQAIAMoAhghACADLAAXQQBIBEAgAygCDBAECyADQSBqJAAgAAsJACAAIAEQjgML7yoCBn8GfgJ/IAEhBkEAIQBBACEBAkACQAJAAkACQAJAAkACQCADQQFrDgkAAwEEAgUHBwYHCwJAIAYoAlAiBiACLQAYIgMiB2wgBEcNACACLQBUIQECQCACKAIcQQFHIggNACABRQ0AIAUgAigCACgCACACKAIwaiAEEAYaQQEhAQwBCyADBEAgBxAFIgBBACAHEAcaCwJAIAZFBEBBASEBDAELIAhFBEAgAwRAQQAhA0EAIQQDQCADIAVqIAAgAigCACgCACACKQMwIAIpAygiDCACLQBUBH8gBAUgAigCRCAEQQJ0aigCAAutfnynaiAMpxAGIAcQBhogAyAHaiEDQQEhASAEQQFqIgQgBkcNAAsMAgsgAQRAQQEhASACKAIAIQQgAikDMCENIAIpAygiDqchBSAGQQFHBEAgBkF+cSEHQQAhAkEAIQMDQCAAIAQoAgAgDiACrX4gDXynaiAFEAYgBCgCACAOIAJBAXKtfiANfKdqIAUQBhogAkECaiECIANBAmoiAyAHRw0ACyACrSEMCyAGQQFxRQ0CIAAgBCgCACAMIA5+IA18p2ogBRAGGgwCC0EBIQEgAigCACEEIAIpAzAhDCACKAJEIQUgAikDKCINpyEHQQAhAiAGQQFHBEAgBkF+cSEIQQAhAwNAIAAgBCgCACANIAUgAkECdCIJajUCAH4gDHynaiAHEAYgBCgCACANIAUgCUEEcmo1AgB+IAx8p2ogBxAGGiACQQJqIQIgA0ECaiIDIAhHDQALCyAGQQFxRQ0BIAAgBCgCACANIAUgAkECdGo1AgB+IAx8p2ogBxAGGgwBC0EAIQEgA0UEQEEAIQMDQCACIAItAFQEfyADBSACKAJEIANBAnRqKAIACyACLAAYIAAQTUUNAiADQQFqIgMgBk8hASADIAZHDQALDAELQQAhA0EAIQQDQCACIAItAFQEfyAEBSACKAJEIARBAnRqKAIACyACLAAYIAAQTUUNASADIAVqIAAgBxAGGiADIAdqIQMgBEEBaiIEIAZPIQEgBCAGRw0ACwsgAEUNACAAEAQLIAEMBwsCfwJAIAItABgiCEEBdCIJIAYoAlAiBmwgBEcNACACLQBUIQMCQCACKAIcQQNHIgcNACADRQ0AIAUgAigCACgCACACKAIwaiAEEAYaQQEMAgsCQCAIRQRAQQAhBAwBCyAJEAUiBEEAIAkQBxoLAkAgBkUEQEEBIQAMAQsgB0UEQCACKAJEIQogAigCACEBIAIpAzAhDiACKQMoIg+nIQcgCARAIANFBEBBACECQQAhAwNAQQEhACAFIAJBAXRqIAQgASgCACAPIAogA0ECdGo1AgB+IA58p2ogBxAGIAkQBhogAiAIaiECIANBAWoiAyAGRw0ACwwDCyAGrSENQQAhAgNAQQEhACAFIAJBAXRqIAQgASgCACAMIA9+IA58p2ogBxAGIAkQBhogAiAIaiECIAxCAXwiDCANUg0ACwwCCyADRQRAQQEhAEEAIQIgBkEBRwRAIAZBfnEhBUEAIQMDQCAEIAEoAgAgDyAKIAJBAnQiCGo1AgB+IA58p2ogBxAGIAEoAgAgDyAKIAhBBHJqNQIAfiAOfKdqIAcQBhogAkECaiECIANBAmoiAyAFRw0ACwsgBkEBcUUNAiAEIAEoAgAgDyAKIAJBAnRqNQIAfiAOfKdqIAcQBhoMAgsgBq0iDUIBgyEQQQEhACAGQQFHBEAgDUL+////D4MhEUIAIQ0DQCAEIAEoAgAgDCAPfiAOfKdqIAcQBiABKAIAIA8gDEIBhH4gDnynaiAHEAYaIAxCAnwhDCANQgJ8Ig0gEVINAAsLIBBQDQEgBCABKAIAIAwgD34gDnynaiAHEAYaDAELIAhFBEBBACEDA0AgAiACLQBUBH8gAwUgAigCRCADQQJ0aigCAAsgAiwAGCAEEEtFDQIgA0EBaiIDIAZPIQAgAyAGRw0ACwwBC0EAIQMDQCACIAItAFQEfyADBSACKAJEIANBAnRqKAIACyACLAAYIAQQS0UNASAFIAFBAXRqIAQgCRAGGiABIAhqIQEgA0EBaiIDIAZPIQAgAyAGRw0ACwsgBEUNACAEEAQLIAALDAYLAkAgAi0AGCIIQQJ0IgkgBigCUCIGbCAERw0AIAItAFQhAwJAIAIoAhxBBUciBw0AIANFDQAgBSACKAIAKAIAIAIoAjBqIAQQBhpBASEBDAELAkAgCEUEQEEAIQQMAQsgCRAFIgRBACAJEAcaC0EBIQECQCAGRQ0AIAdFBEAgAigCRCEKIAIoAgAhACACKQMwIQ4gAikDKCIPpyEHIAgEQCADRQRAQQAhAkEAIQMDQCAFIAJBAnRqIAQgACgCACAPIAogA0ECdGo1AgB+IA58p2ogBxAGIAkQBhogAiAIaiECIANBAWoiAyAGRw0ACwwDCyAGrSENQQAhAgNAIAUgAkECdGogBCAAKAIAIAwgD34gDnynaiAHEAYgCRAGGiACIAhqIQIgDEIBfCIMIA1SDQALDAILIANFBEBBACECIAZBAUcEQCAGQX5xIQVBACEDA0AgBCAAKAIAIA8gCiACQQJ0IghqNQIAfiAOfKdqIAcQBiAAKAIAIA8gCiAIQQRyajUCAH4gDnynaiAHEAYaIAJBAmohAiADQQJqIgMgBUcNAAsLIAZBAXFFDQIgBCAAKAIAIA8gCiACQQJ0ajUCAH4gDnynaiAHEAYaDAILIAatIg1CAYMhECAGQQFHBEAgDUL+////D4MhEUIAIQ0DQCAEIAAoAgAgDCAPfiAOfKdqIAcQBiAAKAIAIA8gDEIBhH4gDnynaiAHEAYaIAxCAnwhDCANQgJ8Ig0gEVINAAsLIBBQDQEgBCAAKAIAIAwgD34gDnynaiAHEAYaDAELQQAhASAIRQRAQQAhAwNAIAIgAi0AVAR/IAMFIAIoAkQgA0ECdGooAgALIAIsABggBBBJRQ0CIANBAWoiAyAGTyEBIAMgBkcNAAsMAQtBACEDA0AgAiACLQBUBH8gAwUgAigCRCADQQJ0aigCAAsgAiwAGCAEEElFDQEgBSAAQQJ0aiAEIAkQBhogACAIaiEAIANBAWoiAyAGTyEBIAMgBkcNAAsLIARFDQAgBBAECyABDAULAkAgBigCUCIGIAItABgiAyIHbCAERw0AIAItAFQhAQJAIAIoAhxBAkciCA0AIAFFDQAgBSACKAIAKAIAIAIoAjBqIAQQBhpBASEBDAELIAMEQCAHEAUiAEEAIAcQBxoLAkAgBkUEQEEBIQEMAQsgCEUEQCADBEBBACEDQQAhBANAIAMgBWogACACKAIAKAIAIAIpAzAgAikDKCIMIAItAFQEfyAEBSACKAJEIARBAnRqKAIAC61+fKdqIAynEAYgBxAGGiADIAdqIQNBASEBIARBAWoiBCAGRw0ACwwCCyABBEBBASEBIAIoAgAhBCACKQMwIQ0gAikDKCIOpyEFIAZBAUcEQCAGQX5xIQdBACECQQAhAwNAIAAgBCgCACAOIAKtfiANfKdqIAUQBiAEKAIAIA4gAkEBcq1+IA18p2ogBRAGGiACQQJqIQIgA0ECaiIDIAdHDQALIAKtIQwLIAZBAXFFDQIgACAEKAIAIAwgDn4gDXynaiAFEAYaDAILQQEhASACKAIAIQQgAikDMCEMIAIoAkQhBSACKQMoIg2nIQdBACECIAZBAUcEQCAGQX5xIQhBACEDA0AgACAEKAIAIA0gBSACQQJ0IglqNQIAfiAMfKdqIAcQBiAEKAIAIA0gBSAJQQRyajUCAH4gDHynaiAHEAYaIAJBAmohAiADQQJqIgMgCEcNAAsLIAZBAXFFDQEgACAEKAIAIA0gBSACQQJ0ajUCAH4gDHynaiAHEAYaDAELQQAhASADRQRAQQAhAwNAIAIgAi0AVAR/IAMFIAIoAkQgA0ECdGooAgALIAIsABggABBMRQ0CIANBAWoiAyAGTyEBIAMgBkcNAAsMAQtBACEDQQAhBANAIAIgAi0AVAR/IAQFIAIoAkQgBEECdGooAgALIAIsABggABBMRQ0BIAMgBWogACAHEAYaIAMgB2ohAyAEQQFqIgQgBk8hASAEIAZHDQALCyAARQ0AIAAQBAsgAQwECwJ/AkAgAi0AGCIIQQF0IgkgBigCUCIGbCAERw0AIAItAFQhAwJAIAIoAhxBBEciBw0AIANFDQAgBSACKAIAKAIAIAIoAjBqIAQQBhpBAQwCCwJAIAhFBEBBACEEDAELIAkQBSIEQQAgCRAHGgsCQCAGRQRAQQEhAAwBCyAHRQRAIAIoAkQhCiACKAIAIQEgAikDMCEOIAIpAygiD6chByAIBEAgA0UEQEEAIQJBACEDA0BBASEAIAUgAkEBdGogBCABKAIAIA8gCiADQQJ0ajUCAH4gDnynaiAHEAYgCRAGGiACIAhqIQIgA0EBaiIDIAZHDQALDAMLIAatIQ1BACECA0BBASEAIAUgAkEBdGogBCABKAIAIAwgD34gDnynaiAHEAYgCRAGGiACIAhqIQIgDEIBfCIMIA1SDQALDAILIANFBEBBASEAQQAhAiAGQQFHBEAgBkF+cSEFQQAhAwNAIAQgASgCACAPIAogAkECdCIIajUCAH4gDnynaiAHEAYgASgCACAPIAogCEEEcmo1AgB+IA58p2ogBxAGGiACQQJqIQIgA0ECaiIDIAVHDQALCyAGQQFxRQ0CIAQgASgCACAPIAogAkECdGo1AgB+IA58p2ogBxAGGgwCCyAGrSINQgGDIRBBASEAIAZBAUcEQCANQv7///8PgyERQgAhDQNAIAQgASgCACAMIA9+IA58p2ogBxAGIAEoAgAgDyAMQgGEfiAOfKdqIAcQBhogDEICfCEMIA1CAnwiDSARUg0ACwsgEFANASAEIAEoAgAgDCAPfiAOfKdqIAcQBhoMAQsgCEUEQEEAIQMDQCACIAItAFQEfyADBSACKAJEIANBAnRqKAIACyACLAAYIAQQSkUNAiADQQFqIgMgBk8hACADIAZHDQALDAELQQAhAwNAIAIgAi0AVAR/IAMFIAIoAkQgA0ECdGooAgALIAIsABggBBBKRQ0BIAUgAUEBdGogBCAJEAYaIAEgCGohASADQQFqIgMgBk8hACADIAZHDQALCyAERQ0AIAQQBAsgAAsMAwsCQCACLQAYIghBAnQiCSAGKAJQIgZsIARHDQAgAi0AVCEDAkAgAigCHEEGRyIHDQAgA0UNACAFIAIoAgAoAgAgAigCMGogBBAGGkEBIQEMAQsCQCAIRQRAQQAhBAwBCyAJEAUiBEEAIAkQBxoLQQEhAQJAIAZFDQAgB0UEQCACKAJEIQogAigCACEAIAIpAzAhDiACKQMoIg+nIQcgCARAIANFBEBBACECQQAhAwNAIAUgAkECdGogBCAAKAIAIA8gCiADQQJ0ajUCAH4gDnynaiAHEAYgCRAGGiACIAhqIQIgA0EBaiIDIAZHDQALDAMLIAatIQ1BACECA0AgBSACQQJ0aiAEIAAoAgAgDCAPfiAOfKdqIAcQBiAJEAYaIAIgCGohAiAMQgF8IgwgDVINAAsMAgsgA0UEQEEAIQIgBkEBRwRAIAZBfnEhBUEAIQMDQCAEIAAoAgAgDyAKIAJBAnQiCGo1AgB+IA58p2ogBxAGIAAoAgAgDyAKIAhBBHJqNQIAfiAOfKdqIAcQBhogAkECaiECIANBAmoiAyAFRw0ACwsgBkEBcUUNAiAEIAAoAgAgDyAKIAJBAnRqNQIAfiAOfKdqIAcQBhoMAgsgBq0iDUIBgyEQIAZBAUcEQCANQv7///8PgyERQgAhDQNAIAQgACgCACAMIA9+IA58p2ogBxAGIAAoAgAgDyAMQgGEfiAOfKdqIAcQBhogDEICfCEMIA1CAnwiDSARUg0ACwsgEFANASAEIAAoAgAgDCAPfiAOfKdqIAcQBhoMAQtBACEBIAhFBEBBACEDA0AgAiACLQBUBH8gAwUgAigCRCADQQJ0aigCAAsgAiwAGCAEEEhFDQIgA0EBaiIDIAZPIQEgAyAGRw0ACwwBC0EAIQMDQCACIAItAFQEfyADBSACKAJEIANBAnRqKAIACyACLAAYIAQQSEUNASAFIABBAnRqIAQgCRAGGiAAIAhqIQAgA0EBaiIDIAZPIQEgAyAGRw0ACwsgBEUNACAEEAQLIAEMAgsCQCAEIAItABgiCEECdCIJIAYoAlAiBmxHDQAgAigCHCEHAkAgCEUNACAJEAUiACEDIAlBBGsiCkECdkEBakEHcSILBEBBACEEA0AgA0GAgICAfDYCACADQQRqIQMgBEEBaiIEIAtHDQALCyAKQRxJDQAgACAIQQJ0aiEEA0AgA0KAgICAjICAgEA3AhggA0KAgICAjICAgEA3AhAgA0KAgICAjICAgEA3AgggA0KAgICAjICAgEA3AgAgA0EgaiIDIARHDQALCwJAIAZFBEBBASEBDAELIAdBCUYEQCACKAJEIQogAigCACEHIAIpAzAhDSACLQBUIQsgAikDKCIOpyECIAgEQEEAIQRBACEDA0AgBSAEQQJ0aiAAIAcoAgAgDiALBH8gAwUgCiADQQJ0aigCAAutfiANfKdqIAIQBiAJEAYaIAQgCGohBEEBIQEgA0EBaiIDIAZHDQALDAILIAtFBEBBASEBQQAhAyAGQQFHBEAgBkF+cSEFQQAhBANAIAAgBygCACAOIAogA0ECdCIIajUCAH4gDXynaiACEAYgBygCACAOIAogCEEEcmo1AgB+IA18p2ogAhAGGiADQQJqIQMgBEECaiIEIAVHDQALCyAGQQFxRQ0CIAAgBygCACAOIAogA0ECdGo1AgB+IA18p2ogAhAGGgwCCyAGrSIQQgGDIRFBASEBIAZBAUcEQCAQQv7///8PgyEQA0AgACAHKAIAIAwgDn4gDXynaiACEAYgBygCACAOIAxCAYR+IA18p2ogAhAGGiAMQgJ8IQwgD0ICfCIPIBBSDQALCyARUA0BIAAgBygCACAMIA5+IA18p2ogAhAGGgwBCyAIRQRAQQAhAwNAIAIgAi0AVAR/IAMFIAIoAkQgA0ECdGooAgALIAIsABggABA8RQ0CIANBAWoiAyAGTyEBIAMgBkcNAAsMAQtBACEEQQAhAwNAIAIgAi0AVAR/IAMFIAIoAkQgA0ECdGooAgALIAIsABggABA8RQ0BIAUgBEECdGogACAJEAYaIAQgCGohBCADQQFqIgMgBk8hASADIAZHDQALCyAARQ0AIAAQBAsgASEACyAACwuLBQEMf0EAIQAjAEEQayIKJAAgASgCUCIIIAItABgiBGwhAQJAAkACQAJAAkAgAigCHCIHQQVHIAdBBkdxDQAgAi0AVEUNACACKAIwIQUgAigCACgCACECIApBADYCCCAKQgA3AwAgAQRAIAFBAEgNAiABQQJ0IgEQBSIAIAIgBWogARAGIAFqIQYLIAMoAgAiAQRAIAMgATYCBCABEAQLIAMgBjYCCCADIAY2AgQgAyAANgIAQQEhBQwECyAEBEAgBEECdCIHEAUiAEEAIAcQBxoLAkAgAygCBCADKAIAIglrQQJ1IgcgAUkEQCADIAEgB2sQCwwBCyABIAdPDQAgAyAJIAFBAnRqNgIECyAIRQRAQQEhBQwCCyAERQRAQQAhAQNAIAIgAi0AVAR/IAEFIAIoAkQgAUECdGooAgALIAIsABggABBIRQ0DIAFBAWoiASAITyEFIAEgCEcNAAsMAgsgBEH8AXEhDiAEQQNxIQsgBEEESSEPQQAhBANAIAIgAi0AVAR/IAQFIAIoAkQgBEECdGooAgALIAIsABggABBIRQ0CIAMoAgAhDEEAIQ1BACEBQQAhBSAPRQRAA0AgDCAGQQJ0aiIHIAAgAUECdCIJaigCADYCACAHIAAgCUEEcmooAgA2AgQgByAAIAlBCHJqKAIANgIIIAcgACAJQQxyaigCADYCDCABQQRqIQEgBkEEaiEGIAVBBGoiBSAORw0ACwsgCwRAA0AgDCAGQQJ0aiAAIAFBAnRqKAIANgIAIAFBAWohASAGQQFqIQYgDUEBaiINIAtHDQALCyAEQQFqIgQgCE8hBSAEIAhHDQALDAILEAgACyAARQ0BCyAAEAQLIApBEGokACAFC4wFAQx/QQAhACMAQRBrIgokACABKAJQIgggAi0AGCIEbCEBAkACQAJAAkACQCACKAIcIgdBA0cgB0EER3ENACACLQBURQ0AIAIoAjAhBSACKAIAKAIAIQIgCkEANgIIIApCADcDACABBEAgAUEASA0CIAFBAXQiARAFIgAgAiAFaiABEAYgAWohBgsgAygCACIBBEAgAyABNgIEIAEQBAsgAyAGNgIIIAMgBjYCBCADIAA2AgBBASEFDAQLIAQEQCAEQQF0IgcQBSIAQQAgBxAHGgsCQCADKAIEIAMoAgAiCWtBAXUiByABSQRAIAMgASAHaxCoAQwBCyABIAdPDQAgAyAJIAFBAXRqNgIECyAIRQRAQQEhBQwCCyAERQRAQQAhAQNAIAIgAi0AVAR/IAEFIAIoAkQgAUECdGooAgALIAIsABggABBKRQ0DIAFBAWoiASAITyEFIAEgCEcNAAsMAgsgBEH8AXEhDiAEQQNxIQsgBEEESSEPQQAhBANAIAIgAi0AVAR/IAQFIAIoAkQgBEECdGooAgALIAIsABggABBKRQ0CIAMoAgAhDEEAIQ1BACEBQQAhBSAPRQRAA0AgDCAGQQF0aiIHIAAgAUEBdCIJai8BADsBACAHIAAgCUECcmovAQA7AQIgByAAIAlBBHJqLwEAOwEEIAcgACAJQQZyai8BADsBBiABQQRqIQEgBkEEaiEGIAVBBGoiBSAORw0ACwsgCwRAA0AgDCAGQQF0aiAAIAFBAXRqLwEAOwEAIAFBAWohASAGQQFqIQYgDUEBaiINIAtHDQALCyAEQQFqIgQgCE8hBSAEIAhHDQALDAILEAgACyAARQ0BCyAAEAQLIApBEGokACAFC4wFAQx/QQAhACMAQRBrIgokACABKAJQIgggAi0AGCIEbCEBAkACQAJAAkACQCACKAIcIgdBA0cgB0EER3ENACACLQBURQ0AIAIoAjAhBSACKAIAKAIAIQIgCkEANgIIIApCADcDACABBEAgAUEASA0CIAFBAXQiARAFIgAgAiAFaiABEAYgAWohBgsgAygCACIBBEAgAyABNgIEIAEQBAsgAyAGNgIIIAMgBjYCBCADIAA2AgBBASEFDAQLIAQEQCAEQQF0IgcQBSIAQQAgBxAHGgsCQCADKAIEIAMoAgAiCWtBAXUiByABSQRAIAMgASAHaxCoAQwBCyABIAdPDQAgAyAJIAFBAXRqNgIECyAIRQRAQQEhBQwCCyAERQRAQQAhAQNAIAIgAi0AVAR/IAEFIAIoAkQgAUECdGooAgALIAIsABggABBLRQ0DIAFBAWoiASAITyEFIAEgCEcNAAsMAgsgBEH8AXEhDiAEQQNxIQsgBEEESSEPQQAhBANAIAIgAi0AVAR/IAQFIAIoAkQgBEECdGooAgALIAIsABggABBLRQ0CIAMoAgAhDEEAIQ1BACEBQQAhBSAPRQRAA0AgDCAGQQF0aiIHIAAgAUEBdCIJai8BADsBACAHIAAgCUECcmovAQA7AQIgByAAIAlBBHJqLwEAOwEEIAcgACAJQQZyai8BADsBBiABQQRqIQEgBkEEaiEGIAVBBGoiBSAORw0ACwsgCwRAA0AgDCAGQQF0aiAAIAFBAXRqLwEAOwEAIAFBAWohASAGQQFqIQYgDUEBaiINIAtHDQALCyAEQQFqIgQgCE8hBSAEIAhHDQALDAILEAgACyAARQ0BCyAAEAQLIApBEGokACAFC5AGAQl/IwBBEGsiDCQAIAEoAlAiCyACLQAYIgVsIQACQAJAAkACQAJAIAIoAhwiAUEBRyABQQJHcQ0AIAItAFRFDQAgAigCMCEBIAIoAgAoAgAhAiAMQQA2AgggDEIANwMAIAAEQCAAQQBIDQIgABAFIgYgASACaiAAEAYgAGohBAsgAygCACIABEAgAyAANgIEIAAQBAsgAyAENgIIIAMgBDYCBCADIAY2AgBBASEBDAQLIAUEQCAFEAUiBkEAIAUQBxoLAkACQCADKAIEIgggAygCACIBayIHIABJBEAgACAHayIKIAMoAggiCSAIa00EQCADIAhBACAKEAcgCmo2AgQMAgsgAEEASA0CQf////8HIAkgAWsiCEEBdCIJIAAgACAJSRsgCEH/////A08bIggQBSIJIAdqQQAgChAHGiADIAkgASAHEAoiByAIajYCCCADIAAgB2o2AgQgAyAHNgIAIAFFDQEgARAEDAELIAAgB08NACADIAAgAWo2AgQLIAtFBEBBASEBDAMLIAVFBEBBACEBQQAhAANAIAIgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALIAIsABggBhBMRQ0EIABBAWoiACALTyEBIAAgC0cNAAsMAwsgBUH8AXEhCCAFQQNxIQdBACEBIAVBBEkhCUEAIQUDQCACIAItAFQEfyAFBSACKAJEIAVBAnRqKAIACyACLAAYIAYQTEUNA0EAIQFBACEAQQAhCiAJRQRAA0AgAygCACAEaiAAIAZqLQAAOgAAIAQgAygCAGogBiAAQQFyai0AADoAASAEIAMoAgBqIAYgAEECcmotAAA6AAIgBCADKAIAaiAGIABBA3JqLQAAOgADIABBBGohACAEQQRqIQQgCkEEaiIKIAhHDQALCyAHBEADQCADKAIAIARqIAAgBmotAAA6AAAgAEEBaiEAIARBAWohBCABQQFqIgEgB0cNAAsLIAVBAWoiBSALTyEBIAUgC0cNAAsMAwsQCAALEAgACyAGRQ0BCyAGEAQLIAxBEGokACABQQFxC5AGAQl/IwBBEGsiDCQAIAEoAlAiCyACLQAYIgVsIQACQAJAAkACQAJAIAIoAhwiAUEBRyABQQJHcQ0AIAItAFRFDQAgAigCMCEBIAIoAgAoAgAhAiAMQQA2AgggDEIANwMAIAAEQCAAQQBIDQIgABAFIgYgASACaiAAEAYgAGohBAsgAygCACIABEAgAyAANgIEIAAQBAsgAyAENgIIIAMgBDYCBCADIAY2AgBBASEBDAQLIAUEQCAFEAUiBkEAIAUQBxoLAkACQCADKAIEIgggAygCACIBayIHIABJBEAgACAHayIKIAMoAggiCSAIa00EQCADIAhBACAKEAcgCmo2AgQMAgsgAEEASA0CQf////8HIAkgAWsiCEEBdCIJIAAgACAJSRsgCEH/////A08bIggQBSIJIAdqQQAgChAHGiADIAkgASAHEAoiByAIajYCCCADIAAgB2o2AgQgAyAHNgIAIAFFDQEgARAEDAELIAAgB08NACADIAAgAWo2AgQLIAtFBEBBASEBDAMLIAVFBEBBACEBQQAhAANAIAIgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALIAIsABggBhBNRQ0EIABB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EAQLIARBIGokACAADAILEBQACxAUAAsLhAIBA38CfyMAQSBrIgAkACACEBMiA0Hw////B0kEQAJAAkAgA0ELTwRAIANBD3JBAWoiBBAFIQUgACAEQYCAgIB4cjYCGCAAIAU2AhAgACADNgIUIAMgBWohBAwBCyAAIAM6ABsgAEEQaiIFIANqIQQgA0UNAQsgBSACIAMQBhoLIARBADoAACAAQQA6AAQgAEHuwrWrBjYCACAAQQQ6AAsCf0F/IAEoAgQiAkUNABpBfyACIAAgAEEQahCWASICRQ0AGiABIAIoAhgQkQELIQEgACwAC0EASARAIAAoAgAQBAsgACwAG0EASARAIAAoAhAQBAsgAEEgaiQAIAEMAQsQFAALCwkAIAEgAhCSAQvfAQEDfyMAQUBqIgQkACAEQQhqEB4iBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGoiASAAIAUgAxDHASAAIAQoAjA2AhgCQCABIABBGGoiBUYNACAAQRxqIQEgBEEwakEEciECIAQtAD8iBsAhAyAALAAnQQBOBEAgA0EATgRAIAEgAikCADcCACABIAIoAgg2AggMAgsgASAEKAI0IAQoAjgQQQwBCyABIAQoAjQgAiADQQBIIgAbIAQoAjggBiAAGxBCCyAELAA/QQBIBEAgBCgCNBAECyAEQUBrJAAgBQvZAQEDfyMAQUBqIgMkACADQQhqEB4iBEIANwMQIAQgATYCACAEIAKtNwMIIANBMGoiARDGASAAIAMoAjA2AhgCQCABIABBGGoiBUYNACAAQRxqIQEgA0EwakEEciECIAMtAD8iBsAhBCAALAAnQQBOBEAgBEEATgRAIAEgAikCADcCACABIAIoAgg2AggMAgsgASADKAI0IAMoAjgQQQwBCyABIAMoAjQgAiAEQQBIIgAbIAMoAjggBiAAGxBCCyADLAA/QQBIBEAgAygCNBAECyADQUBrJAAgBQs8AQJ/QSgQBSIAQgA3AgQgAEIANwIYIABBEGoiAUIANwIAIAAgAEEEajYCACAAIAE2AgwgAEIANwIgIAALcgEDfyAABEAgACwAG0EASARAIAAoAhAQBAsgACgCACICBEAgACgCBCIDIAIiAUcEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABAECyABIgMgAkcNAAsgACgCACEBCyAA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KAIAEAQLIANBEGokACAADAELEBQACwv8AgEHfwJ/IwBBEGsiAyQAIAIQEyIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIGEAUhACADIAZBgICAgHhyNgIIIAMgADYCACADIAQ2AgQgACAEaiEGDAELIAMgBDoACyADIARqIQYgAyEAIARFDQELIAAgAiAEEAYaCyAGQQA6AAAgAy0ACyIAwCEJAn9BACABKAIEIgVFDQAaIAMoAgQgACAJQQBIIgAbIQcgAygCACADIAAbIQQDQAJAAkACQAJAAkACQCAFKAIUIAUtABsiACAAwEEASCIAGyIIIAcgByAISyICGyIGBEAgBCAFKAIQIAVBEGogABsiASAGEA0iAA0BIAcgCE8NAgwGCyAHIAhPDQIMBQsgAEEASA0ECyABIAQgBhANIgANAQsgAg0BQQEMBAsgAEEASA0AQQEMAwsgBUEEaiEFCyAFKAIAIgUNAAtBAAshACAJQQBIBEAgAygCABAECyADQRBqJAAgAAwBCxAUAAsLJgEBf0EcEAUiAEIANwIAIABBADYCGCAAQgA3AhAgAEIANwIIIAALEAAgACgCACABQQF0ai8BAAsQACAAKAIAIAFBAXRqLgEACw0AIAAoAgAgAWotAAALDQAgACgCACABaiwAAAsQACAAKAIAIAFBAnRqKgIAC9gDAgV/AX4gAygCUCEFIwBBMGsiBCQAAkAgACgCBCIAQQJrIghBHEsNACADKAIAKAIAIAMoAjBqIQYgBCAANgIQIARBfyAAdCIAQX9zNgIUIARBfiAAayIANgIYIAQgAEECbTYCICAEQwAAAEAgALKVOAIcIAIoAgAiByACKAIERwRAQQAhAEEAIQMDQCAHIANBAnRqKAIAIQUgBEEkaiIHIAEoAgAoAgAgASkDMCABKQMoIgkgAS0AVAR/IAUFIAEoAkQgBUECdGooAgALrX58p2ogCacQBhogBEEQaiAHIARBDGogBEEIahCMASAGIABBAnQiBWogBCgCDDYCACAGIAVBBHJqIAQoAgg2AgAgAEECaiEAIANBAWoiAyACKAIEIAIoAgAiB2tBAnVJDQALDAELIAVFDQBBACEDQQAhAANAIARBJGoiAiABKAIAKAIAIAEpAzAgASkDKCIJIAEtAFQEfyAABSABKAJEIABBAnRqKAIAC61+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IAAoAjAhASAAQQA2AjAgAQRAIAEgASgCACgCBBECAAsgAEGwzgA2AgAgACgCFCIBBEAgACABNgIYIAEQBAsgACgCCCIBBEAgACgCDCIDIAEiAkcEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyABIANHDQALIAAoAgghAgsgACABNgIMIAIQBAsgABAEC6YBAQN/IABB8D82AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACyAAQbDOADYCACAAKAIUIgEEQCAAIAE2AhggARAECyAAKAIIIgEEQCAAKAIMIgMgASICRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cNAAsgACgCCCECCyAAIAE2AgwgAhAECyAACxQAIAAoAjAiACAAKAIAKAIcEQAACxQAIAAoAjAiACAAKAIAKAIYEQAAC9UFAgJ/AX4gACgCICIBKQMIIAEpAxAiA1UEfyABKAIAIAOnai0AACECIAEgA0IBfDcDECAAKAIwIQEgAEEANgIwIAEEQCABIAEoAgAoAgQRAgALAkACQAJ/AkACQCACDgMAAwEDC0GAAxAFIgFB3MAANgIAIAFBBGpBAEHQABAHGiABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHoAWoQHhogAUGQAmoQHhogAUG4AmoiAkIANwIAIAJCADcABSABQcgCahAeGiABQQA2AvgCIAFCADcD8AIgAQwBC0G4AxAFIgFBkMEANgIAIAFBBGpBAEHQABAHGiABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHoAWoQHhogAUGQAmoQHhogAUG4AmoiAkIANwIAIAJCADcABSABQcgCahAeGiABQgA3A4gDIAFCADcDgAMgAUIANwP4AiABQgA3A/ACIAFCADcDoAMgAUKCgICA8AA3A5gDIAFCfzcDkAMgAUIANwOoAyABQgA3A7ADIAELIQEgACgCMCECIAAgATYCMCACRQ0BIAIgAigCACgCBBECAAsgACgCMCIBDQBBAA8LIAEgACABKAIAKAIIEQEABUEACwsWACAAKAIwIgAgASAAKAIAKAIUEQEAC34BA38gAEGwzgA2AgAgACgCFCICBEAgACACNgIYIAIQBAsgACgCCCICBEAgACgCDCIDIAIiAUcEQANAIANBBGsiAygCACEBIANBADYCACABBEAgASABKAIAKAIEEQIACyACIANHDQALIAAoAgghAQsgACACNgIMIAEQBAsgAAsbACAAKAIsRQRAQQAPCyAAIAAoAgAoAjARAAAL7wIBCX8CQCABKAJYIgNFDQAgAygCAEEBRw0AIAAgAygCCCIGKAAANgIEIABBCGohBAJAIAAoAgwgACgCCCIHa0ECdSIFIAEtABgiAkkEQCAEIAIgBWsQCyABLQAYIQIgAygCCCEGDAELIAIgBU8NACAAIAcgAkECdGo2AgwLAkAgAkUEQEEEIQEMAQsgAkEDcSEHIAQoAgAhAwJAIAJBAWtBA0kEQEEEIQFBACECDAELIAJB/AFxIQpBACECQQQhAQNAIAMgAkECdCIEaiABIAZqIgUqAAA4AgAgAyAEQQRyaiAFKgAEOAIAIAMgBEEIcmogBSoACDgCACADIARBDHJqIAUqAAw4AgAgAkEEaiECIAFBEGohASAJQQRqIgkgCkcNAAsLIAdFDQADQCADIAJBAnRqIAEgBmoqAAA4AgAgAkEBaiECIAFBBGohASAIQQFqIgggB0cNAAsLIAAgASAGaioAADgCFEEBIQILIAIL7xUBGH8jAEEQayIOJAAgDiABNgIMIA5BIBAFIgE2AgAgDkKYgICAgISAgIB/NwIEIAFBqAkpAAA3ABAgAUGgCSkAADcACCABQZgJKQAANwAAIAFBADoAGCMAQTBrIgwkACAOKAIMIQUCQAJAIAAiAUEQaiIDKAIAIgJFDQAgAyEAA0AgACACIAIoAhAgBUgiBBshACACQQRqIAIgBBso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QQJHDQAgACABKAIIKAAANgIEQQEhAgsgAgsL31IHAEGECAuxPWAEAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAABONWRyYWNvMjhBdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtRQAA2CsAADgEAADgBgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFkX2FycmF5X25ld19sZW5ndGgAYmFzaWNfc3RyaW5nAHN0ZDo6YmFkX2FsbG9jAERSQUNPAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAFVuc3VwcG9ydGVkIG1pbm9yIHZlcnNpb24uAFVuc3VwcG9ydGVkIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQAAAAAAAAC0BgAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAADYKwAAiAYAAOAGAABONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAAAAALArAADABgAAAAAAAGwHAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAALArAAA8BwAA2CsAACAHAABkBwAAAAAAAMwHAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAsCsAAKQHAAD/////AAAAAEQIAAAvAAAAMAAAABwAAAAxAAAAMgAAAB8AAAAgAAAAIQAAADMAAAA0AAAANQAAADYAAAA3AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUA2CsAABQIAABsBwAAAAAAALgIAAA4AAAAOQAAADoAAAApAAAAKgAAACsAAAA7AAAALQAAADwAAAA9AAAAPgAAAD8AAABAAAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQDYKwAAjAgAAMwHAAAAAAAARAsAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFALArAADoCgAA2CsAAL0KAAAMCwAA2CsAAIkKAAAUCwAA2CsAADUKAAAgCwAA2CsAAJ8JAAAsCwAA2CsAAPwIAAA4CwAAAAAAADgLAABBAAAATQAAACMAAABEAAAAIwAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAACMAAAAAAAAALAsAAEEAAABOAAAAIwAAAEQAAAAjAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAIwAAAAAAAACsDAAATwAAAFAAAABRAAAARAAAAFIAAABGAAAARwAAAEgAAABJAAAASgAAAFMAAABUAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAA2CsAAPgLAAA4CwAAAAAAAJgNAABVAAAAVgAAAFcAAABEAAAAWAAAAFkAAABaAAAAWwAAAEkAAABKAAAAXAAAAF0AAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAADYKwAA8AwAADgLAAAAAAAAhA4AAF4AAABfAAAAYAAAAEQAAABhAAAAYgAAAGMAAABkAAAASQAAAEoAAABlAAAAZgAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAANgrAADcDQAAOAsAAAAAAAAMEAAAZwAAAGgAAABpAAAAagAAAGsAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAALArAABXDwAA2CsAAKwOAAAEEAAAAAAAAAQQAABnAAAAbAAAACMAAABqAAAAIwAAAAAAAACYEQAAQQAAAG0AAABuAAAARAAAAG8AAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABwAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAA2CsAAAIRAAAsCwAA2CsAAGwQAACMEQAAAAAAAIwRAABBAAAAcQAAACMAAABEAAAAIwAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAACMAAAAAAAAAvBIAAHIAAABzAAAAdAAAAEQAAAB1AAAARgAAAEcAAABIAAAASQAAAEoAAAB2AAAAdwAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAANgrAAAUEgAAjBEAAAAAAACcEwAAeAAAAHkAAAB6AAAARAAAAHsAAAB8AAAAfQAAAH4AAABJAAAASgAAAH8AAACAAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA2CsAAAATAACMEQAAAAAAAHgUAACBAAAAggAAAIMAAABEAAAAhAAAAIUAAACGAAAAhwAAAEkAAABKAAAAiAAAAIkAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFANgrAADgEwAAjBEAAAAAAADkFQAAigAAAIsAAACMAAAAjQAAAI4AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAsCsAAD4VAADYKwAAoBQAANwVAAAAAAAA3BUAAIoAAACPAAAAIwAAAI0AAAAjAAAAAAAAAKAWAABBAAAAkAAAAJEAAABEAAAAkgAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAJMAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAANgrAABEFgAALAsAAAAAAAAUFwAAlAAAAJUAAACWAAAAKQAAACoAAACXAAAAOwAAAC0AAAA8AAAAmAAAAJkAAACaAAAAmwAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAA2CsAAOgWAAC4CAAAAAAAAEgZAACcAAAAnQAAAJ4AAACfAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAAKcAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAA2CsAAMMYAAAgCwAA2CsAABUYAAAwGQAA2CsAAFgXAAA8GQAAAAAAAAAbAACoAAAAqQAAAKoAAACrAAAArAAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAsCsAADMaAADYKwAAcBkAAPgaAAAAAAAApBwAAK0AAACuAAAArwAAAJ8AAACwAAAAsQAAALIAAACzAAAApAAAAKUAAAC0AAAAtQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAADYKwAA9BsAADAZAADYKwAARBsAAJgcAAAAAAAAQB4AALYAAAC3AAAAuAAAALkAAAC6AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFALArAACCHQAA2CsAAMwcAAA4HgAAAAAAAPgeAAC7AAAAvAAAAL0AAACfAAAAvgAAAL8AAADAAAAAwQAAAKQAAAClAAAAwgAAAMMAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAANgrAACEHgAAMBkAAAAAAAB8HwAAxAAAAMUAAADGAAAAKQAAACoAAADHAAAAOwAAAC0AAAA8AAAAyAAAAD4AAAA/AAAAyQAAAMoAAADLAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAANgrAABIHwAAuAgAAAAAAADcHwAAzAAAAM0AAADOAAAAzwAAACMAAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAAIwAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAANgrAADEHwAAnCcAAAAAAABIIAAA1wAAANgAAADOAAAA2QAAANoAAADQAAAA0QAAANIAAADbAAAA3AAAAN0AAADeAAAA3wAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAANgrAAAkIAAA3B8AAAAAAAA8IQAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAOcAAADoAAAA6QAAAP////8AAAAAnCEAAOoAAADrAAAA7AAAAO0AAADuAAAA7wAAAPAAAADxAAAA8gAAAPMAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAsCsAAAQhAADYKwAAuCAAADQhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAADYKwAASCEAADQhAAAAAAAAmCIAAPQAAAD1AAAA9gAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAsCsAACkiAADYKwAAvCEAAJAiAAAAAAAAkCIAAPcAAAD4AAAA9gBBxMUAC7YHAQAAAAMAAAAFAAAABwAAAAAAAACYIwAA+QAAAPoAAAD7AAAA/AAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAsCsAAHMjAADYKwAA7CIAAJAjAAD/////AAAAAIgkAAD9AAAA/gAAAP8AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAsCsAACUkAADYKwAAvCMAAIAkAAAAAAAAgCQAAAABAAABAQAA/wAAAAAAAABAJQAAAgEAAAMBAAAEAQAABQEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAA2CsAAMAkAACQIwAAAAAAAMAlAAAGAQAABwEAAP8AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQDYKwAAYCUAAIAkAAAAAAAAcCYAAAgBAAAJAQAACgEAAAsBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAANgrAADkJQAAkCMAQYTNAAvNAdwmAADMAAAADAEAAM4AAADPAAAADQEAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAAAOAQAATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQDYKwAAvCYAANwfAAAAAAAAHCcAAA8BAAAQAQAAEQEAABIBAABONWRyYWNvMTVMaW5lYXJT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"},11:A=>{"use strict";A.exports="data:application/javascript;base64,dmFyICRqc2NvbXA9JGpzY29tcHx8e307JGpzY29tcC5zY29wZT17fTskanNjb21wLmFycmF5SXRlcmF0b3JJbXBsPWZ1bmN0aW9uKGgpe3ZhciBuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG48aC5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6aFtuKytdfTp7ZG9uZTohMH19fTskanNjb21wLmFycmF5SXRlcmF0b3I9ZnVuY3Rpb24oaCl7cmV0dXJue25leHQ6JGpzY29tcC5hcnJheUl0ZXJhdG9ySW1wbChoKX19OyRqc2NvbXAubWFrZUl0ZXJhdG9yPWZ1bmN0aW9uKGgpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJmhbU3ltYm9sLml0ZXJhdG9yXTtyZXR1cm4gbj9uLmNhbGwoaCk6JGpzY29tcC5hcnJheUl0ZXJhdG9yKGgpfTskanNjb21wLkFTU1VNRV9FUzU9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX01BUD0hMTskanNjb21wLkFTU1VNRV9OT19OQVRJVkVfU0VUPSExOyRqc2NvbXAuU0lNUExFX0ZST1VORF9QT0xZRklMTD0hMTsKJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTskanNjb21wLmdldEdsb2JhbD1mdW5jdGlvbihoKXtoPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsaCwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIG49MDtuPGgubGVuZ3RoOysrbil7dmFyIGs9aFtuXTtpZihrJiZrLk1hdGg9PU1hdGgpcmV0dXJuIGt9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9OyRqc2NvbXAuZ2xvYmFsPSRqc2NvbXAuZ2V0R2xvYmFsKHRoaXMpOwokanNjb21wLmRlZmluZVByb3BlcnR5PSRqc2NvbXAuQVNTVU1FX0VTNXx8ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihoLG4sayl7aWYoaD09QXJyYXkucHJvdG90eXBlfHxoPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBoO2hbbl09ay52YWx1ZTtyZXR1cm4gaH07JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFPSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PXR5cGVvZiBTeW1ib2woIngiKTskanNjb21wLlRSVVNUX0VTNl9QT0xZRklMTFM9ISRqc2NvbXAuSVNPTEFURV9QT0xZRklMTFN8fCRqc2NvbXAuSVNfU1lNQk9MX05BVElWRTskanNjb21wLnBvbHlmaWxscz17fTskanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbD17fTskanNjb21wLlBPTFlGSUxMX1BSRUZJWD0iJGpzY3AkIjsKdmFyICRqc2NvbXAkbG9va3VwUG9seWZpbGxlZFZhbHVlPWZ1bmN0aW9uKGgsbil7dmFyIGs9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbbl07aWYobnVsbD09aylyZXR1cm4gaFtuXTtrPWhba107cmV0dXJuIHZvaWQgMCE9PWs/azpoW25dfTskanNjb21wLnBvbHlmaWxsPWZ1bmN0aW9uKGgsbixrLHApe24mJigkanNjb21wLklTT0xBVEVfUE9MWUZJTExTPyRqc2NvbXAucG9seWZpbGxJc29sYXRlZChoLG4sayxwKTokanNjb21wLnBvbHlmaWxsVW5pc29sYXRlZChoLG4sayxwKSl9OwokanNjb21wLnBvbHlmaWxsVW5pc29sYXRlZD1mdW5jdGlvbihoLG4sayxwKXtrPSRqc2NvbXAuZ2xvYmFsO2g9aC5zcGxpdCgiLiIpO2ZvcihwPTA7cDxoLmxlbmd0aC0xO3ArKyl7dmFyIGw9aFtwXTtpZighKGwgaW4gaykpcmV0dXJuO2s9a1tsXX1oPWhbaC5sZW5ndGgtMV07cD1rW2hdO249bihwKTtuIT1wJiZudWxsIT1uJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGssaCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX07CiRqc2NvbXAucG9seWZpbGxJc29sYXRlZD1mdW5jdGlvbihoLG4sayxwKXt2YXIgbD1oLnNwbGl0KCIuIik7aD0xPT09bC5sZW5ndGg7cD1sWzBdO3A9IWgmJnAgaW4gJGpzY29tcC5wb2x5ZmlsbHM/JGpzY29tcC5wb2x5ZmlsbHM6JGpzY29tcC5nbG9iYWw7Zm9yKHZhciB5PTA7eTxsLmxlbmd0aC0xO3krKyl7dmFyIGY9bFt5XTtpZighKGYgaW4gcCkpcmV0dXJuO3A9cFtmXX1sPWxbbC5sZW5ndGgtMV07az0kanNjb21wLklTX1NZTUJPTF9OQVRJVkUmJiJlczYiPT09az9wW2xdOm51bGw7bj1uKGspO251bGwhPW4mJihoPyRqc2NvbXAuZGVmaW5lUHJvcGVydHkoJGpzY29tcC5wb2x5ZmlsbHMsbCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTpuIT09ayYmKHZvaWQgMD09PSRqc2NvbXAucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW2xdJiYoaz0xRTkqTWF0aC5yYW5kb20oKT4+PjAsJGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbbF09JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFPwokanNjb21wLmdsb2JhbC5TeW1ib2wobCk6JGpzY29tcC5QT0xZRklMTF9QUkVGSVgraysiJCIrbCksJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShwLCRqc2NvbXAucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW2xdLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pKSl9OwokanNjb21wLnBvbHlmaWxsKCJQcm9taXNlIixmdW5jdGlvbihoKXtmdW5jdGlvbiBuKCl7dGhpcy5iYXRjaF89bnVsbH1mdW5jdGlvbiBrKGYpe3JldHVybiBmIGluc3RhbmNlb2YgbD9mOm5ldyBsKGZ1bmN0aW9uKHEsdSl7cShmKX0pfWlmKGgmJighKCRqc2NvbXAuRk9SQ0VfUE9MWUZJTExfUFJPTUlTRXx8JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTiYmInVuZGVmaW5lZCI9PT10eXBlb2YgJGpzY29tcC5nbG9iYWwuUHJvbWlzZVJlamVjdGlvbkV2ZW50KXx8ISRqc2NvbXAuZ2xvYmFsLlByb21pc2V8fC0xPT09JGpzY29tcC5nbG9iYWwuUHJvbWlzZS50b1N0cmluZygpLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKSkpcmV0dXJuIGg7bi5wcm90b3R5cGUuYXN5bmNFeGVjdXRlPWZ1bmN0aW9uKGYpe2lmKG51bGw9PXRoaXMuYmF0Y2hfKXt0aGlzLmJhdGNoXz1bXTt2YXIgcT10aGlzO3RoaXMuYXN5bmNFeGVjdXRlRnVuY3Rpb24oZnVuY3Rpb24oKXtxLmV4ZWN1dGVCYXRjaF8oKX0pfXRoaXMuYmF0Y2hfLnB1c2goZil9Owp2YXIgcD0kanNjb21wLmdsb2JhbC5zZXRUaW1lb3V0O24ucHJvdG90eXBlLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uPWZ1bmN0aW9uKGYpe3AoZiwwKX07bi5wcm90b3R5cGUuZXhlY3V0ZUJhdGNoXz1mdW5jdGlvbigpe2Zvcig7dGhpcy5iYXRjaF8mJnRoaXMuYmF0Y2hfLmxlbmd0aDspe3ZhciBmPXRoaXMuYmF0Y2hfO3RoaXMuYmF0Y2hfPVtdO2Zvcih2YXIgcT0wO3E8Zi5sZW5ndGg7KytxKXt2YXIgdT1mW3FdO2ZbcV09bnVsbDt0cnl7dSgpfWNhdGNoKEEpe3RoaXMuYXN5bmNUaHJvd18oQSl9fX10aGlzLmJhdGNoXz1udWxsfTtuLnByb3RvdHlwZS5hc3luY1Rocm93Xz1mdW5jdGlvbihmKXt0aGlzLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uKGZ1bmN0aW9uKCl7dGhyb3cgZjt9KX07dmFyIGw9ZnVuY3Rpb24oZil7dGhpcy5zdGF0ZV89MDt0aGlzLnJlc3VsdF89dm9pZCAwO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz1bXTt0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF89ITE7dmFyIHE9dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpOwp0cnl7ZihxLnJlc29sdmUscS5yZWplY3QpfWNhdGNoKHUpe3EucmVqZWN0KHUpfX07bC5wcm90b3R5cGUuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBmKEEpe3JldHVybiBmdW5jdGlvbihGKXt1fHwodT0hMCxBLmNhbGwocSxGKSl9fXZhciBxPXRoaXMsdT0hMTtyZXR1cm57cmVzb2x2ZTpmKHRoaXMucmVzb2x2ZVRvXykscmVqZWN0OmYodGhpcy5yZWplY3RfKX19O2wucHJvdG90eXBlLnJlc29sdmVUb189ZnVuY3Rpb24oZil7aWYoZj09PXRoaXMpdGhpcy5yZWplY3RfKG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihmIGluc3RhbmNlb2YgbCl0aGlzLnNldHRsZVNhbWVBc1Byb21pc2VfKGYpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGYpe2Nhc2UgIm9iamVjdCI6dmFyIHE9bnVsbCE9ZjticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpxPSEwO2JyZWFrIGE7ZGVmYXVsdDpxPSExfXE/dGhpcy5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXyhmKToKdGhpcy5mdWxmaWxsXyhmKX19O2wucHJvdG90eXBlLnJlc29sdmVUb05vblByb21pc2VPYmpfPWZ1bmN0aW9uKGYpe3ZhciBxPXZvaWQgMDt0cnl7cT1mLnRoZW59Y2F0Y2godSl7dGhpcy5yZWplY3RfKHUpO3JldHVybn0iZnVuY3Rpb24iPT10eXBlb2YgcT90aGlzLnNldHRsZVNhbWVBc1RoZW5hYmxlXyhxLGYpOnRoaXMuZnVsZmlsbF8oZil9O2wucHJvdG90eXBlLnJlamVjdF89ZnVuY3Rpb24oZil7dGhpcy5zZXR0bGVfKDIsZil9O2wucHJvdG90eXBlLmZ1bGZpbGxfPWZ1bmN0aW9uKGYpe3RoaXMuc2V0dGxlXygxLGYpfTtsLnByb3RvdHlwZS5zZXR0bGVfPWZ1bmN0aW9uKGYscSl7aWYoMCE9dGhpcy5zdGF0ZV8pdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitmKyIsICIrcSsiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuc3RhdGVfKTt0aGlzLnN0YXRlXz1mO3RoaXMucmVzdWx0Xz1xOzI9PT10aGlzLnN0YXRlXyYmdGhpcy5zY2hlZHVsZVVuaGFuZGxlZFJlamVjdGlvbkNoZWNrXygpOwp0aGlzLmV4ZWN1dGVPblNldHRsZWRDYWxsYmFja3NfKCl9O2wucHJvdG90eXBlLnNjaGVkdWxlVW5oYW5kbGVkUmVqZWN0aW9uQ2hlY2tfPWZ1bmN0aW9uKCl7dmFyIGY9dGhpcztwKGZ1bmN0aW9uKCl7aWYoZi5ub3RpZnlVbmhhbmRsZWRSZWplY3Rpb25fKCkpe3ZhciBxPSRqc2NvbXAuZ2xvYmFsLmNvbnNvbGU7InVuZGVmaW5lZCIhPT10eXBlb2YgcSYmcS5lcnJvcihmLnJlc3VsdF8pfX0sMSl9O2wucHJvdG90eXBlLm5vdGlmeVVuaGFuZGxlZFJlamVjdGlvbl89ZnVuY3Rpb24oKXtpZih0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF8pcmV0dXJuITE7dmFyIGY9JGpzY29tcC5nbG9iYWwuQ3VzdG9tRXZlbnQscT0kanNjb21wLmdsb2JhbC5FdmVudCx1PSRqc2NvbXAuZ2xvYmFsLmRpc3BhdGNoRXZlbnQ7aWYoInVuZGVmaW5lZCI9PT10eXBlb2YgdSlyZXR1cm4hMDsiZnVuY3Rpb24iPT09dHlwZW9mIGY/Zj1uZXcgZigidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOgoiZnVuY3Rpb24iPT09dHlwZW9mIHE/Zj1uZXcgcSgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihmPSRqc2NvbXAuZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGYuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGYpKTtmLnByb21pc2U9dGhpcztmLnJlYXNvbj10aGlzLnJlc3VsdF87cmV0dXJuIHUoZil9O2wucHJvdG90eXBlLmV4ZWN1dGVPblNldHRsZWRDYWxsYmFja3NfPWZ1bmN0aW9uKCl7aWYobnVsbCE9dGhpcy5vblNldHRsZWRDYWxsYmFja3NfKXtmb3IodmFyIGY9MDtmPHRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXy5sZW5ndGg7KytmKXkuYXN5bmNFeGVjdXRlKHRoaXMub25TZXR0bGVkQ2FsbGJhY2tzX1tmXSk7dGhpcy5vblNldHRsZWRDYWxsYmFja3NfPW51bGx9fTt2YXIgeT1uZXcgbjtsLnByb3RvdHlwZS5zZXR0bGVTYW1lQXNQcm9taXNlXz1mdW5jdGlvbihmKXt2YXIgcT10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7CmYuY2FsbFdoZW5TZXR0bGVkXyhxLnJlc29sdmUscS5yZWplY3QpfTtsLnByb3RvdHlwZS5zZXR0bGVTYW1lQXNUaGVuYWJsZV89ZnVuY3Rpb24oZixxKXt2YXIgdT10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7dHJ5e2YuY2FsbChxLHUucmVzb2x2ZSx1LnJlamVjdCl9Y2F0Y2goQSl7dS5yZWplY3QoQSl9fTtsLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGYscSl7ZnVuY3Rpb24gdSh3LEIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB3P2Z1bmN0aW9uKFIpe3RyeXtBKHcoUikpfWNhdGNoKFope0YoWil9fTpCfXZhciBBLEYsdj1uZXcgbChmdW5jdGlvbih3LEIpe0E9dztGPUJ9KTt0aGlzLmNhbGxXaGVuU2V0dGxlZF8odShmLEEpLHUocSxGKSk7cmV0dXJuIHZ9O2wucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGYpfTtsLnByb3RvdHlwZS5jYWxsV2hlblNldHRsZWRfPWZ1bmN0aW9uKGYscSl7ZnVuY3Rpb24gdSgpe3N3aXRjaChBLnN0YXRlXyl7Y2FzZSAxOmYoQS5yZXN1bHRfKTsKYnJlYWs7Y2FzZSAyOnEoQS5yZXN1bHRfKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbmV4cGVjdGVkIHN0YXRlOiAiK0Euc3RhdGVfKTt9fXZhciBBPXRoaXM7bnVsbD09dGhpcy5vblNldHRsZWRDYWxsYmFja3NfP3kuYXN5bmNFeGVjdXRlKHUpOnRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXy5wdXNoKHUpO3RoaXMuaXNSZWplY3Rpb25IYW5kbGVkXz0hMH07bC5yZXNvbHZlPWs7bC5yZWplY3Q9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKHEsdSl7dShmKX0pfTtsLnJhY2U9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKHEsdSl7Zm9yKHZhciBBPSRqc2NvbXAubWFrZUl0ZXJhdG9yKGYpLEY9QS5uZXh0KCk7IUYuZG9uZTtGPUEubmV4dCgpKWsoRi52YWx1ZSkuY2FsbFdoZW5TZXR0bGVkXyhxLHUpfSl9O2wuYWxsPWZ1bmN0aW9uKGYpe3ZhciBxPSRqc2NvbXAubWFrZUl0ZXJhdG9yKGYpLHU9cS5uZXh0KCk7cmV0dXJuIHUuZG9uZT9rKFtdKTpuZXcgbChmdW5jdGlvbihBLApGKXtmdW5jdGlvbiB2KFIpe3JldHVybiBmdW5jdGlvbihaKXt3W1JdPVo7Qi0tOzA9PUImJkEodyl9fXZhciB3PVtdLEI9MDtkbyB3LnB1c2godm9pZCAwKSxCKyssayh1LnZhbHVlKS5jYWxsV2hlblNldHRsZWRfKHYody5sZW5ndGgtMSksRiksdT1xLm5leHQoKTt3aGlsZSghdS5kb25lKX0pfTtyZXR1cm4gbH0sImVzNiIsImVzMyIpOyRqc2NvbXAub3ducz1mdW5jdGlvbihoLG4pe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaCxuKX07JGpzY29tcC5hc3NpZ249JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTJiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKGgsbil7Zm9yKHZhciBrPTE7azxhcmd1bWVudHMubGVuZ3RoO2srKyl7dmFyIHA9YXJndW1lbnRzW2tdO2lmKHApZm9yKHZhciBsIGluIHApJGpzY29tcC5vd25zKHAsbCkmJihoW2xdPXBbbF0pfXJldHVybiBofTsKJGpzY29tcC5wb2x5ZmlsbCgiT2JqZWN0LmFzc2lnbiIsZnVuY3Rpb24oaCl7cmV0dXJuIGh8fCRqc2NvbXAuYXNzaWdufSwiZXM2IiwiZXMzIik7JGpzY29tcC5jaGVja1N0cmluZ0FyZ3M9ZnVuY3Rpb24oaCxuLGspe2lmKG51bGw9PWgpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlICd0aGlzJyB2YWx1ZSBmb3IgU3RyaW5nLnByb3RvdHlwZS4iK2srIiBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO2lmKG4gaW5zdGFuY2VvZiBSZWdFeHApdGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgdG8gU3RyaW5nLnByb3RvdHlwZS4iK2srIiBtdXN0IG5vdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiIpO3JldHVybiBoKyIifTsKJGpzY29tcC5wb2x5ZmlsbCgiU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoIixmdW5jdGlvbihoKXtyZXR1cm4gaD9oOmZ1bmN0aW9uKG4sayl7dmFyIHA9JGpzY29tcC5jaGVja1N0cmluZ0FyZ3ModGhpcyxuLCJzdGFydHNXaXRoIik7bis9IiI7dmFyIGw9cC5sZW5ndGgseT1uLmxlbmd0aDtrPU1hdGgubWF4KDAsTWF0aC5taW4oa3wwLHAubGVuZ3RoKSk7Zm9yKHZhciBmPTA7Zjx5JiZrPGw7KWlmKHBbaysrXSE9bltmKytdKXJldHVybiExO3JldHVybiBmPj15fX0sImVzNiIsImVzMyIpOwokanNjb21wLnBvbHlmaWxsKCJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbihrKXtrPU51bWJlcihrKTtyZXR1cm4gSW5maW5pdHk9PT1rfHwtSW5maW5pdHk9PT1rP2s6a3wwfXJldHVybiBoP2g6ZnVuY3Rpb24oayxwLGwpe3ZhciB5PXRoaXMubGVuZ3RoO2s9bihrKTtwPW4ocCk7bD12b2lkIDA9PT1sP3k6bihsKTtrPTA+az9NYXRoLm1heCh5K2ssMCk6TWF0aC5taW4oayx5KTtwPTA+cD9NYXRoLm1heCh5K3AsMCk6TWF0aC5taW4ocCx5KTtsPTA+bD9NYXRoLm1heCh5K2wsMCk6TWF0aC5taW4obCx5KTtpZihrPHApZm9yKDtwPGw7KXAgaW4gdGhpcz90aGlzW2srK109dGhpc1twKytdOihkZWxldGUgdGhpc1trKytdLHArKyk7ZWxzZSBmb3IobD1NYXRoLm1pbihsLHkrcC1rKSxrKz1sLXA7bD5wOyktLWwgaW4gdGhpcz90aGlzWy0ta109dGhpc1tsXTpkZWxldGUgdGhpc1stLWtdO3JldHVybiB0aGlzfX0sImVzNiIsImVzMyIpOwokanNjb21wLnR5cGVkQXJyYXlDb3B5V2l0aGluPWZ1bmN0aW9uKGgpe3JldHVybiBoP2g6QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW59OyRqc2NvbXAucG9seWZpbGwoIkludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOyRqc2NvbXAucG9seWZpbGwoIkludDE2QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOwokanNjb21wLnBvbHlmaWxsKCJVaW50MTZBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiSW50MzJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDMyQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOyRqc2NvbXAucG9seWZpbGwoIkZsb2F0MzJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiRmxvYXQ2NEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIiwkanNjb21wLnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTsKdmFyIERyYWNvRGVjb2Rlck1vZHVsZT1mdW5jdGlvbigpe3ZhciBoPSJ1bmRlZmluZWQiIT09dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMDsidW5kZWZpbmVkIiE9PXR5cGVvZiBfX2ZpbGVuYW1lJiYoaD1ofHxfX2ZpbGVuYW1lKTtyZXR1cm4gZnVuY3Rpb24obil7ZnVuY3Rpb24gayhlKXtyZXR1cm4gYS5sb2NhdGVGaWxlP2EubG9jYXRlRmlsZShlLFUpOlUrZX1mdW5jdGlvbiBwKGUsYil7aWYoZSl7dmFyIGM9aWE7dmFyIGQ9ZStiO2ZvcihiPWU7Y1tiXSYmIShiPj1kKTspKytiO2lmKDE2PGItZSYmYy5idWZmZXImJnJhKWM9cmEuZGVjb2RlKGMuc3ViYXJyYXkoZSxiKSk7ZWxzZXtmb3IoZD0iIjtlPGI7KXt2YXIgZz1jW2UrK107aWYoZyYxMjgpe3ZhciB0PWNbZSsrXSY2MztpZigxOTI9PShnJjIyNCkpZCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoZyYzMSk8PDZ8dCk7ZWxzZXt2YXIgYWE9Y1tlKytdJgo2MztnPTIyND09KGcmMjQwKT8oZyYxNSk8PDEyfHQ8PDZ8YWE6KGcmNyk8PDE4fHQ8PDEyfGFhPDw2fGNbZSsrXSY2Mzs2NTUzNj5nP2QrPVN0cmluZy5mcm9tQ2hhckNvZGUoZyk6KGctPTY1NTM2LGQrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Zz4+MTAsNTYzMjB8ZyYxMDIzKSl9fWVsc2UgZCs9U3RyaW5nLmZyb21DaGFyQ29kZShnKX1jPWR9fWVsc2UgYz0iIjtyZXR1cm4gY31mdW5jdGlvbiBsKCl7dmFyIGU9amEuYnVmZmVyO2EuSEVBUDg9Vz1uZXcgSW50OEFycmF5KGUpO2EuSEVBUDE2PW5ldyBJbnQxNkFycmF5KGUpO2EuSEVBUDMyPWNhPW5ldyBJbnQzMkFycmF5KGUpO2EuSEVBUFU4PWlhPW5ldyBVaW50OEFycmF5KGUpO2EuSEVBUFUxNj1uZXcgVWludDE2QXJyYXkoZSk7YS5IRUFQVTMyPVk9bmV3IFVpbnQzMkFycmF5KGUpO2EuSEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGUpO2EuSEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGUpfWZ1bmN0aW9uIHkoZSl7aWYoYS5vbkFib3J0KWEub25BYm9ydChlKTsKZT0iQWJvcnRlZCgiK2UrIikiO2RhKGUpO3NhPSEwO2U9bmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihlKyIuIEJ1aWxkIHdpdGggLXNBU1NFUlRJT05TIGZvciBtb3JlIGluZm8uIik7a2EoZSk7dGhyb3cgZTt9ZnVuY3Rpb24gZihlKXt0cnl7aWYoZT09UCYmZWEpcmV0dXJuIG5ldyBVaW50OEFycmF5KGVhKTtpZihtYSlyZXR1cm4gbWEoZSk7dGhyb3ciYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQiO31jYXRjaChiKXt5KGIpfX1mdW5jdGlvbiBxKCl7aWYoIWVhJiYodGF8fGZhKSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGZldGNoJiYhUC5zdGFydHNXaXRoKCJmaWxlOi8vIikpcmV0dXJuIGZldGNoKFAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe2lmKCFlLm9rKXRocm93ImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJyIrUCsiJyI7cmV0dXJuIGUuYXJyYXlCdWZmZXIoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGYoUCl9KTsKaWYobmEpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsYil7bmEoUCxmdW5jdGlvbihjKXtlKG5ldyBVaW50OEFycmF5KGMpKX0sYil9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmKFApfSl9ZnVuY3Rpb24gdShlKXtmb3IoOzA8ZS5sZW5ndGg7KWUuc2hpZnQoKShhKX1mdW5jdGlvbiBBKGUpe3RoaXMuZXhjUHRyPWU7dGhpcy5wdHI9ZS0yNDt0aGlzLnNldF90eXBlPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrND4+Ml09Yn07dGhpcy5nZXRfdHlwZT1mdW5jdGlvbigpe3JldHVybiBZW3RoaXMucHRyKzQ+PjJdfTt0aGlzLnNldF9kZXN0cnVjdG9yPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrOD4+Ml09Yn07dGhpcy5nZXRfZGVzdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBZW3RoaXMucHRyKzg+PjJdfTt0aGlzLnNldF9yZWZjb3VudD1mdW5jdGlvbihiKXtjYVt0aGlzLnB0cj4+Ml09Yn07dGhpcy5zZXRfY2F1Z2h0PWZ1bmN0aW9uKGIpe1dbdGhpcy5wdHIrCjEyPj4wXT1iPzE6MH07dGhpcy5nZXRfY2F1Z2h0PWZ1bmN0aW9uKCl7cmV0dXJuIDAhPVdbdGhpcy5wdHIrMTI+PjBdfTt0aGlzLnNldF9yZXRocm93bj1mdW5jdGlvbihiKXtXW3RoaXMucHRyKzEzPj4wXT1iPzE6MH07dGhpcy5nZXRfcmV0aHJvd249ZnVuY3Rpb24oKXtyZXR1cm4gMCE9V1t0aGlzLnB0cisxMz4+MF19O3RoaXMuaW5pdD1mdW5jdGlvbihiLGMpe3RoaXMuc2V0X2FkanVzdGVkX3B0cigwKTt0aGlzLnNldF90eXBlKGIpO3RoaXMuc2V0X2Rlc3RydWN0b3IoYyk7dGhpcy5zZXRfcmVmY291bnQoMCk7dGhpcy5zZXRfY2F1Z2h0KCExKTt0aGlzLnNldF9yZXRocm93bighMSl9O3RoaXMuYWRkX3JlZj1mdW5jdGlvbigpe2NhW3RoaXMucHRyPj4yXSs9MX07dGhpcy5yZWxlYXNlX3JlZj1mdW5jdGlvbigpe3ZhciBiPWNhW3RoaXMucHRyPj4yXTtjYVt0aGlzLnB0cj4+Ml09Yi0xO3JldHVybiAxPT09Yn07dGhpcy5zZXRfYWRqdXN0ZWRfcHRyPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrCjE2Pj4yXT1ifTt0aGlzLmdldF9hZGp1c3RlZF9wdHI9ZnVuY3Rpb24oKXtyZXR1cm4gWVt0aGlzLnB0cisxNj4+Ml19O3RoaXMuZ2V0X2V4Y2VwdGlvbl9wdHI9ZnVuY3Rpb24oKXtpZih1YSh0aGlzLmdldF90eXBlKCkpKXJldHVybiBZW3RoaXMuZXhjUHRyPj4yXTt2YXIgYj10aGlzLmdldF9hZGp1c3RlZF9wdHIoKTtyZXR1cm4gMCE9PWI/Yjp0aGlzLmV4Y1B0cn19ZnVuY3Rpb24gRigpe2Z1bmN0aW9uIGUoKXtpZighbGEmJihsYT0hMCxhLmNhbGxlZFJ1bj0hMCwhc2EpKXt2YT0hMDt1KG9hKTt3YShhKTtpZihhLm9uUnVudGltZUluaXRpYWxpemVkKWEub25SdW50aW1lSW5pdGlhbGl6ZWQoKTtpZihhLnBvc3RSdW4pZm9yKCJmdW5jdGlvbiI9PXR5cGVvZiBhLnBvc3RSdW4mJihhLnBvc3RSdW49W2EucG9zdFJ1bl0pO2EucG9zdFJ1bi5sZW5ndGg7KXhhLnVuc2hpZnQoYS5wb3N0UnVuLnNoaWZ0KCkpO3UoeGEpfX1pZighKDA8YmEpKXtpZihhLnByZVJ1bilmb3IoImZ1bmN0aW9uIj09CnR5cGVvZiBhLnByZVJ1biYmKGEucHJlUnVuPVthLnByZVJ1bl0pO2EucHJlUnVuLmxlbmd0aDspeWEudW5zaGlmdChhLnByZVJ1bi5zaGlmdCgpKTt1KHlhKTswPGJhfHwoYS5zZXRTdGF0dXM/KGEuc2V0U3RhdHVzKCJSdW5uaW5nLi4uIiksc2V0VGltZW91dChmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnNldFN0YXR1cygiIil9LDEpO2UoKX0sMSkpOmUoKSl9fWZ1bmN0aW9uIHYoKXt9ZnVuY3Rpb24gdyhlKXtyZXR1cm4oZXx8dikuX19jYWNoZV9ffWZ1bmN0aW9uIEIoZSxiKXt2YXIgYz13KGIpLGQ9Y1tlXTtpZihkKXJldHVybiBkO2Q9T2JqZWN0LmNyZWF0ZSgoYnx8dikucHJvdG90eXBlKTtkLnB0cj1lO3JldHVybiBjW2VdPWR9ZnVuY3Rpb24gUihlKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXtmb3IodmFyIGI9MCxjPTA7YzxlLmxlbmd0aDsrK2Mpe3ZhciBkPWUuY2hhckNvZGVBdChjKTsxMjc+PWQ/YisrOjIwNDc+PWQ/Yis9Mjo1NTI5Njw9ZCYmNTczNDM+PQpkPyhiKz00LCsrYyk6Yis9M31iPUFycmF5KGIrMSk7Yz0wO2Q9Yi5sZW5ndGg7aWYoMDxkKXtkPWMrZC0xO2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7KytnKXt2YXIgdD1lLmNoYXJDb2RlQXQoZyk7aWYoNTUyOTY8PXQmJjU3MzQzPj10KXt2YXIgYWE9ZS5jaGFyQ29kZUF0KCsrZyk7dD02NTUzNisoKHQmMTAyMyk8PDEwKXxhYSYxMDIzfWlmKDEyNz49dCl7aWYoYz49ZClicmVhaztiW2MrK109dH1lbHNle2lmKDIwNDc+PXQpe2lmKGMrMT49ZClicmVhaztiW2MrK109MTkyfHQ+PjZ9ZWxzZXtpZig2NTUzNT49dCl7aWYoYysyPj1kKWJyZWFrO2JbYysrXT0yMjR8dD4+MTJ9ZWxzZXtpZihjKzM+PWQpYnJlYWs7YltjKytdPTI0MHx0Pj4xODtiW2MrK109MTI4fHQ+PjEyJjYzfWJbYysrXT0xMjh8dD4+NiY2M31iW2MrK109MTI4fHQmNjN9fWJbY109MH1lPXIuYWxsb2MoYixXKTtyLmNvcHkoYixXLGUpO3JldHVybiBlfXJldHVybiBlfWZ1bmN0aW9uIFooZSl7aWYoIm9iamVjdCI9PT0KdHlwZW9mIGUpe3ZhciBiPXIuYWxsb2MoZSxXKTtyLmNvcHkoZSxXLGIpO3JldHVybiBifXJldHVybiBlfWZ1bmN0aW9uIFgoKXt0aHJvdyJjYW5ub3QgY29uc3RydWN0IGEgVm9pZFB0ciwgbm8gY29uc3RydWN0b3IgaW4gSURMIjt9ZnVuY3Rpb24gUygpe3RoaXMucHRyPXphKCk7dyhTKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBRKCl7dGhpcy5wdHI9QWEoKTt3KFEpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIFYoKXt0aGlzLnB0cj1CYSgpO3coVilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24geCgpe3RoaXMucHRyPUNhKCk7dyh4KVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBEKCl7dGhpcy5wdHI9RGEoKTt3KEQpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEcoKXt0aGlzLnB0cj1FYSgpO3coRylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gSCgpe3RoaXMucHRyPUZhKCk7dyhIKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBFKCl7dGhpcy5wdHI9R2EoKTt3KEUpW3RoaXMucHRyXT0KdGhpc31mdW5jdGlvbiBUKCl7dGhpcy5wdHI9SGEoKTt3KFQpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEMoKXt0aHJvdyJjYW5ub3QgY29uc3RydWN0IGEgU3RhdHVzLCBubyBjb25zdHJ1Y3RvciBpbiBJREwiO31mdW5jdGlvbiBJKCl7dGhpcy5wdHI9SWEoKTt3KEkpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEooKXt0aGlzLnB0cj1KYSgpO3coSilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gSygpe3RoaXMucHRyPUthKCk7dyhLKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBMKCl7dGhpcy5wdHI9TGEoKTt3KEwpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIE0oKXt0aGlzLnB0cj1NYSgpO3coTSlbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gTigpe3RoaXMucHRyPU5hKCk7dyhOKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBPKCl7dGhpcy5wdHI9T2EoKTt3KE8pW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIHooKXt0aGlzLnB0cj1QYSgpO3coeilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gbSgpe3RoaXMucHRyPQpRYSgpO3cobSlbdGhpcy5wdHJdPXRoaXN9bj12b2lkIDA9PT1uP3t9Om47dmFyIGE9InVuZGVmaW5lZCIhPXR5cGVvZiBuP246e30sd2Esa2E7YS5yZWFkeT1uZXcgUHJvbWlzZShmdW5jdGlvbihlLGIpe3dhPWU7a2E9Yn0pO3ZhciBSYT0hMSxTYT0hMTthLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7UmE9ITA7aWYoU2EmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZUxvYWRlZClhLm9uTW9kdWxlTG9hZGVkKGEpfTthLm9uTW9kdWxlUGFyc2VkPWZ1bmN0aW9uKCl7U2E9ITA7aWYoUmEmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZUxvYWRlZClhLm9uTW9kdWxlTG9hZGVkKGEpfTthLmlzVmVyc2lvblN1cHBvcnRlZD1mdW5jdGlvbihlKXtpZigic3RyaW5nIiE9PXR5cGVvZiBlKXJldHVybiExO2U9ZS5zcGxpdCgiLiIpO3JldHVybiAyPmUubGVuZ3RofHwzPGUubGVuZ3RoPyExOjE9PWVbMF0mJjA8PWVbMV0mJjU+PWVbMV0/ITA6MCE9ZVswXXx8MTA8CmVbMV0/ITE6ITB9O3ZhciBUYT1PYmplY3QuYXNzaWduKHt9LGEpLHRhPSJvYmplY3QiPT10eXBlb2Ygd2luZG93LGZhPSJmdW5jdGlvbiI9PXR5cGVvZiBpbXBvcnRTY3JpcHRzLFVhPSJvYmplY3QiPT10eXBlb2YgcHJvY2VzcyYmIm9iamVjdCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zJiYic3RyaW5nIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxVPSIiO2lmKFVhKXt2YXIgVmE9cmVxdWlyZSgiZnMiKSxwYT1yZXF1aXJlKCJwYXRoIik7VT1mYT9wYS5kaXJuYW1lKFUpKyIvIjpfX2Rpcm5hbWUrIi8iO3ZhciBXYT1mdW5jdGlvbihlLGIpe2U9ZS5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTChlKTpwYS5ub3JtYWxpemUoZSk7cmV0dXJuIFZhLnJlYWRGaWxlU3luYyhlLGI/dm9pZCAwOiJ1dGY4Iil9O3ZhciBtYT1mdW5jdGlvbihlKXtlPVdhKGUsITApO2UuYnVmZmVyfHwoZT1uZXcgVWludDhBcnJheShlKSk7cmV0dXJuIGV9O3ZhciBuYT1mdW5jdGlvbihlLApiLGMpe2U9ZS5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTChlKTpwYS5ub3JtYWxpemUoZSk7VmEucmVhZEZpbGUoZSxmdW5jdGlvbihkLGcpe2Q/YyhkKTpiKGcuYnVmZmVyKX0pfTsxPHByb2Nlc3MuYXJndi5sZW5ndGgmJnByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXC9nLCIvIik7cHJvY2Vzcy5hcmd2LnNsaWNlKDIpO2EuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9fWVsc2UgaWYodGF8fGZhKWZhP1U9c2VsZi5sb2NhdGlvbi5ocmVmOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxoJiYoVT1oKSxVPTAhPT1VLmluZGV4T2YoImJsb2I6Iik/VS5zdWJzdHIoMCxVLnJlcGxhY2UoL1s/I10uKi8sIiIpLmxhc3RJbmRleE9mKCIvIikrMSk6IiIsV2E9ZnVuY3Rpb24oZSl7dmFyIGI9bmV3IFhNTEh0dHBSZXF1ZXN0O2Iub3BlbigiR0VUIiwKZSwhMSk7Yi5zZW5kKG51bGwpO3JldHVybiBiLnJlc3BvbnNlVGV4dH0sZmEmJihtYT1mdW5jdGlvbihlKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7Yi5vcGVuKCJHRVQiLGUsITEpO2IucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7Yi5zZW5kKG51bGwpO3JldHVybiBuZXcgVWludDhBcnJheShiLnJlc3BvbnNlKX0pLG5hPWZ1bmN0aW9uKGUsYixjKXt2YXIgZD1uZXcgWE1MSHR0cFJlcXVlc3Q7ZC5vcGVuKCJHRVQiLGUsITApO2QucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7ZC5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PWQuc3RhdHVzfHwwPT1kLnN0YXR1cyYmZC5yZXNwb25zZT9iKGQucmVzcG9uc2UpOmMoKX07ZC5vbmVycm9yPWM7ZC5zZW5kKG51bGwpfTthLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBkYT1hLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtPYmplY3QuYXNzaWduKGEsVGEpO1RhPW51bGw7dmFyIGVhO2Eud2FzbUJpbmFyeSYmCihlYT1hLndhc21CaW5hcnkpOyJvYmplY3QiIT10eXBlb2YgV2ViQXNzZW1ibHkmJnkoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKTt2YXIgamEsc2E9ITEscmE9InVuZGVmaW5lZCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoInV0ZjgiKTp2b2lkIDAsVyxpYSxjYSxZLHlhPVtdLG9hPVtdLHhhPVtdLHZhPSExLGJhPTAscWE9bnVsbCxoYT1udWxsO3ZhciBQPSJkcmFjb19kZWNvZGVyX2dsdGYud2FzbSI7UC5zdGFydHNXaXRoKCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIil8fChQPWsoUCkpO3ZhciBwZD0wLHFkPXtiOmZ1bmN0aW9uKGUsYixjKXsobmV3IEEoZSkpLmluaXQoYixjKTtwZCsrO3Rocm93IGU7fSxhOmZ1bmN0aW9uKCl7eSgiIil9LGQ6ZnVuY3Rpb24oZSxiLGMpe2lhLmNvcHlXaXRoaW4oZSxiLGIrYyl9LGM6ZnVuY3Rpb24oZSl7dmFyIGI9aWEubGVuZ3RoO2U+Pj49MDtpZigyMTQ3NDgzNjQ4PGUpcmV0dXJuITE7CmZvcih2YXIgYz0xOzQ+PWM7Yyo9Mil7dmFyIGQ9YiooMSsuMi9jKTtkPU1hdGgubWluKGQsZSsxMDA2NjMyOTYpO3ZhciBnPU1hdGg7ZD1NYXRoLm1heChlLGQpO2c9Zy5taW4uY2FsbChnLDIxNDc0ODM2NDgsZCsoNjU1MzYtZCU2NTUzNiklNjU1MzYpO2E6e2Q9amEuYnVmZmVyO3RyeXtqYS5ncm93KGctZC5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2woKTt2YXIgdD0xO2JyZWFrIGF9Y2F0Y2goYWEpe310PXZvaWQgMH1pZih0KXJldHVybiEwfXJldHVybiExfX07KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShnLHQpe2EuYXNtPWcuZXhwb3J0cztqYT1hLmFzbS5lO2woKTtvYS51bnNoaWZ0KGEuYXNtLmYpO2JhLS07YS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZhLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoYmEpOzA9PWJhJiYobnVsbCE9PXFhJiYoY2xlYXJJbnRlcnZhbChxYSkscWE9bnVsbCksaGEmJihnPWhhLGhhPW51bGwsZygpKSl9ZnVuY3Rpb24gYihnKXtlKGcuaW5zdGFuY2UpfQpmdW5jdGlvbiBjKGcpe3JldHVybiBxKCkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUodCxkKX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHR9KS50aGVuKGcsZnVuY3Rpb24odCl7ZGEoImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206ICIrdCk7eSh0KX0pfXZhciBkPXthOnFkfTtiYSsrO2EubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmYS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGJhKTtpZihhLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIGEuaW5zdGFudGlhdGVXYXNtKGQsZSl9Y2F0Y2goZyl7ZGEoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZyksa2EoZyl9KGZ1bmN0aW9uKCl7cmV0dXJuIGVhfHwiZnVuY3Rpb24iIT10eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmd8fFAuc3RhcnRzV2l0aCgiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCIpfHwKUC5zdGFydHNXaXRoKCJmaWxlOi8vIil8fFVhfHwiZnVuY3Rpb24iIT10eXBlb2YgZmV0Y2g/YyhiKTpmZXRjaChQLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihnKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZyxkKS50aGVuKGIsZnVuY3Rpb24odCl7ZGEoIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAiK3QpO2RhKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpO3JldHVybiBjKGIpfSl9KX0pKCkuY2F0Y2goa2EpO3JldHVybnt9fSkoKTt2YXIgWGE9YS5fZW1zY3JpcHRlbl9iaW5kX1ZvaWRQdHJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihYYT1hLl9lbXNjcmlwdGVuX2JpbmRfVm9pZFB0cl9fX2Rlc3Ryb3lfX18wPWEuYXNtLmgpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0semE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfRGVjb2RlckJ1ZmZlcl8wPQpmdW5jdGlvbigpe3JldHVybih6YT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9EZWNvZGVyQnVmZmVyXzA9YS5hc20uaSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxZYT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9Jbml0XzI9ZnVuY3Rpb24oKXtyZXR1cm4oWWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfSW5pdF8yPWEuYXNtLmopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihaYT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9fX2Rlc3Ryb3lfX18wPWEuYXNtLmspLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQWE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEFhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD0KYS5hc20ubCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSwkYT1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV90cmFuc2Zvcm1fdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKCRhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX3RyYW5zZm9ybV90eXBlXzA9YS5hc20ubSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKGFiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX19fZGVzdHJveV9fXzA9YS5hc20ubikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxCYT1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD1mdW5jdGlvbigpe3JldHVybihCYT1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD0KYS5hc20ubykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxiYj1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihiYj1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1hLmFzbS5wKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LENhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9Qb2ludEF0dHJpYnV0ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKENhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9Qb2ludEF0dHJpYnV0ZV8wPWEuYXNtLnEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sY2I9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX3NpemVfMD1mdW5jdGlvbigpe3JldHVybihjYj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfc2l6ZV8wPWEuYXNtLnIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX0dldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD0KZnVuY3Rpb24oKXtyZXR1cm4oZGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX0dldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD1hLmFzbS5zKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPWEuYXNtLnQpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZmI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2RhdGFfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9kYXRhX3R5cGVfMD1hLmFzbS51KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPWZ1bmN0aW9uKCl7cmV0dXJuKGdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPQphLmFzbS52KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ub3JtYWxpemVkXzA9ZnVuY3Rpb24oKXtyZXR1cm4oaGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX25vcm1hbGl6ZWRfMD1hLmFzbS53KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGliPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGliPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPWEuYXNtLngpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0samI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9ZnVuY3Rpb24oKXtyZXR1cm4oamI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9YS5hc20ueSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxrYj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfdW5pcXVlX2lkXzA9CmZ1bmN0aW9uKCl7cmV0dXJuKGtiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV91bmlxdWVfaWRfMD1hLmFzbS56KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGxiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKGxiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fMD1mdW5jdGlvbigpe3JldHVybihEYT1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV8wPWEuYXNtLkIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPQpmdW5jdGlvbigpe3JldHVybihtYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9YS5hc20uQykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxuYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4obmI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPWEuYXNtLkQpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb2I9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9taW5fdmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihvYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX21pbl92YWx1ZV8xPWEuYXNtLkUpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scGI9CmEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fcmFuZ2VfMD1mdW5jdGlvbigpe3JldHVybihwYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3JhbmdlXzA9YS5hc20uRikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4ocWI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRWE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEVhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fMD0KYS5hc20uSCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxyYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKHJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9YS5hc20uSSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPWZ1bmN0aW9uKCl7cmV0dXJuKHNiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9YS5hc20uSikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx0Yj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKHRiPQphLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkspLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRmE9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfUG9pbnRDbG91ZF8wPWZ1bmN0aW9uKCl7cmV0dXJuKEZhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX1BvaW50Q2xvdWRfMD1hLmFzbS5MKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9hdHRyaWJ1dGVzXzA9ZnVuY3Rpb24oKXtyZXR1cm4odWI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfbnVtX2F0dHJpYnV0ZXNfMD1hLmFzbS5NKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9wb2ludHNfMD1mdW5jdGlvbigpe3JldHVybih2Yj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9udW1fcG9pbnRzXzA9YS5hc20uTikuYXBwbHkobnVsbCwKYXJndW1lbnRzKX0sd2I9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybih3Yj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9fX2Rlc3Ryb3lfX18wPWEuYXNtLk8pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR2E9YS5fZW1zY3JpcHRlbl9iaW5kX01lc2hfTWVzaF8wPWZ1bmN0aW9uKCl7cmV0dXJuKEdhPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX01lc2hfMD1hLmFzbS5QKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPWZ1bmN0aW9uKCl7cmV0dXJuKHhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPWEuYXNtLlEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seWI9YS5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX2F0dHJpYnV0ZXNfMD1mdW5jdGlvbigpe3JldHVybih5Yj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fYXR0cmlidXRlc18wPQphLmFzbS5SKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHpiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9wb2ludHNfMD1mdW5jdGlvbigpe3JldHVybih6Yj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fcG9pbnRzXzA9YS5hc20uUykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBYj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEFiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX19fZGVzdHJveV9fXzA9YS5hc20uVCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxIYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfTWV0YWRhdGFfMD1mdW5jdGlvbigpe3JldHVybihIYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfTWV0YWRhdGFfMD1hLmFzbS5VKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9fX2Rlc3Ryb3lfX18wPQphLmFzbS5WKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LENiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKENiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPWEuYXNtLlcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGI9YS5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19va18wPWZ1bmN0aW9uKCl7cmV0dXJuKERiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfb2tfMD1hLmFzbS5YKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEViPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfZXJyb3JfbXNnXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRWI9YS5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19lcnJvcl9tc2dfMD1hLmFzbS5ZKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihGYj1hLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX19fZGVzdHJveV9fXzA9CmEuYXNtLlopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oSWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9YS5hc20uXykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihHYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfR2V0VmFsdWVfMT1hLmFzbS4kKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X3NpemVfMD1hLmFzbS5hYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJYj0KYS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X19fZGVzdHJveV9fXzA9YS5hc20uYmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0RyYWNvSW50OEFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oSmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0RyYWNvSW50OEFycmF5XzA9YS5hc20uY2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oSmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0dldFZhbHVlXzE9YS5hc20uZGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sS2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X3NpemVfMD0KZnVuY3Rpb24oKXtyZXR1cm4oS2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X3NpemVfMD1hLmFzbS5lYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihMYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5mYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X0RyYWNvVUludDhBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEthPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfRHJhY29VSW50OEFycmF5XzA9YS5hc20uZ2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKE1iPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfR2V0VmFsdWVfMT0KYS5hc20uaGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9YS5hc20uaWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sT2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKE9iPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5qYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0RyYWNvSW50MTZBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKExhPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfRHJhY29JbnQxNkFycmF5XzA9YS5hc20ua2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9HZXRWYWx1ZV8xPQpmdW5jdGlvbigpe3JldHVybihQYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0dldFZhbHVlXzE9YS5hc20ubGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oUWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9zaXplXzA9YS5hc20ubWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5uYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxNYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9EcmFjb1VJbnQxNkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oTWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfRHJhY29VSW50MTZBcnJheV8wPQphLmFzbS5vYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFNiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X0dldFZhbHVlXzE9YS5hc20ucGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFRiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X3NpemVfMD1hLmFzbS5xYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFViPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X19fZGVzdHJveV9fXzA9YS5hc20ucmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD0KZnVuY3Rpb24oKXtyZXR1cm4oTmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD1hLmFzbS5zYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxWYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oVmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9HZXRWYWx1ZV8xPWEuYXNtLnRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPWEuYXNtLnVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihYYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X19fZGVzdHJveV9fXzA9CmEuYXNtLnZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE9hPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X0RyYWNvVUludDMyQXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihPYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9EcmFjb1VJbnQzMkFycmF5XzA9YS5hc20ud2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihZYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9HZXRWYWx1ZV8xPWEuYXNtLnhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFpiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihaYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9zaXplXzA9YS5hc20ueWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sJGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfX19kZXN0cm95X19fMD0KZnVuY3Rpb24oKXtyZXR1cm4oJGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS56YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxQYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX01ldGFkYXRhUXVlcmllcl8wPWZ1bmN0aW9uKCl7cmV0dXJuKFBhPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTWV0YWRhdGFRdWVyaWVyXzA9YS5hc20uQWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYWM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9IYXNFbnRyeV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGFjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfSGFzRW50cnlfMj1hLmFzbS5CYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxiYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oYmM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRJbnRFbnRyeV8yPQphLmFzbS5DYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybihjYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1hLmFzbS5EYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxkYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldERvdWJsZUVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oZGM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXREb3VibGVFbnRyeV8yPWEuYXNtLkVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0U3RyaW5nRW50cnlfMj1mdW5jdGlvbigpe3JldHVybihlYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldFN0cmluZ0VudHJ5XzI9YS5hc20uRmEpLmFwcGx5KG51bGwsCmFyZ3VtZW50cyl9LGZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTnVtRW50cmllc18xPWZ1bmN0aW9uKCl7cmV0dXJuKGZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTnVtRW50cmllc18xPWEuYXNtLkdhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGdjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0RW50cnlOYW1lXzI9ZnVuY3Rpb24oKXtyZXR1cm4oZ2M9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRFbnRyeU5hbWVfMj1hLmFzbS5IYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxoYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oaGM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9fX2Rlc3Ryb3lfX18wPWEuYXNtLklhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFFhPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZXJfMD0KZnVuY3Rpb24oKXtyZXR1cm4oUWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2Rlcl8wPWEuYXNtLkphKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9Qb2ludENsb3VkXzM9ZnVuY3Rpb24oKXtyZXR1cm4oaWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWRfMz1hLmFzbS5LYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxqYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVBcnJheVRvTWVzaF8zPWZ1bmN0aW9uKCl7cmV0dXJuKGpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9NZXNoXzM9YS5hc20uTGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRfMj1mdW5jdGlvbigpe3JldHVybihrYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZF8yPQphLmFzbS5NYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxsYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TmFtZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGxjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkQnlOYW1lXzI9YS5hc20uTmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnlfMz1mdW5jdGlvbigpe3JldHVybihtYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TWV0YWRhdGFFbnRyeV8zPWEuYXNtLk9hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG5jPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKG5jPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPWEuYXNtLlBhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LApvYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVCeVVuaXF1ZUlkXzI9ZnVuY3Rpb24oKXtyZXR1cm4ob2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlQnlVbmlxdWVJZF8yPWEuYXNtLlFhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHBjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldE1ldGFkYXRhXzE9ZnVuY3Rpb24oKXtyZXR1cm4ocGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0TWV0YWRhdGFfMT1hLmFzbS5SYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVNZXRhZGF0YV8yPWZ1bmN0aW9uKCl7cmV0dXJuKHFjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZU1ldGFkYXRhXzI9YS5hc20uU2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RmFjZUZyb21NZXNoXzM9CmZ1bmN0aW9uKCl7cmV0dXJuKHJjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEZhY2VGcm9tTWVzaF8zPWEuYXNtLlRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHNjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2hfMj1mdW5jdGlvbigpe3JldHVybihzYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoXzI9YS5hc20uVWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVzVUludDE2QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybih0Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZXNVSW50MTZBcnJheV8zPWEuYXNtLlZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9ZnVuY3Rpb24oKXtyZXR1cm4odWM9CmEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9YS5hc20uV2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRfMz1mdW5jdGlvbigpe3JldHVybih2Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVGbG9hdF8zPWEuYXNtLlhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHdjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4od2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHNfMz1hLmFzbS5ZYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx4Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybih4Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz0KYS5hc20uWmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKHljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHNfMz1hLmFzbS5fYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx6Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKHpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzXzM9YS5hc20uJGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihBYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50c18zPQphLmFzbS5hYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxCYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihCYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1hLmFzbS5iYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxDYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQzMkZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKENjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzXzM9YS5hc20uY2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4oRGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9CmEuYXNtLmRiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PWZ1bmN0aW9uKCl7cmV0dXJuKEVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PWEuYXNtLmViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX1NraXBBdHRyaWJ1dGVUcmFuc2Zvcm1fMT1mdW5jdGlvbigpe3JldHVybihGYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9Ta2lwQXR0cmlidXRlVHJhbnNmb3JtXzE9YS5hc20uZmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9ZnVuY3Rpb24oKXtyZXR1cm4oR2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9CmEuYXNtLmdiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEhjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZF8yPWZ1bmN0aW9uKCl7cmV0dXJuKEhjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZF8yPWEuYXNtLmhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvTWVzaF8yPWZ1bmN0aW9uKCl7cmV0dXJuKEljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvTWVzaF8yPWEuYXNtLmliKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfX19kZXN0cm95X19fMD1hLmFzbS5qYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfSU5WQUxJRF9UUkFOU0ZPUk09CmZ1bmN0aW9uKCl7cmV0dXJuKEtjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1hLmFzbS5rYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfTk9fVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKExjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9OT19UUkFOU0ZPUk09YS5hc20ubGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09ZnVuY3Rpb24oKXtyZXR1cm4oTWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09CmEuYXNtLm1iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE5jPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1mdW5jdGlvbigpe3JldHVybihOYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfT0NUQUhFRFJPTl9UUkFOU0ZPUk09YS5hc20ubmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sT2M9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfSU5WQUxJRD1mdW5jdGlvbigpe3JldHVybihPYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9JTlZBTElEPWEuYXNtLm9iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFBjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPWZ1bmN0aW9uKCl7cmV0dXJuKFBjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPQphLmFzbS5wYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxRYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9OT1JNQUw9ZnVuY3Rpb24oKXtyZXR1cm4oUWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfTk9STUFMPWEuYXNtLnFiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0NPTE9SPWZ1bmN0aW9uKCl7cmV0dXJuKFJjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0NPTE9SPWEuYXNtLnJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFNjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1RFWF9DT09SRD1mdW5jdGlvbigpe3JldHVybihTYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9URVhfQ09PUkQ9CmEuYXNtLnNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFRjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0dFTkVSSUM9ZnVuY3Rpb24oKXtyZXR1cm4oVGM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfR0VORVJJQz1hLmFzbS50YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9JTlZBTElEX0dFT01FVFJZX1RZUEU9ZnVuY3Rpb24oKXtyZXR1cm4oVWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfSU5WQUxJRF9HRU9NRVRSWV9UWVBFPWEuYXNtLnViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFZjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPWZ1bmN0aW9uKCl7cmV0dXJuKFZjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPQphLmFzbS52YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxXYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9UUklBTkdVTEFSX01FU0g9ZnVuY3Rpb24oKXtyZXR1cm4oV2M9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfVFJJQU5HVUxBUl9NRVNIPWEuYXNtLndiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFhjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPWZ1bmN0aW9uKCl7cmV0dXJuKFhjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPWEuYXNtLnhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFljPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PWZ1bmN0aW9uKCl7cmV0dXJuKFljPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PWEuYXNtLnliKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFpjPQphLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDg9ZnVuY3Rpb24oKXtyZXR1cm4oWmM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ4PWEuYXNtLnpiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCRjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQxNj1mdW5jdGlvbigpe3JldHVybigkYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMTY9YS5hc20uQWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQxNj1mdW5jdGlvbigpe3JldHVybihhZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDE2PWEuYXNtLkJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGJkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQzMj1mdW5jdGlvbigpe3JldHVybihiZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMzI9CmEuYXNtLkNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGNkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMzI9ZnVuY3Rpb24oKXtyZXR1cm4oY2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQzMj1hLmFzbS5EYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxkZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDY0PWEuYXNtLkViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ2ND1hLmFzbS5GYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxmZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQzMj0KZnVuY3Rpb24oKXtyZXR1cm4oZmQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUMzI9YS5hc20uR2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZ2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZ2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9YS5hc20uSGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9ZnVuY3Rpb24oKXtyZXR1cm4oaGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9YS5hc20uSWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1RZUEVTX0NPVU5UPWZ1bmN0aW9uKCl7cmV0dXJuKGlkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9UWVBFU19DT1VOVD0KYS5hc20uSmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0samQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfT0s9ZnVuY3Rpb24oKXtyZXR1cm4oamQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfT0s9YS5hc20uS2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfRFJBQ09fRVJST1I9ZnVuY3Rpb24oKXtyZXR1cm4oa2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfRFJBQ09fRVJST1I9YS5hc20uTGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU9fRVJST1I9ZnVuY3Rpb24oKXtyZXR1cm4obGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU9fRVJST1I9YS5hc20uTWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU5WQUxJRF9QQVJBTUVURVI9CmZ1bmN0aW9uKCl7cmV0dXJuKG1kPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lOVkFMSURfUEFSQU1FVEVSPWEuYXNtLk5iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG5kPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX1VOU1VQUE9SVEVEX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4obmQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5TVVBQT1JURURfVkVSU0lPTj1hLmFzbS5PYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9VTktOT1dOX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4ob2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5LTk9XTl9WRVJTSU9OPWEuYXNtLlBiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O2EuX21hbGxvYz1mdW5jdGlvbigpe3JldHVybihhLl9tYWxsb2M9YS5hc20uUWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07CmEuX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4oYS5fZnJlZT1hLmFzbS5SYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgdWE9ZnVuY3Rpb24oKXtyZXR1cm4odWE9YS5hc20uU2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07YS5fX19zdGFydF9lbV9qcz0xMTY2MDthLl9fX3N0b3BfZW1fanM9MTE3NTg7dmFyIGxhO2hhPWZ1bmN0aW9uIGIoKXtsYXx8RigpO2xhfHwoaGE9Yil9O2lmKGEucHJlSW5pdClmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGEucHJlSW5pdCYmKGEucHJlSW5pdD1bYS5wcmVJbml0XSk7MDxhLnByZUluaXQubGVuZ3RoOylhLnByZUluaXQucG9wKCkoKTtGKCk7di5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7di5wcm90b3R5cGUuY29uc3RydWN0b3I9djt2LnByb3RvdHlwZS5fX2NsYXNzX189djt2Ll9fY2FjaGVfXz17fTthLldyYXBwZXJPYmplY3Q9djthLmdldENhY2hlPXc7YS53cmFwUG9pbnRlcj1CO2EuY2FzdE9iamVjdD1mdW5jdGlvbihiLApjKXtyZXR1cm4gQihiLnB0cixjKX07YS5OVUxMPUIoMCk7YS5kZXN0cm95PWZ1bmN0aW9uKGIpe2lmKCFiLl9fZGVzdHJveV9fKXRocm93IkVycm9yOiBDYW5ub3QgZGVzdHJveSBvYmplY3QuIChEaWQgeW91IGNyZWF0ZSBpdCB5b3Vyc2VsZj8pIjtiLl9fZGVzdHJveV9fKCk7ZGVsZXRlIHcoYi5fX2NsYXNzX18pW2IucHRyXX07YS5jb21wYXJlPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGIucHRyPT09Yy5wdHJ9O2EuZ2V0UG9pbnRlcj1mdW5jdGlvbihiKXtyZXR1cm4gYi5wdHJ9O2EuZ2V0Q2xhc3M9ZnVuY3Rpb24oYil7cmV0dXJuIGIuX19jbGFzc19ffTt2YXIgcj17YnVmZmVyOjAsc2l6ZTowLHBvczowLHRlbXBzOltdLG5lZWRlZDowLHByZXBhcmU6ZnVuY3Rpb24oKXtpZihyLm5lZWRlZCl7Zm9yKHZhciBiPTA7YjxyLnRlbXBzLmxlbmd0aDtiKyspYS5fZnJlZShyLnRlbXBzW2JdKTtyLnRlbXBzLmxlbmd0aD0wO2EuX2ZyZWUoci5idWZmZXIpO3IuYnVmZmVyPTA7ci5zaXplKz0Kci5uZWVkZWQ7ci5uZWVkZWQ9MH1yLmJ1ZmZlcnx8KHIuc2l6ZSs9MTI4LHIuYnVmZmVyPWEuX21hbGxvYyhyLnNpemUpLHIuYnVmZmVyfHx5KHZvaWQgMCkpO3IucG9zPTB9LGFsbG9jOmZ1bmN0aW9uKGIsYyl7ci5idWZmZXJ8fHkodm9pZCAwKTtiPWIubGVuZ3RoKmMuQllURVNfUEVSX0VMRU1FTlQ7Yj1iKzcmLTg7ci5wb3MrYj49ci5zaXplPygwPGJ8fHkodm9pZCAwKSxyLm5lZWRlZCs9YixjPWEuX21hbGxvYyhiKSxyLnRlbXBzLnB1c2goYykpOihjPXIuYnVmZmVyK3IucG9zLHIucG9zKz1iKTtyZXR1cm4gY30sY29weTpmdW5jdGlvbihiLGMsZCl7ZD4+Pj0wO3N3aXRjaChjLkJZVEVTX1BFUl9FTEVNRU5UKXtjYXNlIDI6ZD4+Pj0xO2JyZWFrO2Nhc2UgNDpkPj4+PTI7YnJlYWs7Y2FzZSA4OmQ+Pj49M31mb3IodmFyIGc9MDtnPGIubGVuZ3RoO2crKyljW2QrZ109YltnXX19O1gucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO1gucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpYO1gucHJvdG90eXBlLl9fY2xhc3NfXz1YO1guX19jYWNoZV9fPXt9O2EuVm9pZFB0cj1YO1gucHJvdG90eXBlLl9fZGVzdHJveV9fPVgucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WGEodGhpcy5wdHIpfTtTLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtTLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1TO1MucHJvdG90eXBlLl9fY2xhc3NfXz1TO1MuX19jYWNoZV9fPXt9O2EuRGVjb2RlckJ1ZmZlcj1TO1MucHJvdG90eXBlLkluaXQ9Uy5wcm90b3R5cGUuSW5pdD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpOyJvYmplY3QiPT10eXBlb2YgYiYmKGI9WihiKSk7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO1lhKGQsYixjKX07Uy5wcm90b3R5cGUuX19kZXN0cm95X189Uy5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtaYSh0aGlzLnB0cil9O1EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpOwpRLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1RO1EucHJvdG90eXBlLl9fY2xhc3NfXz1RO1EuX19jYWNoZV9fPXt9O2EuQXR0cmlidXRlVHJhbnNmb3JtRGF0YT1RO1EucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPVEucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPWZ1bmN0aW9uKCl7cmV0dXJuICRhKHRoaXMucHRyKX07US5wcm90b3R5cGUuX19kZXN0cm95X189US5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXthYih0aGlzLnB0cil9O1YucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO1YucHJvdG90eXBlLmNvbnN0cnVjdG9yPVY7Vi5wcm90b3R5cGUuX19jbGFzc19fPVY7Vi5fX2NhY2hlX189e307YS5HZW9tZXRyeUF0dHJpYnV0ZT1WO1YucHJvdG90eXBlLl9fZGVzdHJveV9fPVYucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7YmIodGhpcy5wdHIpfTt4LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTt4LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj0KeDt4LnByb3RvdHlwZS5fX2NsYXNzX189eDt4Ll9fY2FjaGVfXz17fTthLlBvaW50QXR0cmlidXRlPXg7eC5wcm90b3R5cGUuc2l6ZT14LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIGNiKHRoaXMucHRyKX07eC5wcm90b3R5cGUuR2V0QXR0cmlidXRlVHJhbnNmb3JtRGF0YT14LnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIEIoZGIodGhpcy5wdHIpLFEpfTt4LnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT14LnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT1mdW5jdGlvbigpe3JldHVybiBlYih0aGlzLnB0cil9O3gucHJvdG90eXBlLmRhdGFfdHlwZT14LnByb3RvdHlwZS5kYXRhX3R5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gZmIodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5udW1fY29tcG9uZW50cz14LnByb3RvdHlwZS5udW1fY29tcG9uZW50cz1mdW5jdGlvbigpe3JldHVybiBnYih0aGlzLnB0cil9O3gucHJvdG90eXBlLm5vcm1hbGl6ZWQ9CngucHJvdG90eXBlLm5vcm1hbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hIWhiKHRoaXMucHRyKX07eC5wcm90b3R5cGUuYnl0ZV9zdHJpZGU9eC5wcm90b3R5cGUuYnl0ZV9zdHJpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gaWIodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5ieXRlX29mZnNldD14LnByb3RvdHlwZS5ieXRlX29mZnNldD1mdW5jdGlvbigpe3JldHVybiBqYih0aGlzLnB0cil9O3gucHJvdG90eXBlLnVuaXF1ZV9pZD14LnByb3RvdHlwZS51bmlxdWVfaWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2IodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz14LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe2xiKHRoaXMucHRyKX07RC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7RC5wcm90b3R5cGUuY29uc3RydWN0b3I9RDtELnByb3RvdHlwZS5fX2NsYXNzX189RDtELl9fY2FjaGVfXz17fTthLkF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybT0KRDtELnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1ELnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuISFtYihjLGIpfTtELnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1ELnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1mdW5jdGlvbigpe3JldHVybiBuYih0aGlzLnB0cil9O0QucHJvdG90eXBlLm1pbl92YWx1ZT1ELnByb3RvdHlwZS5taW5fdmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBvYihjLGIpfTtELnByb3RvdHlwZS5yYW5nZT1ELnByb3RvdHlwZS5yYW5nZT1mdW5jdGlvbigpe3JldHVybiBwYih0aGlzLnB0cil9O0QucHJvdG90eXBlLl9fZGVzdHJveV9fPUQucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7cWIodGhpcy5wdHIpfTtHLnByb3RvdHlwZT0KT2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Ry5wcm90b3R5cGUuY29uc3RydWN0b3I9RztHLnByb3RvdHlwZS5fX2NsYXNzX189RztHLl9fY2FjaGVfXz17fTthLkF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm09RztHLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1HLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuISFyYihjLGIpfTtHLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1HLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1mdW5jdGlvbigpe3JldHVybiBzYih0aGlzLnB0cil9O0cucHJvdG90eXBlLl9fZGVzdHJveV9fPUcucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7dGIodGhpcy5wdHIpfTtILnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtILnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1IO0gucHJvdG90eXBlLl9fY2xhc3NfXz0KSDtILl9fY2FjaGVfXz17fTthLlBvaW50Q2xvdWQ9SDtILnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1ILnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiB1Yih0aGlzLnB0cil9O0gucHJvdG90eXBlLm51bV9wb2ludHM9SC5wcm90b3R5cGUubnVtX3BvaW50cz1mdW5jdGlvbigpe3JldHVybiB2Yih0aGlzLnB0cil9O0gucHJvdG90eXBlLl9fZGVzdHJveV9fPUgucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7d2IodGhpcy5wdHIpfTtFLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtFLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FO0UucHJvdG90eXBlLl9fY2xhc3NfXz1FO0UuX19jYWNoZV9fPXt9O2EuTWVzaD1FO0UucHJvdG90eXBlLm51bV9mYWNlcz1FLnByb3RvdHlwZS5udW1fZmFjZXM9ZnVuY3Rpb24oKXtyZXR1cm4geGIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1FLnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz0KZnVuY3Rpb24oKXtyZXR1cm4geWIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5udW1fcG9pbnRzPUUucHJvdG90eXBlLm51bV9wb2ludHM9ZnVuY3Rpb24oKXtyZXR1cm4gemIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1FLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0FiKHRoaXMucHRyKX07VC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7VC5wcm90b3R5cGUuY29uc3RydWN0b3I9VDtULnByb3RvdHlwZS5fX2NsYXNzX189VDtULl9fY2FjaGVfXz17fTthLk1ldGFkYXRhPVQ7VC5wcm90b3R5cGUuX19kZXN0cm95X189VC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtCYih0aGlzLnB0cil9O0MucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO0MucHJvdG90eXBlLmNvbnN0cnVjdG9yPUM7Qy5wcm90b3R5cGUuX19jbGFzc19fPUM7Qy5fX2NhY2hlX189e307YS5TdGF0dXM9QztDLnByb3RvdHlwZS5jb2RlPQpDLnByb3RvdHlwZS5jb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIENiKHRoaXMucHRyKX07Qy5wcm90b3R5cGUub2s9Qy5wcm90b3R5cGUub2s9ZnVuY3Rpb24oKXtyZXR1cm4hIURiKHRoaXMucHRyKX07Qy5wcm90b3R5cGUuZXJyb3JfbXNnPUMucHJvdG90eXBlLmVycm9yX21zZz1mdW5jdGlvbigpe3JldHVybiBwKEViKHRoaXMucHRyKSl9O0MucHJvdG90eXBlLl9fZGVzdHJveV9fPUMucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7RmIodGhpcy5wdHIpfTtJLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JO0kucHJvdG90eXBlLl9fY2xhc3NfXz1JO0kuX19jYWNoZV9fPXt9O2EuRHJhY29GbG9hdDMyQXJyYXk9STtJLnByb3RvdHlwZS5HZXRWYWx1ZT1JLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEdiKGMsCmIpfTtJLnByb3RvdHlwZS5zaXplPUkucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gSGIodGhpcy5wdHIpfTtJLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1JLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0liKHRoaXMucHRyKX07Si5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Si5wcm90b3R5cGUuY29uc3RydWN0b3I9SjtKLnByb3RvdHlwZS5fX2NsYXNzX189SjtKLl9fY2FjaGVfXz17fTthLkRyYWNvSW50OEFycmF5PUo7Si5wcm90b3R5cGUuR2V0VmFsdWU9Si5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBKYihjLGIpfTtKLnByb3RvdHlwZS5zaXplPUoucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gS2IodGhpcy5wdHIpfTtKLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1KLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0xiKHRoaXMucHRyKX07CksucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO0sucHJvdG90eXBlLmNvbnN0cnVjdG9yPUs7Sy5wcm90b3R5cGUuX19jbGFzc19fPUs7Sy5fX2NhY2hlX189e307YS5EcmFjb1VJbnQ4QXJyYXk9SztLLnByb3RvdHlwZS5HZXRWYWx1ZT1LLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIE1iKGMsYil9O0sucHJvdG90eXBlLnNpemU9Sy5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBOYih0aGlzLnB0cil9O0sucHJvdG90eXBlLl9fZGVzdHJveV9fPUsucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7T2IodGhpcy5wdHIpfTtMLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtMLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MO0wucHJvdG90eXBlLl9fY2xhc3NfXz1MO0wuX19jYWNoZV9fPXt9O2EuRHJhY29JbnQxNkFycmF5PQpMO0wucHJvdG90eXBlLkdldFZhbHVlPUwucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtyZXR1cm4gUGIoYyxiKX07TC5wcm90b3R5cGUuc2l6ZT1MLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFFiKHRoaXMucHRyKX07TC5wcm90b3R5cGUuX19kZXN0cm95X189TC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtSYih0aGlzLnB0cil9O00ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO00ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU07TS5wcm90b3R5cGUuX19jbGFzc19fPU07TS5fX2NhY2hlX189e307YS5EcmFjb1VJbnQxNkFycmF5PU07TS5wcm90b3R5cGUuR2V0VmFsdWU9TS5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBTYihjLGIpfTsKTS5wcm90b3R5cGUuc2l6ZT1NLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFRiKHRoaXMucHRyKX07TS5wcm90b3R5cGUuX19kZXN0cm95X189TS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtVYih0aGlzLnB0cil9O04ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO04ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU47Ti5wcm90b3R5cGUuX19jbGFzc19fPU47Ti5fX2NhY2hlX189e307YS5EcmFjb0ludDMyQXJyYXk9TjtOLnByb3RvdHlwZS5HZXRWYWx1ZT1OLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIFZiKGMsYil9O04ucHJvdG90eXBlLnNpemU9Ti5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBXYih0aGlzLnB0cil9O04ucHJvdG90eXBlLl9fZGVzdHJveV9fPU4ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WGIodGhpcy5wdHIpfTsKTy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Ty5wcm90b3R5cGUuY29uc3RydWN0b3I9TztPLnByb3RvdHlwZS5fX2NsYXNzX189TztPLl9fY2FjaGVfXz17fTthLkRyYWNvVUludDMyQXJyYXk9TztPLnByb3RvdHlwZS5HZXRWYWx1ZT1PLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIFliKGMsYil9O08ucHJvdG90eXBlLnNpemU9Ty5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBaYih0aGlzLnB0cil9O08ucHJvdG90eXBlLl9fZGVzdHJveV9fPU8ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7JGIodGhpcy5wdHIpfTt6LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTt6LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj16O3oucHJvdG90eXBlLl9fY2xhc3NfXz16O3ouX19jYWNoZV9fPXt9O2EuTWV0YWRhdGFRdWVyaWVyPQp6O3oucHJvdG90eXBlLkhhc0VudHJ5PXoucHJvdG90eXBlLkhhc0VudHJ5PWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7ci5wcmVwYXJlKCk7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2M9YyYmIm9iamVjdCI9PT10eXBlb2YgYz9jLnB0cjpSKGMpO3JldHVybiEhYWMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRJbnRFbnRyeT16LnByb3RvdHlwZS5HZXRJbnRFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gYmMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRJbnRFbnRyeUFycmF5PXoucHJvdG90eXBlLkdldEludEVudHJ5QXJyYXk9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09CnR5cGVvZiBjP2MucHRyOlIoYyk7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO2NjKGcsYixjLGQpfTt6LnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT16LnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gZGMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT16LnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gcChlYyhkLGIsYykpfTt6LnByb3RvdHlwZS5OdW1FbnRyaWVzPXoucHJvdG90eXBlLk51bUVudHJpZXM9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7CmImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtyZXR1cm4gZmMoYyxiKX07ei5wcm90b3R5cGUuR2V0RW50cnlOYW1lPXoucHJvdG90eXBlLkdldEVudHJ5TmFtZT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7cmV0dXJuIHAoZ2MoZCxiLGMpKX07ei5wcm90b3R5cGUuX19kZXN0cm95X189ei5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtoYyh0aGlzLnB0cil9O20ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO20ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW07bS5wcm90b3R5cGUuX19jbGFzc19fPW07bS5fX2NhY2hlX189e307YS5EZWNvZGVyPW07bS5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9bS5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPQp0aGlzLnB0cjtyLnByZXBhcmUoKTsib2JqZWN0Ij09dHlwZW9mIGImJihiPVooYikpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuIEIoaWMoZyxiLGMsZCksQyl9O20ucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPW0ucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtyLnByZXBhcmUoKTsib2JqZWN0Ij09dHlwZW9mIGImJihiPVooYikpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuIEIoamMoZyxiLGMsZCksQyl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJgooYz1jLnB0cik7cmV0dXJuIGtjKGQsYixjKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnB0cjtyLnByZXBhcmUoKTtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7Yz1jJiYib2JqZWN0Ij09PXR5cGVvZiBjP2MucHRyOlIoYyk7cmV0dXJuIGxjKGQsYixjKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtkPWQmJiJvYmplY3QiPT09dHlwZW9mIGQ/ZC5wdHI6UihkKTtyZXR1cm4gbWMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZT0KbS5wcm90b3R5cGUuR2V0QXR0cmlidXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtyZXR1cm4gQihuYyhkLGIsYykseCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQ9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlQnlVbmlxdWVJZD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7cmV0dXJuIEIob2MoZCxiLGMpLHgpfTttLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1tLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEIocGMoYyxiKSxUKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9CmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtyZXR1cm4gQihxYyhkLGIsYyksVCl9O20ucHJvdG90eXBlLkdldEZhY2VGcm9tTWVzaD1tLnByb3RvdHlwZS5HZXRGYWNlRnJvbU1lc2g9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEhcmMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2g9bS5wcm90b3R5cGUuR2V0VHJpYW5nbGVTdHJpcHNGcm9tTWVzaD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7CnJldHVybiBzYyhkLGIsYyl9O20ucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PW0ucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXRjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1tLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF1YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9CmZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXZjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1tLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF3YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7CmImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEheGMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF5YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHM9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPQpiLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXpjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1tLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISFBYyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJgooYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEhQmMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIUNjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09CnR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISFEYyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRGF0YUFycmF5Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCxnLHQpe3ZhciBhYT10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtnJiYib2JqZWN0Ij09PXR5cGVvZiBnJiYoZz1nLnB0cik7dCYmIm9iamVjdCI9PT10eXBlb2YgdCYmKHQ9dC5wdHIpO3JldHVybiEhRWMoYWEsYixjLGQsZyx0KX07bS5wcm90b3R5cGUuU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybT1tLnByb3RvdHlwZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtGYyhjLApiKX07bS5wcm90b3R5cGUuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkPW0ucHJvdG90eXBlLkdldEVuY29kZWRHZW9tZXRyeVR5cGVfRGVwcmVjYXRlZD1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEdjKGMsYil9O20ucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZD1tLnByb3RvdHlwZS5EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO3JldHVybiBCKEhjKGQsYixjKSxDKX07bS5wcm90b3R5cGUuRGVjb2RlQnVmZmVyVG9NZXNoPW0ucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvTWVzaD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PQp0eXBlb2YgYyYmKGM9Yy5wdHIpO3JldHVybiBCKEljKGQsYixjKSxDKX07bS5wcm90b3R5cGUuX19kZXN0cm95X189bS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtKYyh0aGlzLnB0cil9OyhmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXthLkFUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1LYygpO2EuQVRUUklCVVRFX05PX1RSQU5TRk9STT1MYygpO2EuQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09TWMoKTthLkFUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1OYygpO2EuSU5WQUxJRD1PYygpO2EuUE9TSVRJT049UGMoKTthLk5PUk1BTD1RYygpO2EuQ09MT1I9UmMoKTthLlRFWF9DT09SRD1TYygpO2EuR0VORVJJQz1UYygpO2EuSU5WQUxJRF9HRU9NRVRSWV9UWVBFPVVjKCk7YS5QT0lOVF9DTE9VRD1WYygpO2EuVFJJQU5HVUxBUl9NRVNIPVdjKCk7YS5EVF9JTlZBTElEPVhjKCk7YS5EVF9JTlQ4PVljKCk7YS5EVF9VSU5UOD1aYygpO2EuRFRfSU5UMTY9CiRjKCk7YS5EVF9VSU5UMTY9YWQoKTthLkRUX0lOVDMyPWJkKCk7YS5EVF9VSU5UMzI9Y2QoKTthLkRUX0lOVDY0PWRkKCk7YS5EVF9VSU5UNjQ9ZWQoKTthLkRUX0ZMT0FUMzI9ZmQoKTthLkRUX0ZMT0FUNjQ9Z2QoKTthLkRUX0JPT0w9aGQoKTthLkRUX1RZUEVTX0NPVU5UPWlkKCk7YS5PSz1qZCgpO2EuRFJBQ09fRVJST1I9a2QoKTthLklPX0VSUk9SPWxkKCk7YS5JTlZBTElEX1BBUkFNRVRFUj1tZCgpO2EuVU5TVVBQT1JURURfVkVSU0lPTj1uZCgpO2EuVU5LTk9XTl9WRVJTSU9OPW9kKCl9dmE/YigpOm9hLnVuc2hpZnQoYil9KSgpO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZVBhcnNlZClhLm9uTW9kdWxlUGFyc2VkKCk7YS5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlPWZ1bmN0aW9uKGIpe2lmKGIuX19jbGFzc19fJiZiLl9fY2xhc3NfXz09PWEuRGVjb2RlckJ1ZmZlcilyZXR1cm4gYS5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWQoYik7CmlmKDg+Yi5ieXRlTGVuZ3RoKXJldHVybiBhLklOVkFMSURfR0VPTUVUUllfVFlQRTtzd2l0Y2goYls3XSl7Y2FzZSAwOnJldHVybiBhLlBPSU5UX0NMT1VEO2Nhc2UgMTpyZXR1cm4gYS5UUklBTkdVTEFSX01FU0g7ZGVmYXVsdDpyZXR1cm4gYS5JTlZBTElEX0dFT01FVFJZX1RZUEV9fTtyZXR1cm4gbi5yZWFkeX19KCk7Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPURyYWNvRGVjb2Rlck1vZHVsZToiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gRHJhY29EZWNvZGVyTW9kdWxlfSk6Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cyYmKGV4cG9ydHMuRHJhY29EZWNvZGVyTW9kdWxlPURyYWNvRGVjb2Rlck1vZHVsZSk7Cg=="},986:(A,t,e)=>{"use strict";e.r(t),e.d(t,{DataViewIndexOutOfBoundsError:()=>Z,DecodeError:()=>w,Decoder:()=>v,EXT_TIMESTAMP:()=>D,Encoder:()=>H,ExtData:()=>d,ExtensionCodec:()=>U,decode:()=>P,decodeArrayStream:()=>eA,decodeAsync:()=>tA,decodeMulti:()=>_,decodeMultiStream:()=>gA,decodeStream:()=>BA,decodeTimestampExtension:()=>G,decodeTimestampToTimeSpec:()=>R,encode:()=>b,encodeDateToTimeSpec:()=>y,encodeTimeSpecToTimestamp:()=>f,encodeTimestampExtension:()=>F});var g,B,i,I=4294967295;function Q(A,t,e){var g=Math.floor(e/4294967296),B=e;A.setUint32(t,g),A.setUint32(t+4,B)}function o(A,t){return 4294967296*A.getInt32(t)+A.getUint32(t+4)}var E=("undefined"==typeof process||"never"!==(null===(g=null===process||void 0===process?void 0:process.env)||void 0===g?void 0:g.TEXT_ENCODING))&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder;function s(A){for(var t=A.length,e=0,g=0;g=55296&&B<=56319&&g65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s)}else i.push(Q);else i.push(Q);i.length>=4096&&(I+=String.fromCharCode.apply(String,i),i.length=0)}return i.length>0&&(I+=String.fromCharCode.apply(String,i)),I}var c,l=E?new TextDecoder:null,h=E?"undefined"!=typeof process&&"force"!==(null===(i=null===process||void 0===process?void 0:process.env)||void 0===i?void 0:i.TEXT_DECODER)?200:0:I,d=function(A,t){this.type=A,this.data=t},u=(c=function(A,t){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,t){A.__proto__=t}||function(A,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(A[e]=t[e])},c(A,t)},function(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=A}c(A,t),A.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}),w=function(A){function t(e){var g=A.call(this,e)||this,B=Object.create(t.prototype);return Object.setPrototypeOf(g,B),Object.defineProperty(g,"name",{configurable:!0,enumerable:!1,value:t.name}),g}return u(t,A),t}(Error),D=-1,p=4294967295,m=17179869183;function f(A){var t,e=A.sec,g=A.nsec;if(e>=0&&g>=0&&e<=m){if(0===g&&e<=p){var B=new Uint8Array(4);return(t=new DataView(B.buffer)).setUint32(0,e),B}var i=e/4294967296,I=4294967295&e;return B=new Uint8Array(8),(t=new DataView(B.buffer)).setUint32(0,g<<2|3&i),t.setUint32(4,I),B}return B=new Uint8Array(12),(t=new DataView(B.buffer)).setUint32(0,g),Q(t,4,e),B}function y(A){var t=A.getTime(),e=Math.floor(t/1e3),g=1e6*(t-1e3*e),B=Math.floor(g/1e9);return{sec:e+B,nsec:g-1e9*B}}function F(A){return A instanceof Date?f(y(A)):null}function R(A){var t=new DataView(A.buffer,A.byteOffset,A.byteLength);switch(A.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var e=t.getUint32(0);return{sec:4294967296*(3&e)+t.getUint32(4),nsec:e>>>2};case 12:return{sec:o(t,4),nsec:t.getUint32(0)};default:throw new w("Unrecognized data size for timestamp (expected 4, 8, or 12): ".concat(A.length))}}function G(A){var t=R(A);return new Date(1e3*t.sec+t.nsec/1e6)}var M={type:D,encode:F,decode:G},U=function(){function A(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(M)}return A.prototype.register=function(A){var t=A.type,e=A.encode,g=A.decode;if(t>=0)this.encoders[t]=e,this.decoders[t]=g;else{var B=1+t;this.builtInEncoders[B]=e,this.builtInDecoders[B]=g}},A.prototype.tryToEncode=function(A,t){for(var e=0;ethis.maxDepth)throw new Error("Too deep objects in depth ".concat(t));null==A?this.encodeNil():"boolean"==typeof A?this.encodeBoolean(A):"number"==typeof A?this.encodeNumber(A):"string"==typeof A?this.encodeString(A):this.encodeObject(A,t)},A.prototype.ensureBufferSizeToWrite=function(A){var t=this.pos+A;this.view.byteLength=0?A<128?this.writeU8(A):A<256?(this.writeU8(204),this.writeU8(A)):A<65536?(this.writeU8(205),this.writeU16(A)):A<4294967296?(this.writeU8(206),this.writeU32(A)):(this.writeU8(207),this.writeU64(A)):A>=-32?this.writeU8(224|A+32):A>=-128?(this.writeU8(208),this.writeI8(A)):A>=-32768?(this.writeU8(209),this.writeI16(A)):A>=-2147483648?(this.writeU8(210),this.writeI32(A)):(this.writeU8(211),this.writeI64(A)):this.forceFloat32?(this.writeU8(202),this.writeF32(A)):(this.writeU8(203),this.writeF64(A))},A.prototype.writeStringHeader=function(A){if(A<32)this.writeU8(160+A);else if(A<256)this.writeU8(217),this.writeU8(A);else if(A<65536)this.writeU8(218),this.writeU16(A);else{if(!(A<4294967296))throw new Error("Too long string: ".concat(A," bytes in UTF-8"));this.writeU8(219),this.writeU32(A)}},A.prototype.encodeString=function(A){if(A.length>C){var t=s(A);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),a(A,this.bytes,this.pos),this.pos+=t}else t=s(A),this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),function(A,t,e){for(var g=A.length,B=e,i=0;i=55296&&I<=56319&&i>18&7|240,t[B++]=I>>12&63|128,t[B++]=I>>6&63|128):(t[B++]=I>>12&15|224,t[B++]=I>>6&63|128)}else t[B++]=I>>6&31|192;t[B++]=63&I|128}else t[B++]=I}}(A,this.bytes,this.pos),this.pos+=t},A.prototype.encodeObject=function(A,t){var e=this.extensionCodec.tryToEncode(A,this.context);if(null!=e)this.encodeExtension(e);else if(Array.isArray(A))this.encodeArray(A,t);else if(ArrayBuffer.isView(A))this.encodeBinary(A);else{if("object"!=typeof A)throw new Error("Unrecognized object: ".concat(Object.prototype.toString.apply(A)));this.encodeMap(A,t)}},A.prototype.encodeBinary=function(A){var t=A.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: ".concat(t));this.writeU8(198),this.writeU32(t)}var e=S(A);this.writeU8a(e)},A.prototype.encodeArray=function(A,t){var e=A.length;if(e<16)this.writeU8(144+e);else if(e<65536)this.writeU8(220),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large array: ".concat(e));this.writeU8(221),this.writeU32(e)}for(var g=0,B=A;g0&&A<=this.maxKeyLength},A.prototype.find=function(A,t,e){A:for(var g=0,B=this.caches[e-1];g=this.maxLengthPerKey?e[Math.random()*e.length|0]=g:e.push(g)},A.prototype.decode=function(A,t,e){var g=this.find(A,t,e);if(null!=g)return this.hit++,g;this.miss++;var B=r(A,t,e),i=Uint8Array.prototype.slice.call(A,t,t+e);return this.store(i,B),B},A}(),x=function(A,t){var e,g,B,i,I={label:0,sent:function(){if(1&B[0])throw B[1];return B[1]},trys:[],ops:[]};return i={next:Q(0),throw:Q(1),return:Q(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function Q(i){return function(Q){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;I;)try{if(e=1,g&&(B=2&i[0]?g.return:i[0]?g.throw||((B=g.return)&&B.call(g),0):g.next)&&!(B=B.call(g,i[1])).done)return B;switch(g=0,B&&(i=[2&i[0],B.value]),i[0]){case 0:case 1:B=i;break;case 4:return I.label++,{value:i[1],done:!1};case 5:I.label++,g=i[1],i=[0];continue;case 7:i=I.ops.pop(),I.trys.pop();continue;default:if(!((B=(B=I.trys).length>0&&B[B.length-1])||6!==i[0]&&2!==i[0])){I=0;continue}if(3===i[0]&&(!B||i[1]>B[0]&&i[1]=A},A.prototype.createExtraByteError=function(A){var t=this.view,e=this.pos;return new RangeError("Extra ".concat(t.byteLength-e," of ").concat(t.byteLength," byte(s) found at buffer[").concat(A,"]"))},A.prototype.decode=function(A){this.reinitializeState(),this.setBuffer(A);var t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t},A.prototype.decodeMulti=function(A){return x(this,(function(t){switch(t.label){case 0:this.reinitializeState(),this.setBuffer(A),t.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return t.sent(),[3,1];case 3:return[2]}}))},A.prototype.decodeAsync=function(A){var t,e,g,B,i,I,Q,o;return i=this,I=void 0,o=function(){var i,I,Q,o,E,s,n,C;return x(this,(function(a){switch(a.label){case 0:i=!1,a.label=1;case 1:a.trys.push([1,6,7,12]),t=J(A),a.label=2;case 2:return[4,t.next()];case 3:if((e=a.sent()).done)return[3,5];if(Q=e.value,i)throw this.createExtraByteError(this.totalPos);this.appendBuffer(Q);try{I=this.doDecodeSync(),i=!0}catch(A){if(!(A instanceof Z))throw A}this.totalPos+=this.pos,a.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return o=a.sent(),g={error:o},[3,12];case 7:return a.trys.push([7,,10,11]),e&&!e.done&&(B=t.return)?[4,B.call(t)]:[3,9];case 8:a.sent(),a.label=9;case 9:return[3,11];case 10:if(g)throw g.error;return[7];case 11:return[7];case 12:if(i){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,I]}throw s=(E=this).headByte,n=E.pos,C=E.totalPos,new RangeError("Insufficient data in parsing ".concat(k(s)," at ").concat(C," (").concat(n," in the current buffer)"))}}))},new((Q=void 0)||(Q=Promise))((function(A,t){function e(A){try{B(o.next(A))}catch(A){t(A)}}function g(A){try{B(o.throw(A))}catch(A){t(A)}}function B(t){var B;t.done?A(t.value):(B=t.value,B instanceof Q?B:new Q((function(A){A(B)}))).then(e,g)}B((o=o.apply(i,I||[])).next())}))},A.prototype.decodeArrayStream=function(A){return this.decodeMultiAsync(A,!0)},A.prototype.decodeStream=function(A){return this.decodeMultiAsync(A,!1)},A.prototype.decodeMultiAsync=function(A,t){return function(A,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g,B=e.apply(A,t||[]),i=[];return g={},I("next"),I("throw"),I("return"),g[Symbol.asyncIterator]=function(){return this},g;function I(A){B[A]&&(g[A]=function(t){return new Promise((function(e,g){i.push([A,t,e,g])>1||Q(A,t)}))})}function Q(A,t){try{(e=B[A](t)).value instanceof L?Promise.resolve(e.value.v).then(o,E):s(i[0][2],e)}catch(A){s(i[0][3],A)}var e}function o(A){Q("next",A)}function E(A){Q("throw",A)}function s(A,t){A(t),i.shift(),i.length&&Q(i[0][0],i[0][1])}}(this,arguments,(function(){var e,g,B,i,I,Q,o,E,s;return x(this,(function(n){switch(n.label){case 0:e=t,g=-1,n.label=1;case 1:n.trys.push([1,13,14,19]),B=J(A),n.label=2;case 2:return[4,L(B.next())];case 3:if((i=n.sent()).done)return[3,12];if(I=i.value,t&&0===g)throw this.createExtraByteError(this.totalPos);this.appendBuffer(I),e&&(g=this.readArraySize(),e=!1,this.complete()),n.label=4;case 4:n.trys.push([4,9,,10]),n.label=5;case 5:return[4,L(this.doDecodeSync())];case 6:return[4,n.sent()];case 7:return n.sent(),0==--g?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((Q=n.sent())instanceof Z))throw Q;return[3,10];case 10:this.totalPos+=this.pos,n.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return o=n.sent(),E={error:o},[3,19];case 14:return n.trys.push([14,,17,18]),i&&!i.done&&(s=B.return)?[4,L(s.call(B))]:[3,16];case 15:n.sent(),n.label=16;case 16:return[3,18];case 17:if(E)throw E.error;return[7];case 18:return[7];case 19:return[2]}}))}))},A.prototype.doDecodeSync=function(){A:for(;;){var A=this.readHeadByte(),t=void 0;if(A>=224)t=A-256;else if(A<192)if(A<128)t=A;else if(A<144){if(0!=(g=A-128)){this.pushMapState(g),this.complete();continue A}t={}}else if(A<160){if(0!=(g=A-144)){this.pushArrayState(g),this.complete();continue A}t=[]}else{var e=A-160;t=this.decodeUtf8String(e,0)}else if(192===A)t=null;else if(194===A)t=!1;else if(195===A)t=!0;else if(202===A)t=this.readF32();else if(203===A)t=this.readF64();else if(204===A)t=this.readU8();else if(205===A)t=this.readU16();else if(206===A)t=this.readU32();else if(207===A)t=this.readU64();else if(208===A)t=this.readI8();else if(209===A)t=this.readI16();else if(210===A)t=this.readI32();else if(211===A)t=this.readI64();else if(217===A)e=this.lookU8(),t=this.decodeUtf8String(e,1);else if(218===A)e=this.lookU16(),t=this.decodeUtf8String(e,2);else if(219===A)e=this.lookU32(),t=this.decodeUtf8String(e,4);else if(220===A){if(0!==(g=this.readU16())){this.pushArrayState(g),this.complete();continue A}t=[]}else if(221===A){if(0!==(g=this.readU32())){this.pushArrayState(g),this.complete();continue A}t=[]}else if(222===A){if(0!==(g=this.readU16())){this.pushMapState(g),this.complete();continue A}t={}}else if(223===A){if(0!==(g=this.readU32())){this.pushMapState(g),this.complete();continue A}t={}}else if(196===A){var g=this.lookU8();t=this.decodeBinary(g,1)}else if(197===A)g=this.lookU16(),t=this.decodeBinary(g,2);else if(198===A)g=this.lookU32(),t=this.decodeBinary(g,4);else if(212===A)t=this.decodeExtension(1,0);else if(213===A)t=this.decodeExtension(2,0);else if(214===A)t=this.decodeExtension(4,0);else if(215===A)t=this.decodeExtension(8,0);else if(216===A)t=this.decodeExtension(16,0);else if(199===A)g=this.lookU8(),t=this.decodeExtension(g,1);else if(200===A)g=this.lookU16(),t=this.decodeExtension(g,2);else{if(201!==A)throw new w("Unrecognized type byte: ".concat(k(A)));g=this.lookU32(),t=this.decodeExtension(g,4)}this.complete();for(var B=this.stack;B.length>0;){var i=B[B.length-1];if(0===i.type){if(i.array[i.position]=t,i.position++,i.position!==i.size)continue A;B.pop(),t=i.array}else{if(1===i.type){if(void 0,"string"!=(I=typeof t)&&"number"!==I)throw new w("The type of key must be string or number but "+typeof t);if("__proto__"===t)throw new w("The key __proto__ is not allowed");i.key=t,i.type=2;continue A}if(i.map[i.key]=t,i.readCount++,i.readCount!==i.size){i.key=null,i.type=1;continue A}B.pop(),t=i.map}}return t}var I},A.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},A.prototype.complete=function(){this.headByte=-1},A.prototype.readArraySize=function(){var A=this.readHeadByte();switch(A){case 220:return this.readU16();case 221:return this.readU32();default:if(A<160)return A-144;throw new w("Unrecognized array type byte: ".concat(k(A)))}},A.prototype.pushMapState=function(A){if(A>this.maxMapLength)throw new w("Max length exceeded: map length (".concat(A,") > maxMapLengthLength (").concat(this.maxMapLength,")"));this.stack.push({type:1,size:A,key:null,readCount:0,map:{}})},A.prototype.pushArrayState=function(A){if(A>this.maxArrayLength)throw new w("Max length exceeded: array length (".concat(A,") > maxArrayLength (").concat(this.maxArrayLength,")"));this.stack.push({type:0,size:A,array:new Array(A),position:0})},A.prototype.decodeUtf8String=function(A,t){var e;if(A>this.maxStrLength)throw new w("Max length exceeded: UTF-8 byte length (".concat(A,") > maxStrLength (").concat(this.maxStrLength,")"));if(this.bytes.byteLengthh?function(A,t,e){var g=A.subarray(t,t+e);return l.decode(g)}(this.bytes,B,A):r(this.bytes,B,A),this.pos+=t+A,g},A.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},A.prototype.decodeBinary=function(A,t){if(A>this.maxBinLength)throw new w("Max length exceeded: bin length (".concat(A,") > maxBinLength (").concat(this.maxBinLength,")"));if(!this.hasRemaining(A+t))throw T;var e=this.pos+t,g=this.bytes.subarray(e,e+A);return this.pos+=t+A,g},A.prototype.decodeExtension=function(A,t){if(A>this.maxExtLength)throw new w("Max length exceeded: ext length (".concat(A,") > maxExtLength (").concat(this.maxExtLength,")"));var e=this.view.getInt8(this.pos+t),g=this.decodeBinary(A,t+1);return this.extensionCodec.decode(g,e,this.context)},A.prototype.lookU8=function(){return this.view.getUint8(this.pos)},A.prototype.lookU16=function(){return this.view.getUint16(this.pos)},A.prototype.lookU32=function(){return this.view.getUint32(this.pos)},A.prototype.readU8=function(){var A=this.view.getUint8(this.pos);return this.pos++,A},A.prototype.readI8=function(){var A=this.view.getInt8(this.pos);return this.pos++,A},A.prototype.readU16=function(){var A=this.view.getUint16(this.pos);return this.pos+=2,A},A.prototype.readI16=function(){var A=this.view.getInt16(this.pos);return this.pos+=2,A},A.prototype.readU32=function(){var A=this.view.getUint32(this.pos);return this.pos+=4,A},A.prototype.readI32=function(){var A=this.view.getInt32(this.pos);return this.pos+=4,A},A.prototype.readU64=function(){var A,t,e=(A=this.view,t=this.pos,4294967296*A.getUint32(t)+A.getUint32(t+4));return this.pos+=8,e},A.prototype.readI64=function(){var A=o(this.view,this.pos);return this.pos+=8,A},A.prototype.readF32=function(){var A=this.view.getFloat32(this.pos);return this.pos+=4,A},A.prototype.readF64=function(){var A=this.view.getFloat64(this.pos);return this.pos+=8,A},A}(),X={};function P(A,t){return void 0===t&&(t=X),new v(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decode(A)}function _(A,t){return void 0===t&&(t=X),new v(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decodeMulti(A)}var O=function(A,t){var e,g,B,i,I={label:0,sent:function(){if(1&B[0])throw B[1];return B[1]},trys:[],ops:[]};return i={next:Q(0),throw:Q(1),return:Q(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function Q(i){return function(Q){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;I;)try{if(e=1,g&&(B=2&i[0]?g.return:i[0]?g.throw||((B=g.return)&&B.call(g),0):g.next)&&!(B=B.call(g,i[1])).done)return B;switch(g=0,B&&(i=[2&i[0],B.value]),i[0]){case 0:case 1:B=i;break;case 4:return I.label++,{value:i[1],done:!1};case 5:I.label++,g=i[1],i=[0];continue;case 7:i=I.ops.pop(),I.trys.pop();continue;default:if(!((B=(B=I.trys).length>0&&B[B.length-1])||6!==i[0]&&2!==i[0])){I=0;continue}if(3===i[0]&&(!B||i[1]>B[0]&&i[1]1||Q(A,t)}))})}function Q(A,t){try{(e=B[A](t)).value instanceof z?Promise.resolve(e.value.v).then(o,E):s(i[0][2],e)}catch(A){s(i[0][3],A)}var e}function o(A){Q("next",A)}function E(A){Q("throw",A)}function s(A,t){A(t),i.shift(),i.length&&Q(i[0][0],i[0][1])}};function j(A){return null!=A[Symbol.asyncIterator]?A:function(A){return q(this,arguments,(function(){var t,e,g,B;return O(this,(function(i){switch(i.label){case 0:t=A.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,z(t.read())];case 3:return e=i.sent(),g=e.done,B=e.value,g?[4,z(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return function(A){if(null==A)throw new Error("Assertion Failure: value must not be null nor undefined")}(B),[4,z(B)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(A)}var $=function(A,t,e,g){return new(e||(e=Promise))((function(B,i){function I(A){try{o(g.next(A))}catch(A){i(A)}}function Q(A){try{o(g.throw(A))}catch(A){i(A)}}function o(A){var t;A.done?B(A.value):(t=A.value,t instanceof e?t:new e((function(A){A(t)}))).then(I,Q)}o((g=g.apply(A,t||[])).next())}))},AA=function(A,t){var e,g,B,i,I={label:0,sent:function(){if(1&B[0])throw B[1];return B[1]},trys:[],ops:[]};return i={next:Q(0),throw:Q(1),return:Q(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function Q(i){return function(Q){return function(i){if(e)throw new TypeError("Generator is already executing.");for(;I;)try{if(e=1,g&&(B=2&i[0]?g.return:i[0]?g.throw||((B=g.return)&&B.call(g),0):g.next)&&!(B=B.call(g,i[1])).done)return B;switch(g=0,B&&(i=[2&i[0],B.value]),i[0]){case 0:case 1:B=i;break;case 4:return I.label++,{value:i[1],done:!1};case 5:I.label++,g=i[1],i=[0];continue;case 7:i=I.ops.pop(),I.trys.pop();continue;default:if(!((B=(B=I.trys).length>0&&B[B.length-1])||6!==i[0]&&2!==i[0])){I=0;continue}if(3===i[0]&&(!B||i[1]>B[0]&&i[1]{"use strict";e.r(t),e.d(t,{ACESFilmicToneMapping:()=>BA,AddEquation:()=>m,AddOperation:()=>$,AdditiveAnimationBlendMode:()=>Kt,AdditiveBlending:()=>u,AgXToneMapping:()=>IA,AlphaFormat:()=>KA,AlwaysCompare:()=>Re,AlwaysDepth:()=>W,AlwaysStencilFunc:()=>ue,AmbientLight:()=>Ea,AnimationAction:()=>ja,AnimationClip:()=>NC,AnimationLoader:()=>ZC,AnimationMixer:()=>Ar,AnimationObjectGroup:()=>qa,AnimationUtils:()=>wC,ArcCurve:()=>Js,ArrayCamera:()=>To,ArrowHelper:()=>Xr,AttachedBindMode:()=>oA,Audio:()=>Ya,AudioAnalyser:()=>Za,AudioContext:()=>ma,AudioListener:()=>ka,AudioLoader:()=>fa,AxesHelper:()=>Pr,BackSide:()=>c,BasicDepthPacking:()=>vt,BasicShadowMap:()=>s,BatchedMesh:()=>ns,Bone:()=>kE,BooleanKeyframeTrack:()=>FC,Box2:()=>ar,Box3:()=>bg,Box3Helper:()=>Kr,BoxGeometry:()=>vi,BoxHelper:()=>Vr,BufferAttribute:()=>oi,BufferGeometry:()=>yi,BufferGeometryLoader:()=>la,ByteType:()=>UA,Cache:()=>kC,Camera:()=>qi,CameraHelper:()=>xr,CanvasTexture:()=>ks,CapsuleGeometry:()=>In,CatmullRomCurve3:()=>Ws,CineonToneMapping:()=>gA,CircleGeometry:()=>Qn,ClampToEdgeWrapping:()=>hA,Clock:()=>Ma,Color:()=>zB,ColorKeyframeTrack:()=>RC,ColorManagement:()=>ag,CompressedArrayTexture:()=>Ns,CompressedCubeTexture:()=>bs,CompressedTexture:()=>Hs,CompressedTextureLoader:()=>TC,ConeGeometry:()=>En,ConstantAlphaFactor:()=>K,ConstantColorFactor:()=>L,CubeCamera:()=>gI,CubeReflectionMapping:()=>nA,CubeRefractionMapping:()=>CA,CubeTexture:()=>BI,CubeTextureLoader:()=>vC,CubeUVReflectionMapping:()=>cA,CubicBezierCurve:()=>_s,CubicBezierCurve3:()=>Os,CubicInterpolant:()=>pC,CullFaceBack:()=>Q,CullFaceFront:()=>o,CullFaceFrontBack:()=>E,CullFaceNone:()=>I,Curve:()=>Ys,CurvePath:()=>en,CustomBlending:()=>p,CustomToneMapping:()=>iA,CylinderGeometry:()=>on,Cylindrical:()=>nr,Data3DTexture:()=>Gg,DataArrayTexture:()=>Fg,DataTexture:()=>YE,DataTextureLoader:()=>XC,DataUtils:()=>ii,DecrementStencilOp:()=>oe,DecrementWrapStencilOp:()=>se,DefaultLoadingManager:()=>xC,DepthFormat:()=>XA,DepthStencilFormat:()=>PA,DepthTexture:()=>qI,DetachedBindMode:()=>EA,DirectionalLight:()=>oa,DirectionalLightHelper:()=>br,DiscreteInterpolant:()=>fC,DisplayP3ColorSpace:()=>jt,DodecahedronGeometry:()=>nn,DoubleSide:()=>l,DstAlphaFactor:()=>b,DstColorFactor:()=>Y,DynamicCopyUsage:()=>ke,DynamicDrawUsage:()=>Me,DynamicReadUsage:()=>He,EdgesGeometry:()=>ln,EllipseCurve:()=>xs,EqualCompare:()=>pe,EqualDepth:()=>P,EqualStencilFunc:()=>re,EquirectangularReflectionMapping:()=>aA,EquirectangularRefractionMapping:()=>rA,Euler:()=>hB,EventDispatcher:()=>Ke,ExtrudeGeometry:()=>vn,FileLoader:()=>KC,Float16BufferAttribute:()=>li,Float32BufferAttribute:()=>hi,FloatType:()=>kA,Fog:()=>tE,FogExp2:()=>AE,FramebufferTexture:()=>Ss,FrontSide:()=>r,Frustum:()=>CI,GLBufferAttribute:()=>ir,GLSL1:()=>xe,GLSL3:()=>Je,GreaterCompare:()=>fe,GreaterDepth:()=>O,GreaterEqualCompare:()=>Fe,GreaterEqualDepth:()=>_,GreaterEqualStencilFunc:()=>de,GreaterStencilFunc:()=>le,GridHelper:()=>Mr,Group:()=>Wo,HalfFloatType:()=>YA,HemisphereLight:()=>OC,HemisphereLightHelper:()=>Gr,IcosahedronGeometry:()=>Pn,ImageBitmapLoader:()=>Da,ImageLoader:()=>WC,ImageUtils:()=>hg,IncrementStencilOp:()=>Qe,IncrementWrapStencilOp:()=>Ee,InstancedBufferAttribute:()=>VE,InstancedBufferGeometry:()=>ca,InstancedInterleavedBuffer:()=>Br,InstancedMesh:()=>_E,Int16BufferAttribute:()=>Ci,Int32BufferAttribute:()=>ri,Int8BufferAttribute:()=>Ei,IntType:()=>NA,InterleavedBuffer:()=>gE,InterleavedBufferAttribute:()=>iE,Interpolant:()=>DC,InterpolateDiscrete:()=>bt,InterpolateLinear:()=>kt,InterpolateSmooth:()=>Yt,InvertStencilOp:()=>ne,KeepStencilOp:()=>ie,KeyframeTrack:()=>yC,LOD:()=>fE,LatheGeometry:()=>Bn,Layers:()=>dB,LessCompare:()=>De,LessDepth:()=>v,LessEqualCompare:()=>me,LessEqualDepth:()=>X,LessEqualStencilFunc:()=>ce,LessStencilFunc:()=>ae,Light:()=>_C,LightProbe:()=>Ca,Line:()=>ds,Line3:()=>lr,LineBasicMaterial:()=>Cs,LineCurve:()=>zs,LineCurve3:()=>qs,LineDashedMaterial:()=>rC,LineLoop:()=>ps,LineSegments:()=>Ds,LinearDisplayP3ColorSpace:()=>$t,LinearFilter:()=>fA,LinearInterpolant:()=>mC,LinearMipMapLinearFilter:()=>GA,LinearMipMapNearestFilter:()=>FA,LinearMipmapLinearFilter:()=>RA,LinearMipmapNearestFilter:()=>yA,LinearSRGBColorSpace:()=>qt,LinearToneMapping:()=>tA,LinearTransfer:()=>Ae,Loader:()=>JC,LoaderUtils:()=>ra,LoadingManager:()=>YC,LoopOnce:()=>St,LoopPingPong:()=>Nt,LoopRepeat:()=>Ht,LuminanceAlphaFormat:()=>vA,LuminanceFormat:()=>WA,MOUSE:()=>B,Material:()=>$B,MaterialLoader:()=>aa,MathUtils:()=>je,Matrix3:()=>Ag,Matrix4:()=>QB,MaxEquation:()=>R,Mesh:()=>Ti,MeshBasicMaterial:()=>Ai,MeshDepthMaterial:()=>xo,MeshDistanceMaterial:()=>Jo,MeshLambertMaterial:()=>CC,MeshMatcapMaterial:()=>aC,MeshNormalMaterial:()=>nC,MeshPhongMaterial:()=>EC,MeshPhysicalMaterial:()=>oC,MeshStandardMaterial:()=>QC,MeshToonMaterial:()=>sC,MinEquation:()=>F,MirroredRepeatWrapping:()=>dA,MixOperation:()=>j,MultiplyBlending:()=>D,MultiplyOperation:()=>q,NearestFilter:()=>uA,NearestMipMapLinearFilter:()=>mA,NearestMipMapNearestFilter:()=>DA,NearestMipmapLinearFilter:()=>pA,NearestMipmapNearestFilter:()=>wA,NeutralToneMapping:()=>QA,NeverCompare:()=>we,NeverDepth:()=>T,NeverStencilFunc:()=>Ce,NoBlending:()=>h,NoColorSpace:()=>Ot,NoToneMapping:()=>AA,NormalAnimationBlendMode:()=>Vt,NormalBlending:()=>d,NotEqualCompare:()=>ye,NotEqualDepth:()=>z,NotEqualStencilFunc:()=>he,NumberKeyframeTrack:()=>GC,Object3D:()=>bB,ObjectLoader:()=>ha,ObjectSpaceNormalMap:()=>_t,OctahedronGeometry:()=>_n,OneFactor:()=>M,OneMinusConstantAlphaFactor:()=>Z,OneMinusConstantColorFactor:()=>V,OneMinusDstAlphaFactor:()=>k,OneMinusDstColorFactor:()=>x,OneMinusSrcAlphaFactor:()=>N,OneMinusSrcColorFactor:()=>S,OrthographicCamera:()=>GI,P3Primaries:()=>ge,PCFShadowMap:()=>n,PCFSoftShadowMap:()=>C,PMREMGenerator:()=>LI,Path:()=>gn,PerspectiveCamera:()=>tI,Plane:()=>EI,PlaneGeometry:()=>cI,PlaneHelper:()=>Zr,PointLight:()=>Ia,PointLightHelper:()=>fr,Points:()=>Gs,PointsMaterial:()=>ms,PolarGridHelper:()=>Ur,PolyhedronGeometry:()=>sn,PositionalAudio:()=>Ka,PropertyBinding:()=>za,PropertyMixer:()=>Ta,QuadraticBezierCurve:()=>js,QuadraticBezierCurve3:()=>$s,Quaternion:()=>Ug,QuaternionKeyframeTrack:()=>UC,QuaternionLinearInterpolant:()=>MC,RED_GREEN_RGTC2_Format:()=>Mt,RED_RGTC1_Format:()=>Rt,REVISION:()=>g,RGBADepthPacking:()=>Xt,RGBAFormat:()=>TA,RGBAIntegerFormat:()=>jA,RGBA_ASTC_10x10_Format:()=>Dt,RGBA_ASTC_10x5_Format:()=>dt,RGBA_ASTC_10x6_Format:()=>ut,RGBA_ASTC_10x8_Format:()=>wt,RGBA_ASTC_12x10_Format:()=>pt,RGBA_ASTC_12x12_Format:()=>mt,RGBA_ASTC_4x4_Format:()=>st,RGBA_ASTC_5x4_Format:()=>nt,RGBA_ASTC_5x5_Format:()=>Ct,RGBA_ASTC_6x5_Format:()=>at,RGBA_ASTC_6x6_Format:()=>rt,RGBA_ASTC_8x5_Format:()=>ct,RGBA_ASTC_8x6_Format:()=>lt,RGBA_ASTC_8x8_Format:()=>ht,RGBA_BPTC_Format:()=>ft,RGBA_ETC2_EAC_Format:()=>Et,RGBA_PVRTC_2BPPV1_Format:()=>It,RGBA_PVRTC_4BPPV1_Format:()=>it,RGBA_S3TC_DXT1_Format:()=>At,RGBA_S3TC_DXT3_Format:()=>tt,RGBA_S3TC_DXT5_Format:()=>et,RGBFormat:()=>ZA,RGB_BPTC_SIGNED_Format:()=>yt,RGB_BPTC_UNSIGNED_Format:()=>Ft,RGB_ETC1_Format:()=>Qt,RGB_ETC2_Format:()=>ot,RGB_PVRTC_2BPPV1_Format:()=>Bt,RGB_PVRTC_4BPPV1_Format:()=>gt,RGB_S3TC_DXT1_Format:()=>$A,RGFormat:()=>zA,RGIntegerFormat:()=>qA,RawShaderMaterial:()=>IC,Ray:()=>IB,Raycaster:()=>Qr,Rec709Primaries:()=>ee,RectAreaLight:()=>sa,RedFormat:()=>_A,RedIntegerFormat:()=>OA,ReinhardToneMapping:()=>eA,RenderTarget:()=>fg,RepeatWrapping:()=>lA,ReplaceStencilOp:()=>Ie,ReverseSubtractEquation:()=>y,RingGeometry:()=>On,SIGNED_RED_GREEN_RGTC2_Format:()=>Ut,SIGNED_RED_RGTC1_Format:()=>Gt,SRGBColorSpace:()=>zt,SRGBTransfer:()=>te,Scene:()=>eE,ShaderChunk:()=>lI,ShaderLib:()=>dI,ShaderMaterial:()=>zi,ShadowMaterial:()=>iC,Shape:()=>hn,ShapeGeometry:()=>zn,ShapePath:()=>_r,ShapeUtils:()=>Zn,ShortType:()=>SA,Skeleton:()=>LE,SkeletonHelper:()=>pr,SkinnedMesh:()=>bE,Source:()=>ug,Sphere:()=>jg,SphereGeometry:()=>qn,Spherical:()=>sr,SphericalHarmonics3:()=>na,SplineCurve:()=>An,SpotLight:()=>ta,SpotLightHelper:()=>dr,Sprite:()=>wE,SpriteMaterial:()=>IE,SrcAlphaFactor:()=>H,SrcAlphaSaturateFactor:()=>J,SrcColorFactor:()=>U,StaticCopyUsage:()=>be,StaticDrawUsage:()=>Ge,StaticReadUsage:()=>Se,StereoCamera:()=>Ga,StreamCopyUsage:()=>Ye,StreamDrawUsage:()=>Ue,StreamReadUsage:()=>Ne,StringKeyframeTrack:()=>SC,SubtractEquation:()=>f,SubtractiveBlending:()=>w,TOUCH:()=>i,TangentSpaceNormalMap:()=>Pt,TetrahedronGeometry:()=>jn,Texture:()=>pg,TextureLoader:()=>PC,TorusGeometry:()=>$n,TorusKnotGeometry:()=>AC,Triangle:()=>vB,TriangleFanDrawMode:()=>Wt,TriangleStripDrawMode:()=>Tt,TrianglesDrawMode:()=>Zt,TubeGeometry:()=>tC,UVMapping:()=>sA,Uint16BufferAttribute:()=>ai,Uint32BufferAttribute:()=>ci,Uint8BufferAttribute:()=>si,Uint8ClampedBufferAttribute:()=>ni,Uniform:()=>tr,UniformsGroup:()=>gr,UniformsLib:()=>hI,UniformsUtils:()=>Oi,UnsignedByteType:()=>MA,UnsignedInt248Type:()=>LA,UnsignedInt5999Type:()=>VA,UnsignedIntType:()=>bA,UnsignedShort4444Type:()=>xA,UnsignedShort5551Type:()=>JA,UnsignedShortType:()=>HA,VSMShadowMap:()=>a,Vector2:()=>$e,Vector3:()=>Sg,Vector4:()=>mg,VectorKeyframeTrack:()=>HC,VideoTexture:()=>Us,WebGL3DRenderTarget:()=>Mg,WebGLArrayRenderTarget:()=>Rg,WebGLCoordinateSystem:()=>Le,WebGLCubeRenderTarget:()=>iI,WebGLMultipleRenderTargets:()=>Or,WebGLRenderTarget:()=>yg,WebGLRenderer:()=>$o,WebGLUtils:()=>Zo,WebGPUCoordinateSystem:()=>Ve,WireframeGeometry:()=>eC,WrapAroundEnding:()=>Lt,ZeroCurvatureEnding:()=>xt,ZeroFactor:()=>G,ZeroSlopeEnding:()=>Jt,ZeroStencilOp:()=>Be,createCanvasElement:()=>Ig});const g="163",B={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},I=0,Q=1,o=2,E=3,s=0,n=1,C=2,a=3,r=0,c=1,l=2,h=0,d=1,u=2,w=3,D=4,p=5,m=100,f=101,y=102,F=103,R=104,G=200,M=201,U=202,S=203,H=204,N=205,b=206,k=207,Y=208,x=209,J=210,L=211,V=212,K=213,Z=214,T=0,W=1,v=2,X=3,P=4,_=5,O=6,z=7,q=0,j=1,$=2,AA=0,tA=1,eA=2,gA=3,BA=4,iA=5,IA=6,QA=7,oA="attached",EA="detached",sA=300,nA=301,CA=302,aA=303,rA=304,cA=306,lA=1e3,hA=1001,dA=1002,uA=1003,wA=1004,DA=1004,pA=1005,mA=1005,fA=1006,yA=1007,FA=1007,RA=1008,GA=1008,MA=1009,UA=1010,SA=1011,HA=1012,NA=1013,bA=1014,kA=1015,YA=1016,xA=1017,JA=1018,LA=1020,VA=35902,KA=1021,ZA=1022,TA=1023,WA=1024,vA=1025,XA=1026,PA=1027,_A=1028,OA=1029,zA=1030,qA=1031,jA=1033,$A=33776,At=33777,tt=33778,et=33779,gt=35840,Bt=35841,it=35842,It=35843,Qt=36196,ot=37492,Et=37496,st=37808,nt=37809,Ct=37810,at=37811,rt=37812,ct=37813,lt=37814,ht=37815,dt=37816,ut=37817,wt=37818,Dt=37819,pt=37820,mt=37821,ft=36492,yt=36494,Ft=36495,Rt=36283,Gt=36284,Mt=36285,Ut=36286,St=2200,Ht=2201,Nt=2202,bt=2300,kt=2301,Yt=2302,xt=2400,Jt=2401,Lt=2402,Vt=2500,Kt=2501,Zt=0,Tt=1,Wt=2,vt=3200,Xt=3201,Pt=0,_t=1,Ot="",zt="srgb",qt="srgb-linear",jt="display-p3",$t="display-p3-linear",Ae="linear",te="srgb",ee="rec709",ge="p3",Be=0,ie=7680,Ie=7681,Qe=7682,oe=7683,Ee=34055,se=34056,ne=5386,Ce=512,ae=513,re=514,ce=515,le=516,he=517,de=518,ue=519,we=512,De=513,pe=514,me=515,fe=516,ye=517,Fe=518,Re=519,Ge=35044,Me=35048,Ue=35040,Se=35045,He=35049,Ne=35041,be=35046,ke=35050,Ye=35042,xe="100",Je="300 es",Le=2e3,Ve=2001;class Ke{addEventListener(A,t){void 0===this._listeners&&(this._listeners={});const e=this._listeners;void 0===e[A]&&(e[A]=[]),-1===e[A].indexOf(t)&&e[A].push(t)}hasEventListener(A,t){if(void 0===this._listeners)return!1;const e=this._listeners;return void 0!==e[A]&&-1!==e[A].indexOf(t)}removeEventListener(A,t){if(void 0===this._listeners)return;const e=this._listeners[A];if(void 0!==e){const A=e.indexOf(t);-1!==A&&e.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const t=this._listeners[A.type];if(void 0!==t){A.target=this;const e=t.slice(0);for(let t=0,g=e.length;t>8&255]+Ze[A>>16&255]+Ze[A>>24&255]+"-"+Ze[255&t]+Ze[t>>8&255]+"-"+Ze[t>>16&15|64]+Ze[t>>24&255]+"-"+Ze[63&e|128]+Ze[e>>8&255]+"-"+Ze[e>>16&255]+Ze[e>>24&255]+Ze[255&g]+Ze[g>>8&255]+Ze[g>>16&255]+Ze[g>>24&255]).toLowerCase()}function Pe(A,t,e){return Math.max(t,Math.min(e,A))}function _e(A,t){return(A%t+t)%t}function Oe(A,t,e){return(1-e)*A+e*t}function ze(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return A/4294967295;case Uint16Array:return A/65535;case Uint8Array:return A/255;case Int32Array:return Math.max(A/2147483647,-1);case Int16Array:return Math.max(A/32767,-1);case Int8Array:return Math.max(A/127,-1);default:throw new Error("Invalid component type.")}}function qe(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return Math.round(4294967295*A);case Uint16Array:return Math.round(65535*A);case Uint8Array:return Math.round(255*A);case Int32Array:return Math.round(2147483647*A);case Int16Array:return Math.round(32767*A);case Int8Array:return Math.round(127*A);default:throw new Error("Invalid component type.")}}const je={DEG2RAD:We,RAD2DEG:ve,generateUUID:Xe,clamp:Pe,euclideanModulo:_e,mapLinear:function(A,t,e,g,B){return g+(A-t)*(B-g)/(e-t)},inverseLerp:function(A,t,e){return A!==t?(e-A)/(t-A):0},lerp:Oe,damp:function(A,t,e,g){return Oe(A,t,1-Math.exp(-e*g))},pingpong:function(A,t=1){return t-Math.abs(_e(A,2*t)-t)},smoothstep:function(A,t,e){return A<=t?0:A>=e?1:(A=(A-t)/(e-t))*A*(3-2*A)},smootherstep:function(A,t,e){return A<=t?0:A>=e?1:(A=(A-t)/(e-t))*A*A*(A*(6*A-15)+10)},randInt:function(A,t){return A+Math.floor(Math.random()*(t-A+1))},randFloat:function(A,t){return A+Math.random()*(t-A)},randFloatSpread:function(A){return A*(.5-Math.random())},seededRandom:function(A){void 0!==A&&(Te=A);let t=Te+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(A){return A*We},radToDeg:function(A){return A*ve},isPowerOfTwo:function(A){return!(A&A-1)&&0!==A},ceilPowerOfTwo:function(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))},floorPowerOfTwo:function(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))},setQuaternionFromProperEuler:function(A,t,e,g,B){const i=Math.cos,I=Math.sin,Q=i(e/2),o=I(e/2),E=i((t+g)/2),s=I((t+g)/2),n=i((t-g)/2),C=I((t-g)/2),a=i((g-t)/2),r=I((g-t)/2);switch(B){case"XYX":A.set(Q*s,o*n,o*C,Q*E);break;case"YZY":A.set(o*C,Q*s,o*n,Q*E);break;case"ZXZ":A.set(o*n,o*C,Q*s,Q*E);break;case"XZX":A.set(Q*s,o*r,o*a,Q*E);break;case"YXY":A.set(o*a,Q*s,o*r,Q*E);break;case"ZYZ":A.set(o*r,o*a,Q*s,Q*E);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+B)}},normalize:qe,denormalize:ze};class $e{constructor(A=0,t=0){$e.prototype.isVector2=!0,this.x=A,this.y=t}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,t){return this.x=A,this.y=t,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const t=this.x,e=this.y,g=A.elements;return this.x=g[0]*t+g[3]*e+g[6],this.y=g[1]*t+g[4]*e+g[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.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}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(Pe(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y;return t*t+e*e}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this}rotateAround(A,t){const e=Math.cos(t),g=Math.sin(t),B=this.x-A.x,i=this.y-A.y;return this.x=B*e-i*g+A.x,this.y=B*g+i*e+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ag{constructor(A,t,e,g,B,i,I,Q,o){Ag.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==A&&this.set(A,t,e,g,B,i,I,Q,o)}set(A,t,e,g,B,i,I,Q,o){const E=this.elements;return E[0]=A,E[1]=g,E[2]=I,E[3]=t,E[4]=B,E[5]=Q,E[6]=e,E[7]=i,E[8]=o,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],this}extractBasis(A,t,e){return A.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),e.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const t=A.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,g=t.elements,B=this.elements,i=e[0],I=e[3],Q=e[6],o=e[1],E=e[4],s=e[7],n=e[2],C=e[5],a=e[8],r=g[0],c=g[3],l=g[6],h=g[1],d=g[4],u=g[7],w=g[2],D=g[5],p=g[8];return B[0]=i*r+I*h+Q*w,B[3]=i*c+I*d+Q*D,B[6]=i*l+I*u+Q*p,B[1]=o*r+E*h+s*w,B[4]=o*c+E*d+s*D,B[7]=o*l+E*u+s*p,B[2]=n*r+C*h+a*w,B[5]=n*c+C*d+a*D,B[8]=n*l+C*u+a*p,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[3]*=A,t[6]*=A,t[1]*=A,t[4]*=A,t[7]*=A,t[2]*=A,t[5]*=A,t[8]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[1],g=A[2],B=A[3],i=A[4],I=A[5],Q=A[6],o=A[7],E=A[8];return t*i*E-t*I*o-e*B*E+e*I*Q+g*B*o-g*i*Q}invert(){const A=this.elements,t=A[0],e=A[1],g=A[2],B=A[3],i=A[4],I=A[5],Q=A[6],o=A[7],E=A[8],s=E*i-I*o,n=I*Q-E*B,C=o*B-i*Q,a=t*s+e*n+g*C;if(0===a)return this.set(0,0,0,0,0,0,0,0,0);const r=1/a;return A[0]=s*r,A[1]=(g*o-E*e)*r,A[2]=(I*e-g*i)*r,A[3]=n*r,A[4]=(E*t-g*Q)*r,A[5]=(g*B-I*t)*r,A[6]=C*r,A[7]=(e*Q-o*t)*r,A[8]=(i*t-e*B)*r,this}transpose(){let A;const t=this.elements;return A=t[1],t[1]=t[3],t[3]=A,A=t[2],t[2]=t[6],t[6]=A,A=t[5],t[5]=t[7],t[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const t=this.elements;return A[0]=t[0],A[1]=t[3],A[2]=t[6],A[3]=t[1],A[4]=t[4],A[5]=t[7],A[6]=t[2],A[7]=t[5],A[8]=t[8],this}setUvTransform(A,t,e,g,B,i,I){const Q=Math.cos(B),o=Math.sin(B);return this.set(e*Q,e*o,-e*(Q*i+o*I)+i+A,-g*o,g*Q,-g*(-o*i+Q*I)+I+t,0,0,1),this}scale(A,t){return this.premultiply(tg.makeScale(A,t)),this}rotate(A){return this.premultiply(tg.makeRotation(-A)),this}translate(A,t){return this.premultiply(tg.makeTranslation(A,t)),this}makeTranslation(A,t){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,t,0,0,1),this}makeRotation(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,e,t,0,0,0,1),this}makeScale(A,t){return this.set(A,0,0,0,t,0,0,0,1),this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<9;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<9;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}const tg=new Ag;function eg(A){for(let t=A.length-1;t>=0;--t)if(A[t]>=65535)return!0;return!1}const gg={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Bg(A,t){return new gg[A](t)}function ig(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}function Ig(){const A=ig("canvas");return A.style.display="block",A}const Qg={};function og(A){A in Qg||(Qg[A]=!0,console.warn(A))}const Eg=(new Ag).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),sg=(new Ag).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),ng={[qt]:{transfer:Ae,primaries:ee,toReference:A=>A,fromReference:A=>A},[zt]:{transfer:te,primaries:ee,toReference:A=>A.convertSRGBToLinear(),fromReference:A=>A.convertLinearToSRGB()},[$t]:{transfer:Ae,primaries:ge,toReference:A=>A.applyMatrix3(sg),fromReference:A=>A.applyMatrix3(Eg)},[jt]:{transfer:te,primaries:ge,toReference:A=>A.convertSRGBToLinear().applyMatrix3(sg),fromReference:A=>A.applyMatrix3(Eg).convertLinearToSRGB()}},Cg=new Set([qt,$t]),ag={enabled:!0,_workingColorSpace:qt,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(A){if(!Cg.has(A))throw new Error(`Unsupported working color space, "${A}".`);this._workingColorSpace=A},convert:function(A,t,e){if(!1===this.enabled||t===e||!t||!e)return A;const g=ng[t].toReference;return(0,ng[e].fromReference)(g(A))},fromWorkingColorSpace:function(A,t){return this.convert(A,this._workingColorSpace,t)},toWorkingColorSpace:function(A,t){return this.convert(A,t,this._workingColorSpace)},getPrimaries:function(A){return ng[A].primaries},getTransfer:function(A){return A===Ot?Ae:ng[A].transfer}};function rg(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function cg(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}let lg;class hg{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let t;if(A instanceof HTMLCanvasElement)t=A;else{void 0===lg&&(lg=ig("canvas")),lg.width=A.width,lg.height=A.height;const e=lg.getContext("2d");A instanceof ImageData?e.putImageData(A,0,0):e.drawImage(A,0,0,A.width,A.height),t=lg}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(A){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const t=ig("canvas");t.width=A.width,t.height=A.height;const e=t.getContext("2d");e.drawImage(A,0,0,A.width,A.height);const g=e.getImageData(0,0,A.width,A.height),B=g.data;for(let A=0;A0&&(e.userData=this.userData),t||(A.textures[this.uuid]=e),e}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==sA)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case lA:A.x=A.x-Math.floor(A.x);break;case hA:A.x=A.x<0?0:1;break;case dA:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case lA:A.y=A.y-Math.floor(A.y);break;case hA:A.y=A.y<0?0:1;break;case dA:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(A){!0===A&&this.pmremVersion++}}pg.DEFAULT_IMAGE=null,pg.DEFAULT_MAPPING=sA,pg.DEFAULT_ANISOTROPY=1;class mg{constructor(A=0,t=0,e=0,g=1){mg.prototype.isVector4=!0,this.x=A,this.y=t,this.z=e,this.w=g}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,t,e,g){return this.x=A,this.y=t,this.z=e,this.w=g,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){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: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this.w=A.w+t.w,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this.w+=A.w*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this.w=A.w-t.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const t=this.x,e=this.y,g=this.z,B=this.w,i=A.elements;return this.x=i[0]*t+i[4]*e+i[8]*g+i[12]*B,this.y=i[1]*t+i[5]*e+i[9]*g+i[13]*B,this.z=i[2]*t+i[6]*e+i[10]*g+i[14]*B,this.w=i[3]*t+i[7]*e+i[11]*g+i[15]*B,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const t=Math.sqrt(1-A.w*A.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/t,this.y=A.y/t,this.z=A.z/t),this}setAxisAngleFromRotationMatrix(A){let t,e,g,B;const i=.01,I=.1,Q=A.elements,o=Q[0],E=Q[4],s=Q[8],n=Q[1],C=Q[5],a=Q[9],r=Q[2],c=Q[6],l=Q[10];if(Math.abs(E-n)Q&&A>h?Ah?Q=0?1:-1,g=1-t*t;if(g>Number.EPSILON){const B=Math.sqrt(g),i=Math.atan2(B,t*e);A=Math.sin(A*i)/B,I=Math.sin(I*i)/B}const B=I*e;if(Q=Q*A+n*B,o=o*A+C*B,E=E*A+a*B,s=s*A+r*B,A===1-I){const A=1/Math.sqrt(Q*Q+o*o+E*E+s*s);Q*=A,o*=A,E*=A,s*=A}}A[t]=Q,A[t+1]=o,A[t+2]=E,A[t+3]=s}static multiplyQuaternionsFlat(A,t,e,g,B,i){const I=e[g],Q=e[g+1],o=e[g+2],E=e[g+3],s=B[i],n=B[i+1],C=B[i+2],a=B[i+3];return A[t]=I*a+E*s+Q*C-o*n,A[t+1]=Q*a+E*n+o*s-I*C,A[t+2]=o*a+E*C+I*n-Q*s,A[t+3]=E*a-I*s-Q*n-o*C,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,t,e,g){return this._x=A,this._y=t,this._z=e,this._w=g,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,t=!0){const e=A._x,g=A._y,B=A._z,i=A._order,I=Math.cos,Q=Math.sin,o=I(e/2),E=I(g/2),s=I(B/2),n=Q(e/2),C=Q(g/2),a=Q(B/2);switch(i){case"XYZ":this._x=n*E*s+o*C*a,this._y=o*C*s-n*E*a,this._z=o*E*a+n*C*s,this._w=o*E*s-n*C*a;break;case"YXZ":this._x=n*E*s+o*C*a,this._y=o*C*s-n*E*a,this._z=o*E*a-n*C*s,this._w=o*E*s+n*C*a;break;case"ZXY":this._x=n*E*s-o*C*a,this._y=o*C*s+n*E*a,this._z=o*E*a+n*C*s,this._w=o*E*s-n*C*a;break;case"ZYX":this._x=n*E*s-o*C*a,this._y=o*C*s+n*E*a,this._z=o*E*a-n*C*s,this._w=o*E*s+n*C*a;break;case"YZX":this._x=n*E*s+o*C*a,this._y=o*C*s+n*E*a,this._z=o*E*a-n*C*s,this._w=o*E*s-n*C*a;break;case"XZY":this._x=n*E*s-o*C*a,this._y=o*C*s-n*E*a,this._z=o*E*a+n*C*s,this._w=o*E*s+n*C*a;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+i)}return!0===t&&this._onChangeCallback(),this}setFromAxisAngle(A,t){const e=t/2,g=Math.sin(e);return this._x=A.x*g,this._y=A.y*g,this._z=A.z*g,this._w=Math.cos(e),this._onChangeCallback(),this}setFromRotationMatrix(A){const t=A.elements,e=t[0],g=t[4],B=t[8],i=t[1],I=t[5],Q=t[9],o=t[2],E=t[6],s=t[10],n=e+I+s;if(n>0){const A=.5/Math.sqrt(n+1);this._w=.25/A,this._x=(E-Q)*A,this._y=(B-o)*A,this._z=(i-g)*A}else if(e>I&&e>s){const A=2*Math.sqrt(1+e-I-s);this._w=(E-Q)/A,this._x=.25*A,this._y=(g+i)/A,this._z=(B+o)/A}else if(I>s){const A=2*Math.sqrt(1+I-e-s);this._w=(B-o)/A,this._x=(g+i)/A,this._y=.25*A,this._z=(Q+E)/A}else{const A=2*Math.sqrt(1+s-e-I);this._w=(i-g)/A,this._x=(B+o)/A,this._y=(Q+E)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,t){let e=A.dot(t)+1;return eMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=e):(this._x=0,this._y=-A.z,this._z=A.y,this._w=e)):(this._x=A.y*t.z-A.z*t.y,this._y=A.z*t.x-A.x*t.z,this._z=A.x*t.y-A.y*t.x,this._w=e),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Pe(this.dot(A),-1,1)))}rotateTowards(A,t){const e=this.angleTo(A);if(0===e)return this;const g=Math.min(1,t/e);return this.slerp(A,g),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(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,t){const e=A._x,g=A._y,B=A._z,i=A._w,I=t._x,Q=t._y,o=t._z,E=t._w;return this._x=e*E+i*I+g*o-B*Q,this._y=g*E+i*Q+B*I-e*o,this._z=B*E+i*o+e*Q-g*I,this._w=i*E-e*I-g*Q-B*o,this._onChangeCallback(),this}slerp(A,t){if(0===t)return this;if(1===t)return this.copy(A);const e=this._x,g=this._y,B=this._z,i=this._w;let I=i*A._w+e*A._x+g*A._y+B*A._z;if(I<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,I=-I):this.copy(A),I>=1)return this._w=i,this._x=e,this._y=g,this._z=B,this;const Q=1-I*I;if(Q<=Number.EPSILON){const A=1-t;return this._w=A*i+t*this._w,this._x=A*e+t*this._x,this._y=A*g+t*this._y,this._z=A*B+t*this._z,this.normalize(),this}const o=Math.sqrt(Q),E=Math.atan2(o,I),s=Math.sin((1-t)*E)/o,n=Math.sin(t*E)/o;return this._w=i*s+this._w*n,this._x=e*s+this._x*n,this._y=g*s+this._y*n,this._z=B*s+this._z*n,this._onChangeCallback(),this}slerpQuaternions(A,t,e){return this.copy(A).slerp(t,e)}random(){const A=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),e=Math.random(),g=Math.sqrt(1-e),B=Math.sqrt(e);return this.set(g*Math.sin(A),g*Math.cos(A),B*Math.sin(t),B*Math.cos(t))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,t=0){return this._x=A[t],this._y=A[t+1],this._z=A[t+2],this._w=A[t+3],this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._w,A}fromBufferAttribute(A,t){return this._x=A.getX(t),this._y=A.getY(t),this._z=A.getZ(t),this._w=A.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Sg{constructor(A=0,t=0,e=0){Sg.prototype.isVector3=!0,this.x=A,this.y=t,this.z=e}set(A,t,e){return void 0===e&&(e=this.z),this.x=A,this.y=t,this.z=e,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,t){return this.x=A.x*t.x,this.y=A.y*t.y,this.z=A.z*t.z,this}applyEuler(A){return this.applyQuaternion(Ng.setFromEuler(A))}applyAxisAngle(A,t){return this.applyQuaternion(Ng.setFromAxisAngle(A,t))}applyMatrix3(A){const t=this.x,e=this.y,g=this.z,B=A.elements;return this.x=B[0]*t+B[3]*e+B[6]*g,this.y=B[1]*t+B[4]*e+B[7]*g,this.z=B[2]*t+B[5]*e+B[8]*g,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const t=this.x,e=this.y,g=this.z,B=A.elements,i=1/(B[3]*t+B[7]*e+B[11]*g+B[15]);return this.x=(B[0]*t+B[4]*e+B[8]*g+B[12])*i,this.y=(B[1]*t+B[5]*e+B[9]*g+B[13])*i,this.z=(B[2]*t+B[6]*e+B[10]*g+B[14])*i,this}applyQuaternion(A){const t=this.x,e=this.y,g=this.z,B=A.x,i=A.y,I=A.z,Q=A.w,o=2*(i*g-I*e),E=2*(I*t-B*g),s=2*(B*e-i*t);return this.x=t+Q*o+i*s-I*E,this.y=e+Q*E+I*o-B*s,this.z=g+Q*s+B*E-i*o,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const t=this.x,e=this.y,g=this.z,B=A.elements;return this.x=B[0]*t+B[4]*e+B[8]*g,this.y=B[1]*t+B[5]*e+B[9]*g,this.z=B[2]*t+B[6]*e+B[10]*g,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this.z=Math.max(A.z,Math.min(t.z,this.z)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this.z=Math.max(A,Math.min(t,this.z)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this.z+=(A.z-this.z)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this.z=A.z+(t.z-A.z)*e,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,t){const e=A.x,g=A.y,B=A.z,i=t.x,I=t.y,Q=t.z;return this.x=g*Q-B*I,this.y=B*i-e*Q,this.z=e*I-g*i,this}projectOnVector(A){const t=A.lengthSq();if(0===t)return this.set(0,0,0);const e=A.dot(this)/t;return this.copy(A).multiplyScalar(e)}projectOnPlane(A){return Hg.copy(this).projectOnVector(A),this.sub(Hg)}reflect(A){return this.sub(Hg.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(Pe(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y,g=this.z-A.z;return t*t+e*e+g*g}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,t,e){const g=Math.sin(t)*A;return this.x=g*Math.sin(e),this.y=Math.cos(t)*A,this.z=g*Math.cos(e),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,t,e){return this.x=A*Math.sin(t),this.y=e,this.z=A*Math.cos(t),this}setFromMatrixPosition(A){const t=A.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(A){const t=this.setFromMatrixColumn(A,0).length(),e=this.setFromMatrixColumn(A,1).length(),g=this.setFromMatrixColumn(A,2).length();return this.x=t,this.y=e,this.z=g,this}setFromMatrixColumn(A,t){return this.fromArray(A.elements,4*t)}setFromMatrix3Column(A,t){return this.fromArray(A.elements,3*t)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this.z=A[t+2],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A[t+2]=this.z,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this.z=A.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=Math.random()*Math.PI*2,t=2*Math.random()-1,e=Math.sqrt(1-t*t);return this.x=e*Math.cos(A),this.y=t,this.z=e*Math.sin(A),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Hg=new Sg,Ng=new Ug;class bg{constructor(A=new Sg(1/0,1/0,1/0),t=new Sg(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=t}set(A,t){return this.min.copy(A),this.max.copy(t),this}setFromArray(A){this.makeEmpty();for(let t=0,e=A.length;tthis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,t){return t.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,Yg),Yg.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let t,e;return A.normal.x>0?(t=A.normal.x*this.min.x,e=A.normal.x*this.max.x):(t=A.normal.x*this.max.x,e=A.normal.x*this.min.x),A.normal.y>0?(t+=A.normal.y*this.min.y,e+=A.normal.y*this.max.y):(t+=A.normal.y*this.max.y,e+=A.normal.y*this.min.y),A.normal.z>0?(t+=A.normal.z*this.min.z,e+=A.normal.z*this.max.z):(t+=A.normal.z*this.max.z,e+=A.normal.z*this.min.z),t<=-A.constant&&e>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(Wg),vg.subVectors(this.max,Wg),Jg.subVectors(A.a,Wg),Lg.subVectors(A.b,Wg),Vg.subVectors(A.c,Wg),Kg.subVectors(Lg,Jg),Zg.subVectors(Vg,Lg),Tg.subVectors(Jg,Vg);let t=[0,-Kg.z,Kg.y,0,-Zg.z,Zg.y,0,-Tg.z,Tg.y,Kg.z,0,-Kg.x,Zg.z,0,-Zg.x,Tg.z,0,-Tg.x,-Kg.y,Kg.x,0,-Zg.y,Zg.x,0,-Tg.y,Tg.x,0];return!!_g(t,Jg,Lg,Vg,vg)&&(t=[1,0,0,0,1,0,0,0,1],!!_g(t,Jg,Lg,Vg,vg)&&(Xg.crossVectors(Kg,Zg),t=[Xg.x,Xg.y,Xg.z],_g(t,Jg,Lg,Vg,vg)))}clampPoint(A,t){return t.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,Yg).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=.5*this.getSize(Yg).length()),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(kg[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),kg[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),kg[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),kg[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),kg[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),kg[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),kg[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),kg[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(kg)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const kg=[new Sg,new Sg,new Sg,new Sg,new Sg,new Sg,new Sg,new Sg],Yg=new Sg,xg=new bg,Jg=new Sg,Lg=new Sg,Vg=new Sg,Kg=new Sg,Zg=new Sg,Tg=new Sg,Wg=new Sg,vg=new Sg,Xg=new Sg,Pg=new Sg;function _g(A,t,e,g,B){for(let i=0,I=A.length-3;i<=I;i+=3){Pg.fromArray(A,i);const I=B.x*Math.abs(Pg.x)+B.y*Math.abs(Pg.y)+B.z*Math.abs(Pg.z),Q=t.dot(Pg),o=e.dot(Pg),E=g.dot(Pg);if(Math.max(-Math.max(Q,o,E),Math.min(Q,o,E))>I)return!1}return!0}const Og=new bg,zg=new Sg,qg=new Sg;class jg{constructor(A=new Sg,t=-1){this.isSphere=!0,this.center=A,this.radius=t}set(A,t){return this.center.copy(A),this.radius=t,this}setFromPoints(A,t){const e=this.center;void 0!==t?e.copy(t):Og.setFromPoints(A).getCenter(e);let g=0;for(let t=0,B=A.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;zg.subVectors(A,this.center);const t=zg.lengthSq();if(t>this.radius*this.radius){const A=Math.sqrt(t),e=.5*(A-this.radius);this.center.addScaledVector(zg,e/A),this.radius+=e}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(!0===this.center.equals(A.center)?this.radius=Math.max(this.radius,A.radius):(qg.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(zg.copy(A.center).add(qg)),this.expandByPoint(zg.copy(A.center).sub(qg))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const $g=new Sg,AB=new Sg,tB=new Sg,eB=new Sg,gB=new Sg,BB=new Sg,iB=new Sg;class IB{constructor(A=new Sg,t=new Sg(0,0,-1)){this.origin=A,this.direction=t}set(A,t){return this.origin.copy(A),this.direction.copy(t),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,t){return t.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,$g)),this}closestPointToPoint(A,t){t.subVectors(A,this.origin);const e=t.dot(this.direction);return e<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,e)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const t=$g.subVectors(A,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(A):($g.copy(this.origin).addScaledVector(this.direction,t),$g.distanceToSquared(A))}distanceSqToSegment(A,t,e,g){AB.copy(A).add(t).multiplyScalar(.5),tB.copy(t).sub(A).normalize(),eB.copy(this.origin).sub(AB);const B=.5*A.distanceTo(t),i=-this.direction.dot(tB),I=eB.dot(this.direction),Q=-eB.dot(tB),o=eB.lengthSq(),E=Math.abs(1-i*i);let s,n,C,a;if(E>0)if(s=i*Q-I,n=i*I-Q,a=B*E,s>=0)if(n>=-a)if(n<=a){const A=1/E;s*=A,n*=A,C=s*(s+i*n+2*I)+n*(i*s+n+2*Q)+o}else n=B,s=Math.max(0,-(i*n+I)),C=-s*s+n*(n+2*Q)+o;else n=-B,s=Math.max(0,-(i*n+I)),C=-s*s+n*(n+2*Q)+o;else n<=-a?(s=Math.max(0,-(-i*B+I)),n=s>0?-B:Math.min(Math.max(-B,-Q),B),C=-s*s+n*(n+2*Q)+o):n<=a?(s=0,n=Math.min(Math.max(-B,-Q),B),C=n*(n+2*Q)+o):(s=Math.max(0,-(i*B+I)),n=s>0?B:Math.min(Math.max(-B,-Q),B),C=-s*s+n*(n+2*Q)+o);else n=i>0?-B:B,s=Math.max(0,-(i*n+I)),C=-s*s+n*(n+2*Q)+o;return e&&e.copy(this.origin).addScaledVector(this.direction,s),g&&g.copy(AB).addScaledVector(tB,n),C}intersectSphere(A,t){$g.subVectors(A.center,this.origin);const e=$g.dot(this.direction),g=$g.dot($g)-e*e,B=A.radius*A.radius;if(g>B)return null;const i=Math.sqrt(B-g),I=e-i,Q=e+i;return Q<0?null:I<0?this.at(Q,t):this.at(I,t)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const t=A.normal.dot(this.direction);if(0===t)return 0===A.distanceToPoint(this.origin)?0:null;const e=-(this.origin.dot(A.normal)+A.constant)/t;return e>=0?e:null}intersectPlane(A,t){const e=this.distanceToPlane(A);return null===e?null:this.at(e,t)}intersectsPlane(A){const t=A.distanceToPoint(this.origin);return 0===t||A.normal.dot(this.direction)*t<0}intersectBox(A,t){let e,g,B,i,I,Q;const o=1/this.direction.x,E=1/this.direction.y,s=1/this.direction.z,n=this.origin;return o>=0?(e=(A.min.x-n.x)*o,g=(A.max.x-n.x)*o):(e=(A.max.x-n.x)*o,g=(A.min.x-n.x)*o),E>=0?(B=(A.min.y-n.y)*E,i=(A.max.y-n.y)*E):(B=(A.max.y-n.y)*E,i=(A.min.y-n.y)*E),e>i||B>g?null:((B>e||isNaN(e))&&(e=B),(i=0?(I=(A.min.z-n.z)*s,Q=(A.max.z-n.z)*s):(I=(A.max.z-n.z)*s,Q=(A.min.z-n.z)*s),e>Q||I>g?null:((I>e||e!=e)&&(e=I),(Q=0?e:g,t)))}intersectsBox(A){return null!==this.intersectBox(A,$g)}intersectTriangle(A,t,e,g,B){gB.subVectors(t,A),BB.subVectors(e,A),iB.crossVectors(gB,BB);let i,I=this.direction.dot(iB);if(I>0){if(g)return null;i=1}else{if(!(I<0))return null;i=-1,I=-I}eB.subVectors(this.origin,A);const Q=i*this.direction.dot(BB.crossVectors(eB,BB));if(Q<0)return null;const o=i*this.direction.dot(gB.cross(eB));if(o<0)return null;if(Q+o>I)return null;const E=-i*eB.dot(iB);return E<0?null:this.at(E/I,B)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class QB{constructor(A,t,e,g,B,i,I,Q,o,E,s,n,C,a,r,c){QB.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==A&&this.set(A,t,e,g,B,i,I,Q,o,E,s,n,C,a,r,c)}set(A,t,e,g,B,i,I,Q,o,E,s,n,C,a,r,c){const l=this.elements;return l[0]=A,l[4]=t,l[8]=e,l[12]=g,l[1]=B,l[5]=i,l[9]=I,l[13]=Q,l[2]=o,l[6]=E,l[10]=s,l[14]=n,l[3]=C,l[7]=a,l[11]=r,l[15]=c,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 QB).fromArray(this.elements)}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],this}copyPosition(A){const t=this.elements,e=A.elements;return t[12]=e[12],t[13]=e[13],t[14]=e[14],this}setFromMatrix3(A){const t=A.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(A,t,e){return A.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),e.setFromMatrixColumn(this,2),this}makeBasis(A,t,e){return this.set(A.x,t.x,e.x,0,A.y,t.y,e.y,0,A.z,t.z,e.z,0,0,0,0,1),this}extractRotation(A){const t=this.elements,e=A.elements,g=1/oB.setFromMatrixColumn(A,0).length(),B=1/oB.setFromMatrixColumn(A,1).length(),i=1/oB.setFromMatrixColumn(A,2).length();return t[0]=e[0]*g,t[1]=e[1]*g,t[2]=e[2]*g,t[3]=0,t[4]=e[4]*B,t[5]=e[5]*B,t[6]=e[6]*B,t[7]=0,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(A){const t=this.elements,e=A.x,g=A.y,B=A.z,i=Math.cos(e),I=Math.sin(e),Q=Math.cos(g),o=Math.sin(g),E=Math.cos(B),s=Math.sin(B);if("XYZ"===A.order){const A=i*E,e=i*s,g=I*E,B=I*s;t[0]=Q*E,t[4]=-Q*s,t[8]=o,t[1]=e+g*o,t[5]=A-B*o,t[9]=-I*Q,t[2]=B-A*o,t[6]=g+e*o,t[10]=i*Q}else if("YXZ"===A.order){const A=Q*E,e=Q*s,g=o*E,B=o*s;t[0]=A+B*I,t[4]=g*I-e,t[8]=i*o,t[1]=i*s,t[5]=i*E,t[9]=-I,t[2]=e*I-g,t[6]=B+A*I,t[10]=i*Q}else if("ZXY"===A.order){const A=Q*E,e=Q*s,g=o*E,B=o*s;t[0]=A-B*I,t[4]=-i*s,t[8]=g+e*I,t[1]=e+g*I,t[5]=i*E,t[9]=B-A*I,t[2]=-i*o,t[6]=I,t[10]=i*Q}else if("ZYX"===A.order){const A=i*E,e=i*s,g=I*E,B=I*s;t[0]=Q*E,t[4]=g*o-e,t[8]=A*o+B,t[1]=Q*s,t[5]=B*o+A,t[9]=e*o-g,t[2]=-o,t[6]=I*Q,t[10]=i*Q}else if("YZX"===A.order){const A=i*Q,e=i*o,g=I*Q,B=I*o;t[0]=Q*E,t[4]=B-A*s,t[8]=g*s+e,t[1]=s,t[5]=i*E,t[9]=-I*E,t[2]=-o*E,t[6]=e*s+g,t[10]=A-B*s}else if("XZY"===A.order){const A=i*Q,e=i*o,g=I*Q,B=I*o;t[0]=Q*E,t[4]=-s,t[8]=o*E,t[1]=A*s+B,t[5]=i*E,t[9]=e*s-g,t[2]=g*s-e,t[6]=I*E,t[10]=B*s+A}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(A){return this.compose(sB,A,nB)}lookAt(A,t,e){const g=this.elements;return rB.subVectors(A,t),0===rB.lengthSq()&&(rB.z=1),rB.normalize(),CB.crossVectors(e,rB),0===CB.lengthSq()&&(1===Math.abs(e.z)?rB.x+=1e-4:rB.z+=1e-4,rB.normalize(),CB.crossVectors(e,rB)),CB.normalize(),aB.crossVectors(rB,CB),g[0]=CB.x,g[4]=aB.x,g[8]=rB.x,g[1]=CB.y,g[5]=aB.y,g[9]=rB.y,g[2]=CB.z,g[6]=aB.z,g[10]=rB.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,g=t.elements,B=this.elements,i=e[0],I=e[4],Q=e[8],o=e[12],E=e[1],s=e[5],n=e[9],C=e[13],a=e[2],r=e[6],c=e[10],l=e[14],h=e[3],d=e[7],u=e[11],w=e[15],D=g[0],p=g[4],m=g[8],f=g[12],y=g[1],F=g[5],R=g[9],G=g[13],M=g[2],U=g[6],S=g[10],H=g[14],N=g[3],b=g[7],k=g[11],Y=g[15];return B[0]=i*D+I*y+Q*M+o*N,B[4]=i*p+I*F+Q*U+o*b,B[8]=i*m+I*R+Q*S+o*k,B[12]=i*f+I*G+Q*H+o*Y,B[1]=E*D+s*y+n*M+C*N,B[5]=E*p+s*F+n*U+C*b,B[9]=E*m+s*R+n*S+C*k,B[13]=E*f+s*G+n*H+C*Y,B[2]=a*D+r*y+c*M+l*N,B[6]=a*p+r*F+c*U+l*b,B[10]=a*m+r*R+c*S+l*k,B[14]=a*f+r*G+c*H+l*Y,B[3]=h*D+d*y+u*M+w*N,B[7]=h*p+d*F+u*U+w*b,B[11]=h*m+d*R+u*S+w*k,B[15]=h*f+d*G+u*H+w*Y,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[4]*=A,t[8]*=A,t[12]*=A,t[1]*=A,t[5]*=A,t[9]*=A,t[13]*=A,t[2]*=A,t[6]*=A,t[10]*=A,t[14]*=A,t[3]*=A,t[7]*=A,t[11]*=A,t[15]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[4],g=A[8],B=A[12],i=A[1],I=A[5],Q=A[9],o=A[13],E=A[2],s=A[6],n=A[10],C=A[14];return A[3]*(+B*Q*s-g*o*s-B*I*n+e*o*n+g*I*C-e*Q*C)+A[7]*(+t*Q*C-t*o*n+B*i*n-g*i*C+g*o*E-B*Q*E)+A[11]*(+t*o*s-t*I*C-B*i*s+e*i*C+B*I*E-e*o*E)+A[15]*(-g*I*E-t*Q*s+t*I*n+g*i*s-e*i*n+e*Q*E)}transpose(){const A=this.elements;let t;return t=A[1],A[1]=A[4],A[4]=t,t=A[2],A[2]=A[8],A[8]=t,t=A[6],A[6]=A[9],A[9]=t,t=A[3],A[3]=A[12],A[12]=t,t=A[7],A[7]=A[13],A[13]=t,t=A[11],A[11]=A[14],A[14]=t,this}setPosition(A,t,e){const g=this.elements;return A.isVector3?(g[12]=A.x,g[13]=A.y,g[14]=A.z):(g[12]=A,g[13]=t,g[14]=e),this}invert(){const A=this.elements,t=A[0],e=A[1],g=A[2],B=A[3],i=A[4],I=A[5],Q=A[6],o=A[7],E=A[8],s=A[9],n=A[10],C=A[11],a=A[12],r=A[13],c=A[14],l=A[15],h=s*c*o-r*n*o+r*Q*C-I*c*C-s*Q*l+I*n*l,d=a*n*o-E*c*o-a*Q*C+i*c*C+E*Q*l-i*n*l,u=E*r*o-a*s*o+a*I*C-i*r*C-E*I*l+i*s*l,w=a*s*Q-E*r*Q-a*I*n+i*r*n+E*I*c-i*s*c,D=t*h+e*d+g*u+B*w;if(0===D)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const p=1/D;return A[0]=h*p,A[1]=(r*n*B-s*c*B-r*g*C+e*c*C+s*g*l-e*n*l)*p,A[2]=(I*c*B-r*Q*B+r*g*o-e*c*o-I*g*l+e*Q*l)*p,A[3]=(s*Q*B-I*n*B-s*g*o+e*n*o+I*g*C-e*Q*C)*p,A[4]=d*p,A[5]=(E*c*B-a*n*B+a*g*C-t*c*C-E*g*l+t*n*l)*p,A[6]=(a*Q*B-i*c*B-a*g*o+t*c*o+i*g*l-t*Q*l)*p,A[7]=(i*n*B-E*Q*B+E*g*o-t*n*o-i*g*C+t*Q*C)*p,A[8]=u*p,A[9]=(a*s*B-E*r*B-a*e*C+t*r*C+E*e*l-t*s*l)*p,A[10]=(i*r*B-a*I*B+a*e*o-t*r*o-i*e*l+t*I*l)*p,A[11]=(E*I*B-i*s*B-E*e*o+t*s*o+i*e*C-t*I*C)*p,A[12]=w*p,A[13]=(E*r*g-a*s*g+a*e*n-t*r*n-E*e*c+t*s*c)*p,A[14]=(a*I*g-i*r*g-a*e*Q+t*r*Q+i*e*c-t*I*c)*p,A[15]=(i*s*g-E*I*g+E*e*Q-t*s*Q-i*e*n+t*I*n)*p,this}scale(A){const t=this.elements,e=A.x,g=A.y,B=A.z;return t[0]*=e,t[4]*=g,t[8]*=B,t[1]*=e,t[5]*=g,t[9]*=B,t[2]*=e,t[6]*=g,t[10]*=B,t[3]*=e,t[7]*=g,t[11]*=B,this}getMaxScaleOnAxis(){const A=this.elements,t=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],e=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],g=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(t,e,g))}makeTranslation(A,t,e){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,t,0,0,1,e,0,0,0,1),this}makeRotationX(A){const t=Math.cos(A),e=Math.sin(A);return this.set(1,0,0,0,0,t,-e,0,0,e,t,0,0,0,0,1),this}makeRotationY(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,0,e,0,0,1,0,0,-e,0,t,0,0,0,0,1),this}makeRotationZ(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,0,e,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,t){const e=Math.cos(t),g=Math.sin(t),B=1-e,i=A.x,I=A.y,Q=A.z,o=B*i,E=B*I;return this.set(o*i+e,o*I-g*Q,o*Q+g*I,0,o*I+g*Q,E*I+e,E*Q-g*i,0,o*Q-g*I,E*Q+g*i,B*Q*Q+e,0,0,0,0,1),this}makeScale(A,t,e){return this.set(A,0,0,0,0,t,0,0,0,0,e,0,0,0,0,1),this}makeShear(A,t,e,g,B,i){return this.set(1,e,B,0,A,1,i,0,t,g,1,0,0,0,0,1),this}compose(A,t,e){const g=this.elements,B=t._x,i=t._y,I=t._z,Q=t._w,o=B+B,E=i+i,s=I+I,n=B*o,C=B*E,a=B*s,r=i*E,c=i*s,l=I*s,h=Q*o,d=Q*E,u=Q*s,w=e.x,D=e.y,p=e.z;return g[0]=(1-(r+l))*w,g[1]=(C+u)*w,g[2]=(a-d)*w,g[3]=0,g[4]=(C-u)*D,g[5]=(1-(n+l))*D,g[6]=(c+h)*D,g[7]=0,g[8]=(a+d)*p,g[9]=(c-h)*p,g[10]=(1-(n+r))*p,g[11]=0,g[12]=A.x,g[13]=A.y,g[14]=A.z,g[15]=1,this}decompose(A,t,e){const g=this.elements;let B=oB.set(g[0],g[1],g[2]).length();const i=oB.set(g[4],g[5],g[6]).length(),I=oB.set(g[8],g[9],g[10]).length();this.determinant()<0&&(B=-B),A.x=g[12],A.y=g[13],A.z=g[14],EB.copy(this);const Q=1/B,o=1/i,E=1/I;return EB.elements[0]*=Q,EB.elements[1]*=Q,EB.elements[2]*=Q,EB.elements[4]*=o,EB.elements[5]*=o,EB.elements[6]*=o,EB.elements[8]*=E,EB.elements[9]*=E,EB.elements[10]*=E,t.setFromRotationMatrix(EB),e.x=B,e.y=i,e.z=I,this}makePerspective(A,t,e,g,B,i,I=Le){const Q=this.elements,o=2*B/(t-A),E=2*B/(e-g),s=(t+A)/(t-A),n=(e+g)/(e-g);let C,a;if(I===Le)C=-(i+B)/(i-B),a=-2*i*B/(i-B);else{if(I!==Ve)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+I);C=-i/(i-B),a=-i*B/(i-B)}return Q[0]=o,Q[4]=0,Q[8]=s,Q[12]=0,Q[1]=0,Q[5]=E,Q[9]=n,Q[13]=0,Q[2]=0,Q[6]=0,Q[10]=C,Q[14]=a,Q[3]=0,Q[7]=0,Q[11]=-1,Q[15]=0,this}makeOrthographic(A,t,e,g,B,i,I=Le){const Q=this.elements,o=1/(t-A),E=1/(e-g),s=1/(i-B),n=(t+A)*o,C=(e+g)*E;let a,r;if(I===Le)a=(i+B)*s,r=-2*s;else{if(I!==Ve)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+I);a=B*s,r=-1*s}return Q[0]=2*o,Q[4]=0,Q[8]=0,Q[12]=-n,Q[1]=0,Q[5]=2*E,Q[9]=0,Q[13]=-C,Q[2]=0,Q[6]=0,Q[10]=r,Q[14]=-a,Q[3]=0,Q[7]=0,Q[11]=0,Q[15]=1,this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<16;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<16;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A[t+9]=e[9],A[t+10]=e[10],A[t+11]=e[11],A[t+12]=e[12],A[t+13]=e[13],A[t+14]=e[14],A[t+15]=e[15],A}}const oB=new Sg,EB=new QB,sB=new Sg(0,0,0),nB=new Sg(1,1,1),CB=new Sg,aB=new Sg,rB=new Sg,cB=new QB,lB=new Ug;class hB{constructor(A=0,t=0,e=0,g=hB.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=t,this._z=e,this._order=g}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,t,e,g=this._order){return this._x=A,this._y=t,this._z=e,this._order=g,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,t=this._order,e=!0){const g=A.elements,B=g[0],i=g[4],I=g[8],Q=g[1],o=g[5],E=g[9],s=g[2],n=g[6],C=g[10];switch(t){case"XYZ":this._y=Math.asin(Pe(I,-1,1)),Math.abs(I)<.9999999?(this._x=Math.atan2(-E,C),this._z=Math.atan2(-i,B)):(this._x=Math.atan2(n,o),this._z=0);break;case"YXZ":this._x=Math.asin(-Pe(E,-1,1)),Math.abs(E)<.9999999?(this._y=Math.atan2(I,C),this._z=Math.atan2(Q,o)):(this._y=Math.atan2(-s,B),this._z=0);break;case"ZXY":this._x=Math.asin(Pe(n,-1,1)),Math.abs(n)<.9999999?(this._y=Math.atan2(-s,C),this._z=Math.atan2(-i,o)):(this._y=0,this._z=Math.atan2(Q,B));break;case"ZYX":this._y=Math.asin(-Pe(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(n,C),this._z=Math.atan2(Q,B)):(this._x=0,this._z=Math.atan2(-i,o));break;case"YZX":this._z=Math.asin(Pe(Q,-1,1)),Math.abs(Q)<.9999999?(this._x=Math.atan2(-E,o),this._y=Math.atan2(-s,B)):(this._x=0,this._y=Math.atan2(I,C));break;case"XZY":this._z=Math.asin(-Pe(i,-1,1)),Math.abs(i)<.9999999?(this._x=Math.atan2(n,o),this._y=Math.atan2(I,B)):(this._x=Math.atan2(-E,C),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===e&&this._onChangeCallback(),this}setFromQuaternion(A,t,e){return cB.makeRotationFromQuaternion(A),this.setFromRotationMatrix(cB,t,e)}setFromVector3(A,t=this._order){return this.set(A.x,A.y,A.z,t)}reorder(A){return lB.setFromEuler(this),this.setFromQuaternion(lB,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}hB.DEFAULT_ORDER="XYZ";class dB{constructor(){this.mask=1}set(A){this.mask=1<>>0}enable(A){this.mask|=1<1){for(let A=0;A1){for(let A=0;A0&&(g.userData=this.userData),g.layers=this.layers.mask,g.matrix=this.matrix.toArray(),g.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(g.matrixAutoUpdate=!1),this.isInstancedMesh&&(g.type="InstancedMesh",g.count=this.count,g.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(g.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(g.type="BatchedMesh",g.perObjectFrustumCulled=this.perObjectFrustumCulled,g.sortObjects=this.sortObjects,g.drawRanges=this._drawRanges,g.reservedRanges=this._reservedRanges,g.visibility=this._visibility,g.active=this._active,g.bounds=this._bounds.map((A=>({boxInitialized:A.boxInitialized,boxMin:A.box.min.toArray(),boxMax:A.box.max.toArray(),sphereInitialized:A.sphereInitialized,sphereRadius:A.sphere.radius,sphereCenter:A.sphere.center.toArray()}))),g.maxGeometryCount=this._maxGeometryCount,g.maxVertexCount=this._maxVertexCount,g.maxIndexCount=this._maxIndexCount,g.geometryInitialized=this._geometryInitialized,g.geometryCount=this._geometryCount,g.matricesTexture=this._matricesTexture.toJSON(A),null!==this.boundingSphere&&(g.boundingSphere={center:g.boundingSphere.center.toArray(),radius:g.boundingSphere.radius}),null!==this.boundingBox&&(g.boundingBox={min:g.boundingBox.min.toArray(),max:g.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?g.background=this.background.toJSON():this.background.isTexture&&(g.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(g.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){g.geometry=B(A.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const e=t.shapes;if(Array.isArray(e))for(let t=0,g=e.length;t0){g.children=[];for(let t=0;t0){g.animations=[];for(let t=0;t0&&(e.geometries=t),g.length>0&&(e.materials=g),B.length>0&&(e.textures=B),I.length>0&&(e.images=I),Q.length>0&&(e.shapes=Q),o.length>0&&(e.skeletons=o),E.length>0&&(e.animations=E),s.length>0&&(e.nodes=s)}return e.object=g,e;function i(A){const t=[];for(const e in A){const g=A[e];delete g.metadata,t.push(g)}return t}}clone(A){return(new this.constructor).copy(this,A)}copy(A,t=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations.slice(),this.userData=JSON.parse(JSON.stringify(A.userData)),!0===t)for(let t=0;t0?g.multiplyScalar(1/Math.sqrt(B)):g.set(0,0,0)}static getBarycoord(A,t,e,g,B){kB.subVectors(g,t),YB.subVectors(e,t),xB.subVectors(A,t);const i=kB.dot(kB),I=kB.dot(YB),Q=kB.dot(xB),o=YB.dot(YB),E=YB.dot(xB),s=i*o-I*I;if(0===s)return B.set(0,0,0),null;const n=1/s,C=(o*Q-I*E)*n,a=(i*E-I*Q)*n;return B.set(1-C-a,a,C)}static containsPoint(A,t,e,g){return null!==this.getBarycoord(A,t,e,g,JB)&&JB.x>=0&&JB.y>=0&&JB.x+JB.y<=1}static getInterpolation(A,t,e,g,B,i,I,Q){return null===this.getBarycoord(A,t,e,g,JB)?(Q.x=0,Q.y=0,"z"in Q&&(Q.z=0),"w"in Q&&(Q.w=0),null):(Q.setScalar(0),Q.addScaledVector(B,JB.x),Q.addScaledVector(i,JB.y),Q.addScaledVector(I,JB.z),Q)}static isFrontFacing(A,t,e,g){return kB.subVectors(e,t),YB.subVectors(A,t),kB.cross(YB).dot(g)<0}set(A,t,e){return this.a.copy(A),this.b.copy(t),this.c.copy(e),this}setFromPointsAndIndices(A,t,e,g){return this.a.copy(A[t]),this.b.copy(A[e]),this.c.copy(A[g]),this}setFromAttributeAndIndices(A,t,e,g){return this.a.fromBufferAttribute(A,t),this.b.fromBufferAttribute(A,e),this.c.fromBufferAttribute(A,g),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return kB.subVectors(this.c,this.b),YB.subVectors(this.a,this.b),.5*kB.cross(YB).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return vB.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,t){return vB.getBarycoord(A,this.a,this.b,this.c,t)}getInterpolation(A,t,e,g,B){return vB.getInterpolation(A,this.a,this.b,this.c,t,e,g,B)}containsPoint(A){return vB.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return vB.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,t){const e=this.a,g=this.b,B=this.c;let i,I;LB.subVectors(g,e),VB.subVectors(B,e),ZB.subVectors(A,e);const Q=LB.dot(ZB),o=VB.dot(ZB);if(Q<=0&&o<=0)return t.copy(e);TB.subVectors(A,g);const E=LB.dot(TB),s=VB.dot(TB);if(E>=0&&s<=E)return t.copy(g);const n=Q*s-E*o;if(n<=0&&Q>=0&&E<=0)return i=Q/(Q-E),t.copy(e).addScaledVector(LB,i);WB.subVectors(A,B);const C=LB.dot(WB),a=VB.dot(WB);if(a>=0&&C<=a)return t.copy(B);const r=C*o-Q*a;if(r<=0&&o>=0&&a<=0)return I=o/(o-a),t.copy(e).addScaledVector(VB,I);const c=E*a-C*s;if(c<=0&&s-E>=0&&C-a>=0)return KB.subVectors(B,g),I=(s-E)/(s-E+(C-a)),t.copy(g).addScaledVector(KB,I);const l=1/(c+r+n);return i=r*l,I=n*l,t.copy(e).addScaledVector(LB,i).addScaledVector(VB,I)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const XB={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},PB={h:0,s:0,l:0},_B={h:0,s:0,l:0};function OB(A,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?A+6*(t-A)*e:e<.5?t:e<2/3?A+6*(t-A)*(2/3-e):A}class zB{constructor(A,t,e){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,t,e)}set(A,t,e){if(void 0===t&&void 0===e){const t=A;t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t)}else this.setRGB(A,t,e);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,t=zt){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,ag.toWorkingColorSpace(this,t),this}setRGB(A,t,e,g=ag.workingColorSpace){return this.r=A,this.g=t,this.b=e,ag.toWorkingColorSpace(this,g),this}setHSL(A,t,e,g=ag.workingColorSpace){if(A=_e(A,1),t=Pe(t,0,1),e=Pe(e,0,1),0===t)this.r=this.g=this.b=e;else{const g=e<=.5?e*(1+t):e+t-e*t,B=2*e-g;this.r=OB(B,g,A+1/3),this.g=OB(B,g,A),this.b=OB(B,g,A-1/3)}return ag.toWorkingColorSpace(this,g),this}setStyle(A,t=zt){function e(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let g;if(g=/^(\w+)\(([^\)]*)\)/.exec(A)){let B;const i=g[1],I=g[2];switch(i){case"rgb":case"rgba":if(B=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(I))return e(B[4]),this.setRGB(Math.min(255,parseInt(B[1],10))/255,Math.min(255,parseInt(B[2],10))/255,Math.min(255,parseInt(B[3],10))/255,t);if(B=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(I))return e(B[4]),this.setRGB(Math.min(100,parseInt(B[1],10))/100,Math.min(100,parseInt(B[2],10))/100,Math.min(100,parseInt(B[3],10))/100,t);break;case"hsl":case"hsla":if(B=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(I))return e(B[4]),this.setHSL(parseFloat(B[1])/360,parseFloat(B[2])/100,parseFloat(B[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(g=/^\#([A-Fa-f\d]+)$/.exec(A)){const e=g[1],B=e.length;if(3===B)return this.setRGB(parseInt(e.charAt(0),16)/15,parseInt(e.charAt(1),16)/15,parseInt(e.charAt(2),16)/15,t);if(6===B)return this.setHex(parseInt(e,16),t);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,t);return this}setColorName(A,t=zt){const e=XB[A.toLowerCase()];return void 0!==e?this.setHex(e,t):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=rg(A.r),this.g=rg(A.g),this.b=rg(A.b),this}copyLinearToSRGB(A){return this.r=cg(A.r),this.g=cg(A.g),this.b=cg(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=zt){return ag.fromWorkingColorSpace(qB.copy(this),A),65536*Math.round(Pe(255*qB.r,0,255))+256*Math.round(Pe(255*qB.g,0,255))+Math.round(Pe(255*qB.b,0,255))}getHexString(A=zt){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,t=ag.workingColorSpace){ag.fromWorkingColorSpace(qB.copy(this),t);const e=qB.r,g=qB.g,B=qB.b,i=Math.max(e,g,B),I=Math.min(e,g,B);let Q,o;const E=(I+i)/2;if(I===i)Q=0,o=0;else{const A=i-I;switch(o=E<=.5?A/(i+I):A/(2-i-I),i){case e:Q=(g-B)/A+(g0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const t in A){const e=A[t];if(void 0===e){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const g=this[t];void 0!==g?g&&g.isColor?g.set(e):g&&g.isVector3&&e&&e.isVector3?g.copy(e):this[t]=e:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(A){const t=void 0===A||"string"==typeof A;t&&(A={textures:{},images:{}});const e={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function g(A){const t=[];for(const e in A){const g=A[e];delete g.metadata,t.push(g)}return t}if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),this.color&&this.color.isColor&&(e.color=this.color.getHex()),void 0!==this.roughness&&(e.roughness=this.roughness),void 0!==this.metalness&&(e.metalness=this.metalness),void 0!==this.sheen&&(e.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(e.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(e.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(e.emissive=this.emissive.getHex()),void 0!==this.emissiveIntensity&&1!==this.emissiveIntensity&&(e.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(e.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(e.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(e.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(e.shininess=this.shininess),void 0!==this.clearcoat&&(e.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(e.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(e.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(e.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(e.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,e.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(e.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(e.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(e.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(e.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(e.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),void 0!==this.anisotropy&&(e.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(e.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(e.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(e.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(e.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(e.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(e.lightMap=this.lightMap.toJSON(A).uuid,e.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(e.aoMap=this.aoMap.toJSON(A).uuid,e.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(e.bumpMap=this.bumpMap.toJSON(A).uuid,e.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(e.normalMap=this.normalMap.toJSON(A).uuid,e.normalMapType=this.normalMapType,e.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(e.displacementMap=this.displacementMap.toJSON(A).uuid,e.displacementScale=this.displacementScale,e.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(e.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(e.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(e.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(e.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(e.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(e.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(e.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(e.combine=this.combine)),void 0!==this.envMapRotation&&(e.envMapRotation=this.envMapRotation.toArray()),void 0!==this.envMapIntensity&&(e.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(e.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(e.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(e.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(e.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(e.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(e.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(e.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(e.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(e.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(e.size=this.size),null!==this.shadowSide&&(e.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(e.sizeAttenuation=this.sizeAttenuation),this.blending!==d&&(e.blending=this.blending),this.side!==r&&(e.side=this.side),!0===this.vertexColors&&(e.vertexColors=!0),this.opacity<1&&(e.opacity=this.opacity),!0===this.transparent&&(e.transparent=!0),this.blendSrc!==H&&(e.blendSrc=this.blendSrc),this.blendDst!==N&&(e.blendDst=this.blendDst),this.blendEquation!==m&&(e.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(e.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(e.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(e.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(e.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(e.blendAlpha=this.blendAlpha),this.depthFunc!==X&&(e.depthFunc=this.depthFunc),!1===this.depthTest&&(e.depthTest=this.depthTest),!1===this.depthWrite&&(e.depthWrite=this.depthWrite),!1===this.colorWrite&&(e.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(e.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==ue&&(e.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(e.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(e.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ie&&(e.stencilFail=this.stencilFail),this.stencilZFail!==ie&&(e.stencilZFail=this.stencilZFail),this.stencilZPass!==ie&&(e.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(e.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(e.rotation=this.rotation),!0===this.polygonOffset&&(e.polygonOffset=!0),0!==this.polygonOffsetFactor&&(e.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(e.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(e.linewidth=this.linewidth),void 0!==this.dashSize&&(e.dashSize=this.dashSize),void 0!==this.gapSize&&(e.gapSize=this.gapSize),void 0!==this.scale&&(e.scale=this.scale),!0===this.dithering&&(e.dithering=!0),this.alphaTest>0&&(e.alphaTest=this.alphaTest),!0===this.alphaHash&&(e.alphaHash=!0),!0===this.alphaToCoverage&&(e.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(e.premultipliedAlpha=!0),!0===this.forceSinglePass&&(e.forceSinglePass=!0),!0===this.wireframe&&(e.wireframe=!0),this.wireframeLinewidth>1&&(e.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(e.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(e.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(e.flatShading=!0),!1===this.visible&&(e.visible=!1),!1===this.toneMapped&&(e.toneMapped=!1),!1===this.fog&&(e.fog=!1),Object.keys(this.userData).length>0&&(e.userData=this.userData),t){const t=g(A.textures),B=g(A.images);t.length>0&&(e.textures=t),B.length>0&&(e.images=B)}return e}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.blendColor.copy(A.blendColor),this.blendAlpha=A.blendAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const t=A.clippingPlanes;let e=null;if(null!==t){const A=t.length;e=new Array(A);for(let g=0;g!==A;++g)e[g]=t[g].clone()}return this.clippingPlanes=e,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaHash=A.alphaHash,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}class Ai extends $B{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new zB(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.envMapRotation=new hB,this.combine=q,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const ti=ei();function ei(){const A=new ArrayBuffer(4),t=new Float32Array(A),e=new Uint32Array(A),g=new Uint32Array(512),B=new Uint32Array(512);for(let A=0;A<256;++A){const t=A-127;t<-27?(g[A]=0,g[256|A]=32768,B[A]=24,B[256|A]=24):t<-14?(g[A]=1024>>-t-14,g[256|A]=1024>>-t-14|32768,B[A]=-t-1,B[256|A]=-t-1):t<=15?(g[A]=t+15<<10,g[256|A]=t+15<<10|32768,B[A]=13,B[256|A]=13):t<128?(g[A]=31744,g[256|A]=64512,B[A]=24,B[256|A]=24):(g[A]=31744,g[256|A]=64512,B[A]=13,B[256|A]=13)}const i=new Uint32Array(2048),I=new Uint32Array(64),Q=new Uint32Array(64);for(let A=1;A<1024;++A){let t=A<<13,e=0;for(;!(8388608&t);)t<<=1,e-=8388608;t&=-8388609,e+=947912704,i[A]=t|e}for(let A=1024;A<2048;++A)i[A]=939524096+(A-1024<<13);for(let A=1;A<31;++A)I[A]=A<<23;I[31]=1199570944,I[32]=2147483648;for(let A=33;A<63;++A)I[A]=2147483648+(A-32<<23);I[63]=3347054592;for(let A=1;A<64;++A)32!==A&&(Q[A]=1024);return{floatView:t,uint32View:e,baseTable:g,shiftTable:B,mantissaTable:i,exponentTable:I,offsetTable:Q}}function gi(A){Math.abs(A)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),A=Pe(A,-65504,65504),ti.floatView[0]=A;const t=ti.uint32View[0],e=t>>23&511;return ti.baseTable[e]+((8388607&t)>>ti.shiftTable[e])}function Bi(A){const t=A>>10;return ti.uint32View[0]=ti.mantissaTable[ti.offsetTable[t]+(1023&A)]+ti.exponentTable[t],ti.floatView[0]}const ii={toHalfFloat:gi,fromHalfFloat:Bi},Ii=new Sg,Qi=new $e;class oi{constructor(A,t,e=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=t,this.count=void 0!==A?A.length/t:0,this.normalized=e,this.usage=Ge,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=kA,this.version=0}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}get updateRange(){return og("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,t){this.updateRanges.push({start:A,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,t,e){A*=this.itemSize,e*=t.itemSize;for(let g=0,B=this.itemSize;g0&&(A.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const e in t)void 0!==t[e]&&(A[e]=t[e]);return A}A.data={attributes:{}};const t=this.index;null!==t&&(A.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const e=this.attributes;for(const t in e){const g=e[t];A.data.attributes[t]=g.toJSON(A.data)}const g={};let B=!1;for(const t in this.morphAttributes){const e=this.morphAttributes[t],i=[];for(let t=0,g=e.length;t0&&(g[t]=i,B=!0)}B&&(A.data.morphAttributes=g,A.data.morphTargetsRelative=this.morphTargetsRelative);const i=this.groups;i.length>0&&(A.data.groups=JSON.parse(JSON.stringify(i)));const I=this.boundingSphere;return null!==I&&(A.data.boundingSphere={center:I.center.toArray(),radius:I.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=A.name;const e=A.index;null!==e&&this.setIndex(e.clone(t));const g=A.attributes;for(const A in g){const e=g[A];this.setAttribute(A,e.clone(t))}const B=A.morphAttributes;for(const A in B){const e=[],g=B[A];for(let A=0,B=g.length;A0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;A(A.far-A.near)**2)return}Fi.copy(B).invert(),Ri.copy(A.ray).applyMatrix4(Fi),null!==e.boundingBox&&!1===Ri.intersectsBox(e.boundingBox)||this._computeIntersections(A,t,Ri)}}_computeIntersections(A,t,e){let g;const B=this.geometry,i=this.material,I=B.index,Q=B.attributes.position,o=B.attributes.uv,E=B.attributes.uv1,s=B.attributes.normal,n=B.groups,C=B.drawRange;if(null!==I)if(Array.isArray(i))for(let B=0,Q=n.length;Be.far?null:{distance:E,point:Zi.clone(),object:A}}(A,t,e,g,Ui,Si,Hi,Ki);if(s){B&&(ki.fromBufferAttribute(B,Q),Yi.fromBufferAttribute(B,o),xi.fromBufferAttribute(B,E),s.uv=vB.getInterpolation(Ki,Ui,Si,Hi,ki,Yi,xi,new $e)),i&&(ki.fromBufferAttribute(i,Q),Yi.fromBufferAttribute(i,o),xi.fromBufferAttribute(i,E),s.uv1=vB.getInterpolation(Ki,Ui,Si,Hi,ki,Yi,xi,new $e)),I&&(Ji.fromBufferAttribute(I,Q),Li.fromBufferAttribute(I,o),Vi.fromBufferAttribute(I,E),s.normal=vB.getInterpolation(Ki,Ui,Si,Hi,Ji,Li,Vi,new Sg),s.normal.dot(g.direction)>0&&s.normal.multiplyScalar(-1));const A={a:Q,b:o,c:E,normal:new Sg,materialIndex:0};vB.getNormal(Ui,Si,Hi,A.normal),s.face=A}return s}class vi extends yi{constructor(A=1,t=1,e=1,g=1,B=1,i=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:t,depth:e,widthSegments:g,heightSegments:B,depthSegments:i};const I=this;g=Math.floor(g),B=Math.floor(B),i=Math.floor(i);const Q=[],o=[],E=[],s=[];let n=0,C=0;function a(A,t,e,g,B,i,a,r,c,l,h){const d=i/c,u=a/l,w=i/2,D=a/2,p=r/2,m=c+1,f=l+1;let y=0,F=0;const R=new Sg;for(let i=0;i0?1:-1,E.push(R.x,R.y,R.z),s.push(Q/c),s.push(1-i/l),y+=1}}for(let A=0;A0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const e={};for(const A in this.extensions)!0===this.extensions[A]&&(e[A]=!0);return Object.keys(e).length>0&&(t.extensions=e),t}}class qi extends bB{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new QB,this.projectionMatrix=new QB,this.projectionMatrixInverse=new QB,this.coordinateSystem=Le}copy(A,t){return super.copy(A,t),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){return super.getWorldDirection(A).negate()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,t){super.updateWorldMatrix(A,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}const ji=new Sg,$i=new $e,AI=new $e;class tI extends qi{constructor(A=50,t=1,e=.1,g=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=e,this.far=g,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const t=.5*this.getFilmHeight()/A;this.fov=2*ve*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*We*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*ve*Math.atan(Math.tan(.5*We*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(A,t,e){ji.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(ji.x,ji.y).multiplyScalar(-A/ji.z),ji.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(ji.x,ji.y).multiplyScalar(-A/ji.z)}getViewSize(A,t){return this.getViewBounds(A,$i,AI),t.subVectors(AI,$i)}setViewOffset(A,t,e,g,B,i){this.aspect=A/t,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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=g,this.view.width=B,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let t=A*Math.tan(.5*We*this.fov)/this.zoom,e=2*t,g=this.aspect*e,B=-.5*g;const i=this.view;if(null!==this.view&&this.view.enabled){const A=i.fullWidth,I=i.fullHeight;B+=i.offsetX*g/A,t-=i.offsetY*e/I,g*=i.width/A,e*=i.height/I}const I=this.filmOffset;0!==I&&(B+=A*I/this.getFilmWidth()),this.projectionMatrix.makePerspective(B,B+g,t,t-e,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const eI=-90;class gI extends bB{constructor(A,t,e){super(),this.type="CubeCamera",this.renderTarget=e,this.coordinateSystem=null,this.activeMipmapLevel=0;const g=new tI(eI,1,A,t);g.layers=this.layers,this.add(g);const B=new tI(eI,1,A,t);B.layers=this.layers,this.add(B);const i=new tI(eI,1,A,t);i.layers=this.layers,this.add(i);const I=new tI(eI,1,A,t);I.layers=this.layers,this.add(I);const Q=new tI(eI,1,A,t);Q.layers=this.layers,this.add(Q);const o=new tI(eI,1,A,t);o.layers=this.layers,this.add(o)}updateCoordinateSystem(){const A=this.coordinateSystem,t=this.children.concat(),[e,g,B,i,I,Q]=t;for(const A of t)this.remove(A);if(A===Le)e.up.set(0,1,0),e.lookAt(1,0,0),g.up.set(0,1,0),g.lookAt(-1,0,0),B.up.set(0,0,-1),B.lookAt(0,1,0),i.up.set(0,0,1),i.lookAt(0,-1,0),I.up.set(0,1,0),I.lookAt(0,0,1),Q.up.set(0,1,0),Q.lookAt(0,0,-1);else{if(A!==Ve)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);e.up.set(0,-1,0),e.lookAt(-1,0,0),g.up.set(0,-1,0),g.lookAt(1,0,0),B.up.set(0,0,1),B.lookAt(0,1,0),i.up.set(0,0,-1),i.lookAt(0,-1,0),I.up.set(0,-1,0),I.lookAt(0,0,1),Q.up.set(0,-1,0),Q.lookAt(0,0,-1)}for(const A of t)this.add(A),A.updateMatrixWorld()}update(A,t){null===this.parent&&this.updateMatrixWorld();const{renderTarget:e,activeMipmapLevel:g}=this;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[B,i,I,Q,o,E]=this.children,s=A.getRenderTarget(),n=A.getActiveCubeFace(),C=A.getActiveMipmapLevel(),a=A.xr.enabled;A.xr.enabled=!1;const r=e.texture.generateMipmaps;e.texture.generateMipmaps=!1,A.setRenderTarget(e,0,g),A.render(t,B),A.setRenderTarget(e,1,g),A.render(t,i),A.setRenderTarget(e,2,g),A.render(t,I),A.setRenderTarget(e,3,g),A.render(t,Q),A.setRenderTarget(e,4,g),A.render(t,o),e.texture.generateMipmaps=r,A.setRenderTarget(e,5,g),A.render(t,E),A.setRenderTarget(s,n,C),A.xr.enabled=a,e.texture.needsPMREMUpdate=!0}}class BI extends pg{constructor(A,t,e,g,B,i,I,Q,o,E){super(A=void 0!==A?A:[],t=void 0!==t?t:nA,e,g,B,i,I,Q,o,E),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class iI extends yg{constructor(A=1,t={}){super(A,A,t),this.isWebGLCubeRenderTarget=!0;const e={width:A,height:A,depth:1},g=[e,e,e,e,e,e];this.texture=new BI(g,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:fA}fromEquirectangularTexture(A,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const e={tEquirect:{value:null}},g="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",B="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",i=new vi(5,5,5),I=new zi({name:"CubemapFromEquirect",uniforms:Xi(e),vertexShader:g,fragmentShader:B,side:c,blending:h});I.uniforms.tEquirect.value=t;const Q=new Ti(i,I),o=t.minFilter;return t.minFilter===RA&&(t.minFilter=fA),new gI(1,10,this).update(A,Q),t.minFilter=o,Q.geometry.dispose(),Q.material.dispose(),this}clear(A,t,e,g){const B=A.getRenderTarget();for(let B=0;B<6;B++)A.setRenderTarget(this,B),A.clear(t,e,g);A.setRenderTarget(B)}}const II=new Sg,QI=new Sg,oI=new Ag;class EI{constructor(A=new Sg(1,0,0),t=0){this.isPlane=!0,this.normal=A,this.constant=t}set(A,t){return this.normal.copy(A),this.constant=t,this}setComponents(A,t,e,g){return this.normal.set(A,t,e),this.constant=g,this}setFromNormalAndCoplanarPoint(A,t){return this.normal.copy(A),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(A,t,e){const g=II.subVectors(e,t).cross(QI.subVectors(A,t)).normalize();return this.setFromNormalAndCoplanarPoint(g,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,t){return t.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,t){const e=A.delta(II),g=this.normal.dot(e);if(0===g)return 0===this.distanceToPoint(A.start)?t.copy(A.start):null;const B=-(A.start.dot(this.normal)+this.constant)/g;return B<0||B>1?null:t.copy(A.start).addScaledVector(e,B)}intersectsLine(A){const t=this.distanceToPoint(A.start),e=this.distanceToPoint(A.end);return t<0&&e>0||e<0&&t>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,t){const e=t||oI.getNormalMatrix(A),g=this.coplanarPoint(II).applyMatrix4(A),B=this.normal.applyMatrix3(e).normalize();return this.constant=-g.dot(B),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const sI=new jg,nI=new Sg;class CI{constructor(A=new EI,t=new EI,e=new EI,g=new EI,B=new EI,i=new EI){this.planes=[A,t,e,g,B,i]}set(A,t,e,g,B,i){const I=this.planes;return I[0].copy(A),I[1].copy(t),I[2].copy(e),I[3].copy(g),I[4].copy(B),I[5].copy(i),this}copy(A){const t=this.planes;for(let e=0;e<6;e++)t[e].copy(A.planes[e]);return this}setFromProjectionMatrix(A,t=Le){const e=this.planes,g=A.elements,B=g[0],i=g[1],I=g[2],Q=g[3],o=g[4],E=g[5],s=g[6],n=g[7],C=g[8],a=g[9],r=g[10],c=g[11],l=g[12],h=g[13],d=g[14],u=g[15];if(e[0].setComponents(Q-B,n-o,c-C,u-l).normalize(),e[1].setComponents(Q+B,n+o,c+C,u+l).normalize(),e[2].setComponents(Q+i,n+E,c+a,u+h).normalize(),e[3].setComponents(Q-i,n-E,c-a,u-h).normalize(),e[4].setComponents(Q-I,n-s,c-r,u-d).normalize(),t===Le)e[5].setComponents(Q+I,n+s,c+r,u+d).normalize();else{if(t!==Ve)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);e[5].setComponents(I,s,r,d).normalize()}return this}intersectsObject(A){if(void 0!==A.boundingSphere)null===A.boundingSphere&&A.computeBoundingSphere(),sI.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const t=A.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),sI.copy(t.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(sI)}intersectsSprite(A){return sI.center.set(0,0,0),sI.radius=.7071067811865476,sI.applyMatrix4(A.matrixWorld),this.intersectsSphere(sI)}intersectsSphere(A){const t=this.planes,e=A.center,g=-A.radius;for(let A=0;A<6;A++)if(t[A].distanceToPoint(e)0?A.max.x:A.min.x,nI.y=g.normal.y>0?A.max.y:A.min.y,nI.z=g.normal.z>0?A.max.z:A.min.z,g.distanceToPoint(nI)<0)return!1}return!0}containsPoint(A){const t=this.planes;for(let e=0;e<6;e++)if(t[e].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function aI(){let A=null,t=!1,e=null,g=null;function B(t,i){e(t,i),g=A.requestAnimationFrame(B)}return{start:function(){!0!==t&&null!==e&&(g=A.requestAnimationFrame(B),t=!0)},stop:function(){A.cancelAnimationFrame(g),t=!1},setAnimationLoop:function(A){e=A},setContext:function(t){A=t}}}function rI(A){const t=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),t.get(A)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const g=t.get(e);g&&(A.deleteBuffer(g.buffer),t.delete(e))},update:function(e,g){if(e.isGLBufferAttribute){const A=t.get(e);return void((!A||A.version 0\n\tvec4 plane;\n\t#ifdef ALPHA_TO_COVERAGE\n\t\tfloat distanceToPlane, distanceGradient;\n\t\tfloat clipOpacity = 1.0;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\tif ( clipOpacity == 0.0 ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tfloat unionClipOpacity = 1.0;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\t\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tclipOpacity *= 1.0 - unionClipOpacity;\n\t\t#endif\n\t\tdiffuseColor.a *= clipOpacity;\n\t\tif ( diffuseColor.a == 0.0 ) discard;\n\t#else\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tbool clipped = true;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tif ( clipped ) discard;\n\t\t#endif\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 v ) { return dot( v, vec3( 0.3333333 ) ); }\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};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\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 luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, 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}\nvec3 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} // validated",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\thighp vec2 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 cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_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 ), cubeUV_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_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 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, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\n\tvec3( 0.8224621, 0.177538, 0.0 ),\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\n);\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\n);\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\n}\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\n}\nvec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferOETF( 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}\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn sRGBTransferOETF( value );\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, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\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\tuniform mat3 envMapRotation;\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 ) || defined( LAMBERT )\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 ) || defined( LAMBERT )\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:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * 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#ifdef 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, envMapRotation * 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\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\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\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\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_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\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 ( LEGACY_LIGHTS )\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#else\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#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, 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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\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\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\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( ( material.ior - 1.0 ) / ( material.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, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).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, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).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_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\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\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( 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}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.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\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\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}\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\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\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( 0, 1, 0 ),\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, 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( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, 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:"\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\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, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\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, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\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 ], geometryNormal );\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, vLightMapUv );\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( geometryNormal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF )\n\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\tvFragDepth = 1.0 + gl_Position.w;\n\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\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\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\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\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_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\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, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphinstance_vertex:"#ifdef USE_INSTANCING_MORPH\n\tfloat morphTargetInfluences[MORPHTARGETS_COUNT];\n\tfloat morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\tmorphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\n\t}\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\t#ifndef USE_INSTANCING_MORPH\n\t\tuniform float morphTargetBaseInfluence;\n\t#endif\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\t#ifndef USE_INSTANCING_MORPH\n\t\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\t#endif\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 = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).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( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\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 USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.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 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\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",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\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}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\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 depth, const in float near, const in float far ) {\n\treturn depth * ( 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 depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - 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_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\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, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#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\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\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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\tfloat shadow = 1.0;\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\t\n\t\tfloat lightToPositionLength = length( lightToPosition );\n\t\tif ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\n\t\t\tfloat dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\t\tdp += shadowBias;\n\t\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\t\tshadow = (\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t\t) * ( 1.0 / 9.0 );\n\t\t\t#else\n\t\t\t\tshadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#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\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:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\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, vSpotLightCoord[ 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\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\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, vSpecularMapUv );\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 saturate( 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( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.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}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor *= toneMappingExposure;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\tcolor = clamp( color, 0.0, 1.0 );\n\treturn color;\n}\nvec3 NeutralToneMapping( vec3 color ) {\n\tfloat startCompression = 0.8 - 0.04;\n\tfloat desaturation = 0.15;\n\tcolor *= toneMappingExposure;\n\tfloat x = min(color.r, min(color.g, color.b));\n\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\n\tcolor -= offset;\n\tfloat peak = max(color.r, max(color.g, color.b));\n\tif (peak < startCompression) return color;\n\tfloat d = 1. - startCompression;\n\tfloat newPeak = 1. - d * d / (peak + d - startCompression);\n\tcolor *= newPeak / peak;\n\tfloat g = 1. - 1. / (desaturation * (peak - newPeak) + 1.);\n\treturn mix(color, newPeak * vec3(1, 1, 1), g);\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\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\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\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 lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\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 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\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;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nuniform mat3 backgroundRotation;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_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 USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\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_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},hI={common:{diffuse:{value:new zB(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Ag},alphaMap:{value:null},alphaMapTransform:{value:new Ag},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Ag}},envmap:{envMap:{value:null},envMapRotation:{value:new Ag},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Ag}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Ag}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Ag},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Ag},normalScale:{value:new $e(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Ag},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Ag}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Ag}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Ag}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new zB(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:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{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 zB(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Ag},alphaTest:{value:0},uvTransform:{value:new Ag}},sprite:{diffuse:{value:new zB(16777215)},opacity:{value:1},center:{value:new $e(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Ag},alphaMap:{value:null},alphaMapTransform:{value:new Ag},alphaTest:{value:0}}},dI={basic:{uniforms:Pi([hI.common,hI.specularmap,hI.envmap,hI.aomap,hI.lightmap,hI.fog]),vertexShader:lI.meshbasic_vert,fragmentShader:lI.meshbasic_frag},lambert:{uniforms:Pi([hI.common,hI.specularmap,hI.envmap,hI.aomap,hI.lightmap,hI.emissivemap,hI.bumpmap,hI.normalmap,hI.displacementmap,hI.fog,hI.lights,{emissive:{value:new zB(0)}}]),vertexShader:lI.meshlambert_vert,fragmentShader:lI.meshlambert_frag},phong:{uniforms:Pi([hI.common,hI.specularmap,hI.envmap,hI.aomap,hI.lightmap,hI.emissivemap,hI.bumpmap,hI.normalmap,hI.displacementmap,hI.fog,hI.lights,{emissive:{value:new zB(0)},specular:{value:new zB(1118481)},shininess:{value:30}}]),vertexShader:lI.meshphong_vert,fragmentShader:lI.meshphong_frag},standard:{uniforms:Pi([hI.common,hI.envmap,hI.aomap,hI.lightmap,hI.emissivemap,hI.bumpmap,hI.normalmap,hI.displacementmap,hI.roughnessmap,hI.metalnessmap,hI.fog,hI.lights,{emissive:{value:new zB(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:lI.meshphysical_vert,fragmentShader:lI.meshphysical_frag},toon:{uniforms:Pi([hI.common,hI.aomap,hI.lightmap,hI.emissivemap,hI.bumpmap,hI.normalmap,hI.displacementmap,hI.gradientmap,hI.fog,hI.lights,{emissive:{value:new zB(0)}}]),vertexShader:lI.meshtoon_vert,fragmentShader:lI.meshtoon_frag},matcap:{uniforms:Pi([hI.common,hI.bumpmap,hI.normalmap,hI.displacementmap,hI.fog,{matcap:{value:null}}]),vertexShader:lI.meshmatcap_vert,fragmentShader:lI.meshmatcap_frag},points:{uniforms:Pi([hI.points,hI.fog]),vertexShader:lI.points_vert,fragmentShader:lI.points_frag},dashed:{uniforms:Pi([hI.common,hI.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:lI.linedashed_vert,fragmentShader:lI.linedashed_frag},depth:{uniforms:Pi([hI.common,hI.displacementmap]),vertexShader:lI.depth_vert,fragmentShader:lI.depth_frag},normal:{uniforms:Pi([hI.common,hI.bumpmap,hI.normalmap,hI.displacementmap,{opacity:{value:1}}]),vertexShader:lI.meshnormal_vert,fragmentShader:lI.meshnormal_frag},sprite:{uniforms:Pi([hI.sprite,hI.fog]),vertexShader:lI.sprite_vert,fragmentShader:lI.sprite_frag},background:{uniforms:{uvTransform:{value:new Ag},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:lI.background_vert,fragmentShader:lI.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Ag}},vertexShader:lI.backgroundCube_vert,fragmentShader:lI.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:lI.cube_vert,fragmentShader:lI.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:lI.equirect_vert,fragmentShader:lI.equirect_frag},distanceRGBA:{uniforms:Pi([hI.common,hI.displacementmap,{referencePosition:{value:new Sg},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:lI.distanceRGBA_vert,fragmentShader:lI.distanceRGBA_frag},shadow:{uniforms:Pi([hI.lights,hI.fog,{color:{value:new zB(0)},opacity:{value:1}}]),vertexShader:lI.shadow_vert,fragmentShader:lI.shadow_frag}};dI.physical={uniforms:Pi([dI.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Ag},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Ag},clearcoatNormalScale:{value:new $e(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Ag},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Ag},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Ag},sheen:{value:0},sheenColor:{value:new zB(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Ag},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Ag},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Ag},transmissionSamplerSize:{value:new $e},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Ag},attenuationDistance:{value:0},attenuationColor:{value:new zB(0)},specularColor:{value:new zB(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Ag},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Ag},anisotropyVector:{value:new $e},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Ag}}]),vertexShader:lI.meshphysical_vert,fragmentShader:lI.meshphysical_frag};const uI={r:0,b:0,g:0},wI=new hB,DI=new QB;function pI(A,t,e,g,B,i,I){const Q=new zB(0);let o,E,s=!0===i?0:1,n=null,C=0,a=null;function l(t,e){t.getRGB(uI,_i(A)),g.buffers.color.setClear(uI.r,uI.g,uI.b,e,I)}return{getClearColor:function(){return Q},setClearColor:function(A,t=1){Q.set(A),s=t,l(Q,s)},getClearAlpha:function(){return s},setClearAlpha:function(A){s=A,l(Q,s)},render:function(i,h){let d=!1,u=!0===h.isScene?h.background:null;u&&u.isTexture&&(u=(h.backgroundBlurriness>0?e:t).get(u)),null===u?l(Q,s):u&&u.isColor&&(l(u,1),d=!0);const w=A.xr.getEnvironmentBlendMode();"additive"===w?g.buffers.color.setClear(0,0,0,1,I):"alpha-blend"===w&&g.buffers.color.setClear(0,0,0,0,I),(A.autoClear||d)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),u&&(u.isCubeTexture||u.mapping===cA)?(void 0===E&&(E=new Ti(new vi(1,1,1),new zi({name:"BackgroundCubeMaterial",uniforms:Xi(dI.backgroundCube.uniforms),vertexShader:dI.backgroundCube.vertexShader,fragmentShader:dI.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),E.geometry.deleteAttribute("normal"),E.geometry.deleteAttribute("uv"),E.onBeforeRender=function(A,t,e){this.matrixWorld.copyPosition(e.matrixWorld)},Object.defineProperty(E.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),B.update(E)),wI.copy(h.backgroundRotation),wI.x*=-1,wI.y*=-1,wI.z*=-1,u.isCubeTexture&&!1===u.isRenderTargetTexture&&(wI.y*=-1,wI.z*=-1),E.material.uniforms.envMap.value=u,E.material.uniforms.flipEnvMap.value=u.isCubeTexture&&!1===u.isRenderTargetTexture?-1:1,E.material.uniforms.backgroundBlurriness.value=h.backgroundBlurriness,E.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,E.material.uniforms.backgroundRotation.value.setFromMatrix4(DI.makeRotationFromEuler(wI)),E.material.toneMapped=ag.getTransfer(u.colorSpace)!==te,n===u&&C===u.version&&a===A.toneMapping||(E.material.needsUpdate=!0,n=u,C=u.version,a=A.toneMapping),E.layers.enableAll(),i.unshift(E,E.geometry,E.material,0,0,null)):u&&u.isTexture&&(void 0===o&&(o=new Ti(new cI(2,2),new zi({name:"BackgroundMaterial",uniforms:Xi(dI.background.uniforms),vertexShader:dI.background.vertexShader,fragmentShader:dI.background.fragmentShader,side:r,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),B.update(o)),o.material.uniforms.t2D.value=u,o.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,o.material.toneMapped=ag.getTransfer(u.colorSpace)!==te,!0===u.matrixAutoUpdate&&u.updateMatrix(),o.material.uniforms.uvTransform.value.copy(u.matrix),n===u&&C===u.version&&a===A.toneMapping||(o.material.needsUpdate=!0,n=u,C=u.version,a=A.toneMapping),o.layers.enableAll(),i.unshift(o,o.geometry,o.material,0,0,null))}}}function mI(A,t){const e=A.getParameter(A.MAX_VERTEX_ATTRIBS),g={},B=E(null);let i=B,I=!1;function Q(t){return A.bindVertexArray(t)}function o(t){return A.deleteVertexArray(t)}function E(A){const t=[],g=[],B=[];for(let A=0;A=0){const e=B[t];let g=I[t];if(void 0===g&&("instanceMatrix"===t&&A.instanceMatrix&&(g=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(g=A.instanceColor)),void 0===e)return!0;if(e.attribute!==g)return!0;if(g&&e.data!==g.data)return!0;Q++}return i.attributesNum!==Q||i.index!==g}(e,c,o,l),h&&function(A,t,e,g){const B={},I=t.attributes;let Q=0;const o=e.getAttributes();for(const t in o)if(o[t].location>=0){let e=I[t];void 0===e&&("instanceMatrix"===t&&A.instanceMatrix&&(e=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(e=A.instanceColor));const g={};g.attribute=e,e&&e.data&&(g.data=e.data),B[t]=g,Q++}i.attributes=B,i.attributesNum=Q,i.index=g}(e,c,o,l),null!==l&&t.update(l,A.ELEMENT_ARRAY_BUFFER),(h||I)&&(I=!1,function(e,g,B,i){s();const I=i.attributes,Q=B.getAttributes(),o=g.defaultAttributeValues;for(const g in Q){const B=Q[g];if(B.location>=0){let Q=I[g];if(void 0===Q&&("instanceMatrix"===g&&e.instanceMatrix&&(Q=e.instanceMatrix),"instanceColor"===g&&e.instanceColor&&(Q=e.instanceColor)),void 0!==Q){const g=Q.normalized,I=Q.itemSize,o=t.get(Q);if(void 0===o)continue;const E=o.buffer,s=o.type,a=o.bytesPerElement,c=s===A.INT||s===A.UNSIGNED_INT||Q.gpuType===NA;if(Q.isInterleavedBufferAttribute){const t=Q.data,o=t.stride,l=Q.offset;if(t.isInstancedInterleavedBuffer){for(let A=0;A0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&A.getShaderPrecisionFormat(A.VERTEX_SHADER,A.MEDIUM_FLOAT).precision>0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let i=void 0!==e.precision?e.precision:"highp";const I=B(i);I!==i&&(console.warn("THREE.WebGLRenderer:",i,"not supported, using",I,"instead."),i=I);const Q=!0===e.logarithmicDepthBuffer,o=A.getParameter(A.MAX_TEXTURE_IMAGE_UNITS),E=A.getParameter(A.MAX_VERTEX_TEXTURE_IMAGE_UNITS);return{isWebGL2:!0,getMaxAnisotropy:function(){if(void 0!==g)return g;if(!0===t.has("EXT_texture_filter_anisotropic")){const e=t.get("EXT_texture_filter_anisotropic");g=A.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else g=0;return g},getMaxPrecision:B,precision:i,logarithmicDepthBuffer:Q,maxTextures:o,maxVertexTextures:E,maxTextureSize:A.getParameter(A.MAX_TEXTURE_SIZE),maxCubemapSize:A.getParameter(A.MAX_CUBE_MAP_TEXTURE_SIZE),maxAttributes:A.getParameter(A.MAX_VERTEX_ATTRIBS),maxVertexUniforms:A.getParameter(A.MAX_VERTEX_UNIFORM_VECTORS),maxVaryings:A.getParameter(A.MAX_VARYING_VECTORS),maxFragmentUniforms:A.getParameter(A.MAX_FRAGMENT_UNIFORM_VECTORS),vertexTextures:E>0,maxSamples:A.getParameter(A.MAX_SAMPLES)}}function FI(A){const t=this;let e=null,g=0,B=!1,i=!1;const I=new EI,Q=new Ag,o={value:null,needsUpdate:!1};function E(A,e,g,B){const i=null!==A?A.length:0;let E=null;if(0!==i){if(E=o.value,!0!==B||null===E){const t=g+4*i,B=e.matrixWorldInverse;Q.getNormalMatrix(B),(null===E||E.length0),t.numPlanes=g,t.numIntersection=0);else{const A=i?0:g,t=4*A;let B=r.clippingState||null;o.value=B,B=E(n,Q,t,s);for(let A=0;A!==t;++A)B[A]=e[A];r.clippingState=B,this.numIntersection=C?this.numPlanes:0,this.numPlanes+=A}}}function RI(A){let t=new WeakMap;function e(A,t){return t===aA?A.mapping=nA:t===rA&&(A.mapping=CA),A}function g(A){const e=A.target;e.removeEventListener("dispose",g);const B=t.get(e);void 0!==B&&(t.delete(e),B.dispose())}return{get:function(B){if(B&&B.isTexture){const i=B.mapping;if(i===aA||i===rA){if(t.has(B))return e(t.get(B).texture,B.mapping);{const i=B.image;if(i&&i.height>0){const I=new iI(i.height);return I.fromEquirectangularTexture(A,B),t.set(B,I),B.addEventListener("dispose",g),e(I.texture,B.mapping)}return null}}}return B},dispose:function(){t=new WeakMap}}}class GI extends qi{constructor(A=-1,t=1,e=1,g=-1,B=.1,i=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=t,this.top=e,this.bottom=g,this.near=B,this.far=i,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,t,e,g,B,i){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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=g,this.view.width=B,this.view.height=i,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),e=(this.right+this.left)/2,g=(this.top+this.bottom)/2;let B=e-A,i=e+A,I=g+t,Q=g-t;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;B+=A*this.view.offsetX,i=B+A*this.view.width,I-=t*this.view.offsetY,Q=I-t*this.view.height}this.projectionMatrix.makeOrthographic(B,i,I,Q,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const MI=[.125,.215,.35,.446,.526,.582],UI=new GI,SI=new zB;let HI=null,NI=0,bI=0,kI=!1;const YI=(1+Math.sqrt(5))/2,xI=1/YI,JI=[new Sg(1,1,1),new Sg(-1,1,1),new Sg(1,1,-1),new Sg(-1,1,-1),new Sg(0,YI,xI),new Sg(0,YI,-xI),new Sg(xI,0,YI),new Sg(-xI,0,YI),new Sg(YI,xI,0),new Sg(-YI,xI,0)];class LI{constructor(A){this._renderer=A,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(A,t=0,e=.1,g=100){HI=this._renderer.getRenderTarget(),NI=this._renderer.getActiveCubeFace(),bI=this._renderer.getActiveMipmapLevel(),kI=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const B=this._allocateTargets();return B.depthBuffer=!0,this._sceneToCubeUV(A,e,g,B),t>0&&this._blur(B,0,0,t),this._applyPMREM(B),this._cleanup(B),B}fromEquirectangular(A,t=null){return this._fromTexture(A,t)}fromCubemap(A,t=null){return this._fromTexture(A,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=TI(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ZI(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let A=0;AA-4?Q=MI[I-A+4-1]:0===I&&(Q=0),g.push(Q);const o=1/(i-2),E=-o,s=1+o,n=[E,E,s,E,s,s,E,E,s,s,E,s],C=6,a=6,r=3,c=2,l=1,h=new Float32Array(r*a*C),d=new Float32Array(c*a*C),u=new Float32Array(l*a*C);for(let A=0;A2?0:-1,g=[t,e,0,t+2/3,e,0,t+2/3,e+1,0,t,e,0,t+2/3,e+1,0,t,e+1,0];h.set(g,r*a*A),d.set(n,c*a*A);const B=[A,A,A,A,A,A];u.set(B,l*a*A)}const w=new yi;w.setAttribute("position",new oi(h,r)),w.setAttribute("uv",new oi(d,c)),w.setAttribute("faceIndex",new oi(u,l)),t.push(w),B>4&&B--}return{lodPlanes:t,sizeLods:e,sigmas:g}}(g)),this._blurMaterial=function(A,t,e){const g=new Float32Array(20),B=new Sg(0,1,0);return new zi({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${A}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:g},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:B}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:h,depthTest:!1,depthWrite:!1})}(g,A,t)}return g}_compileMaterial(A){const t=new Ti(this._lodPlanes[0],A);this._renderer.compile(t,UI)}_sceneToCubeUV(A,t,e,g){const B=new tI(90,1,t,e),i=[1,-1,1,1,1,1],I=[1,1,1,-1,-1,-1],Q=this._renderer,o=Q.autoClear,E=Q.toneMapping;Q.getClearColor(SI),Q.toneMapping=AA,Q.autoClear=!1;const s=new Ai({name:"PMREM.Background",side:c,depthWrite:!1,depthTest:!1}),n=new Ti(new vi,s);let C=!1;const a=A.background;a?a.isColor&&(s.color.copy(a),A.background=null,C=!0):(s.color.copy(SI),C=!0);for(let t=0;t<6;t++){const e=t%3;0===e?(B.up.set(0,i[t],0),B.lookAt(I[t],0,0)):1===e?(B.up.set(0,0,i[t]),B.lookAt(0,I[t],0)):(B.up.set(0,i[t],0),B.lookAt(0,0,I[t]));const o=this._cubeSize;KI(g,e*o,t>2?o:0,o,o),Q.setRenderTarget(g),C&&Q.render(n,B),Q.render(A,B)}n.geometry.dispose(),n.material.dispose(),Q.toneMapping=E,Q.autoClear=o,A.background=a}_textureToCubeUV(A,t){const e=this._renderer,g=A.mapping===nA||A.mapping===CA;g?(null===this._cubemapMaterial&&(this._cubemapMaterial=TI()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===A.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ZI());const B=g?this._cubemapMaterial:this._equirectMaterial,i=new Ti(this._lodPlanes[0],B);B.uniforms.envMap.value=A;const I=this._cubeSize;KI(t,0,0,3*I,2*I),e.setRenderTarget(t),e.render(i,UI)}_applyPMREM(A){const t=this._renderer,e=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${B}, is too large and will clip, as it requested ${r} samples when the maximum is set to 20`);const c=[];let l=0;for(let A=0;A<20;++A){const t=A/a,e=Math.exp(-t*t/2);c.push(e),0===A?l+=e:Ah-4?g-h+4:0),4*(this._cubeSize-d),3*d,2*d),Q.setRenderTarget(t),Q.render(E,UI)}}function VI(A,t,e){const g=new yg(A,t,e);return g.texture.mapping=cA,g.texture.name="PMREM.cubeUv",g.scissorTest=!0,g}function KI(A,t,e,g,B){A.viewport.set(t,e,g,B),A.scissor.set(t,e,g,B)}function ZI(){return new zi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:h,depthTest:!1,depthWrite:!1})}function TI(){return new zi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\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",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:h,depthTest:!1,depthWrite:!1})}function WI(A){let t=new WeakMap,e=null;function g(A){const e=A.target;e.removeEventListener("dispose",g);const B=t.get(e);void 0!==B&&(t.delete(e),B.dispose())}return{get:function(B){if(B&&B.isTexture){const i=B.mapping,I=i===aA||i===rA,Q=i===nA||i===CA;if(I||Q){let i=t.get(B);const o=void 0!==i?i.texture.pmremVersion:0;if(B.isRenderTargetTexture&&B.pmremVersion!==o)return null===e&&(e=new LI(A)),i=I?e.fromEquirectangular(B,i):e.fromCubemap(B,i),i.texture.pmremVersion=B.pmremVersion,t.set(B,i),i.texture;if(void 0!==i)return i.texture;{const o=B.image;return I&&o&&o.height>0||Q&&o&&function(A){let t=0;for(let e=0;e<6;e++)void 0!==A[e]&&t++;return 6===t}(o)?(null===e&&(e=new LI(A)),i=I?e.fromEquirectangular(B):e.fromCubemap(B),i.texture.pmremVersion=B.pmremVersion,t.set(B,i),B.addEventListener("dispose",g),i.texture):null}}}return B},dispose:function(){t=new WeakMap,null!==e&&(e.dispose(),e=null)}}}function vI(A){const t={};function e(e){if(void 0!==t[e])return t[e];let g;switch(e){case"WEBGL_depth_texture":g=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":g=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":g=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":g=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:g=A.getExtension(e)}return t[e]=g,g}return{has:function(A){return null!==e(A)},init:function(){e("EXT_color_buffer_float"),e("WEBGL_clip_cull_distance"),e("OES_texture_float_linear"),e("EXT_color_buffer_half_float"),e("WEBGL_multisampled_render_to_texture"),e("WEBGL_render_shared_exponent")},get:function(A){const t=e(A);return null===t&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),t}}}function XI(A,t,e,g){const B={},i=new WeakMap;function I(A){const Q=A.target;null!==Q.index&&t.remove(Q.index);for(const A in Q.attributes)t.remove(Q.attributes[A]);for(const A in Q.morphAttributes){const e=Q.morphAttributes[A];for(let A=0,g=e.length;At.maxTextureSize&&(w=Math.ceil(u/t.maxTextureSize),u=t.maxTextureSize);const D=new Float32Array(u*w*4*s),p=new Fg(D,u,w,s);p.type=kA,p.needsUpdate=!0;const m=4*d;for(let y=0;y0)return A;const B=t*e;let i=gQ[B];if(void 0===i&&(i=new Float32Array(B),gQ[B]=i),0!==t){g.toArray(i,0);for(let g=1,B=0;g!==t;++g)B+=e,A[g].toArray(i,B)}return i}function EQ(A,t){if(A.length!==t.length)return!1;for(let e=0,g=A.length;e":" "} ${B}: ${e[A]}`)}return g.join("\n")}(A.getShaderSource(t),g)}return B}function Qo(A,t){const e=function(A){const t=ag.getPrimaries(ag.workingColorSpace),e=ag.getPrimaries(A);let g;switch(t===e?g="":t===ge&&e===ee?g="LinearDisplayP3ToLinearSRGB":t===ee&&e===ge&&(g="LinearSRGBToLinearDisplayP3"),A){case qt:case $t:return[g,"LinearTransferOETF"];case zt:case jt:return[g,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",A),[g,"LinearTransferOETF"]}}(t);return`vec4 ${A}( vec4 value ) { return ${e[0]}( ${e[1]}( value ) ); }`}function oo(A,t){let e;switch(t){case tA:e="Linear";break;case eA:e="Reinhard";break;case gA:e="OptimizedCineon";break;case BA:e="ACESFilmic";break;case IA:e="AgX";break;case QA:e="Neutral";break;case iA:e="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),e="Linear"}return"vec3 "+A+"( vec3 color ) { return "+e+"ToneMapping( color ); }"}function Eo(A){return""!==A}function so(A,t){const e=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return A.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,e).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function no(A,t){return A.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Co=/^[ \t]*#include +<([\w\d./]+)>/gm;function ao(A){return A.replace(Co,co)}const ro=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function co(A,t){let e=lI[t];if(void 0===e){const A=ro.get(t);if(void 0===A)throw new Error("Can not resolve #include <"+t+">");e=lI[A],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,A)}return ao(e)}const lo=/#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 ho(A){return A.replace(lo,uo)}function uo(A,t,e,g){let B="";for(let A=parseInt(t);A0&&(u+="\n"),w=["#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h].filter(Eo).join("\n"),w.length>0&&(w+="\n")):(u=[wo(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h,e.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",e.batching?"#define USE_BATCHING":"",e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.instancingMorph?"#define USE_INSTANCING_MORPH":"",e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+s:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.displacementMap?"#define USE_DISPLACEMENTMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.mapUv?"#define MAP_UV "+e.mapUv:"",e.alphaMapUv?"#define ALPHAMAP_UV "+e.alphaMapUv:"",e.lightMapUv?"#define LIGHTMAP_UV "+e.lightMapUv:"",e.aoMapUv?"#define AOMAP_UV "+e.aoMapUv:"",e.emissiveMapUv?"#define EMISSIVEMAP_UV "+e.emissiveMapUv:"",e.bumpMapUv?"#define BUMPMAP_UV "+e.bumpMapUv:"",e.normalMapUv?"#define NORMALMAP_UV "+e.normalMapUv:"",e.displacementMapUv?"#define DISPLACEMENTMAP_UV "+e.displacementMapUv:"",e.metalnessMapUv?"#define METALNESSMAP_UV "+e.metalnessMapUv:"",e.roughnessMapUv?"#define ROUGHNESSMAP_UV "+e.roughnessMapUv:"",e.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+e.anisotropyMapUv:"",e.clearcoatMapUv?"#define CLEARCOATMAP_UV "+e.clearcoatMapUv:"",e.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+e.clearcoatNormalMapUv:"",e.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+e.clearcoatRoughnessMapUv:"",e.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+e.iridescenceMapUv:"",e.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+e.iridescenceThicknessMapUv:"",e.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+e.sheenColorMapUv:"",e.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+e.sheenRoughnessMapUv:"",e.specularMapUv?"#define SPECULARMAP_UV "+e.specularMapUv:"",e.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+e.specularColorMapUv:"",e.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+e.specularIntensityMapUv:"",e.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+e.transmissionMapUv:"",e.thicknessMapUv?"#define THICKNESSMAP_UV "+e.thicknessMapUv:"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&!1===e.flatShading?"#define USE_MORPHNORMALS":"",e.morphColors?"#define USE_MORPHCOLORS":"",e.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",e.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+e.morphTextureStride:"",e.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+e.morphTargetsCount:"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+o:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","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","#ifdef USE_INSTANCING_MORPH","\tuniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#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(Eo).join("\n"),w=[wo(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+E:"",e.envMap?"#define "+s:"",e.envMap?"#define "+r:"",c?"#define CUBEUV_TEXEL_WIDTH "+c.texelWidth:"",c?"#define CUBEUV_TEXEL_HEIGHT "+c.texelHeight:"",c?"#define CUBEUV_MAX_MIP "+c.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+o:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==AA?"#define TONE_MAPPING":"",e.toneMapping!==AA?lI.tonemapping_pars_fragment:"",e.toneMapping!==AA?oo("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",lI.colorspace_pars_fragment,Qo("linearToOutputTexel",e.outputColorSpace),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"","\n"].filter(Eo).join("\n")),I=ao(I),I=so(I,e),I=no(I,e),Q=ao(Q),Q=so(Q,e),Q=no(Q,e),I=ho(I),Q=ho(Q),!0!==e.isRawShaderMaterial&&(D="#version 300 es\n",u=[l,"#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+u,w=["#define varying in",e.glslVersion===Je?"":"layout(location = 0) out highp vec4 pc_fragColor;",e.glslVersion===Je?"":"#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"+w);const p=D+u+I,m=D+w+Q,f=go(B,B.VERTEX_SHADER,p),y=go(B,B.FRAGMENT_SHADER,m);function F(t){if(A.debug.checkShaderErrors){const e=B.getProgramInfoLog(d).trim(),g=B.getShaderInfoLog(f).trim(),i=B.getShaderInfoLog(y).trim();let I=!0,Q=!0;if(!1===B.getProgramParameter(d,B.LINK_STATUS))if(I=!1,"function"==typeof A.debug.onShaderError)A.debug.onShaderError(B,d,f,y);else{const A=Io(B,f,"vertex"),g=Io(B,y,"fragment");console.error("THREE.WebGLProgram: Shader Error "+B.getError()+" - VALIDATE_STATUS "+B.getProgramParameter(d,B.VALIDATE_STATUS)+"\n\nMaterial Name: "+t.name+"\nMaterial Type: "+t.type+"\n\nProgram Info Log: "+e+"\n"+A+"\n"+g)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==g&&""!==i||(Q=!1);Q&&(t.diagnostics={runnable:I,programLog:e,vertexShader:{log:g,prefix:u},fragmentShader:{log:i,prefix:w}})}B.deleteShader(f),B.deleteShader(y),R=new eo(B,d),G=function(A,t){const e={},g=A.getProgramParameter(t,A.ACTIVE_ATTRIBUTES);for(let B=0;B0,O=i.clearcoat>0,z=i.iridescence>0,q=i.sheen>0,j=i.transmission>0,$=_&&!!i.anisotropyMap,tA=O&&!!i.clearcoatMap,eA=O&&!!i.clearcoatNormalMap,gA=O&&!!i.clearcoatRoughnessMap,BA=z&&!!i.iridescenceMap,iA=z&&!!i.iridescenceThicknessMap,IA=q&&!!i.sheenColorMap,QA=q&&!!i.sheenRoughnessMap,oA=!!i.specularMap,EA=!!i.specularColorMap,sA=!!i.specularIntensityMap,nA=j&&!!i.transmissionMap,CA=j&&!!i.thicknessMap,aA=!!i.gradientMap,rA=!!i.alphaMap,lA=i.alphaTest>0,hA=!!i.alphaHash,dA=!!i.extensions;let uA=AA;i.toneMapped&&(null!==b&&!0!==b.isXRRenderTarget||(uA=A.toneMapping));const wA={shaderID:F,shaderType:i.type,shaderName:i.name,vertexShader:M,fragmentShader:U,defines:i.defines,customVertexShaderID:S,customFragmentShaderID:H,isRawShaderMaterial:!0===i.isRawShaderMaterial,glslVersion:i.glslVersion,precision:a,batching:Y,instancing:k,instancingColor:k&&null!==w.instanceColor,instancingMorph:k&&null!==w.morphTexture,supportsVertexTextures:C,outputColorSpace:null===b?A.outputColorSpace:!0===b.isXRRenderTarget?b.texture.colorSpace:qt,alphaToCoverage:!!i.alphaToCoverage,map:x,matcap:J,envMap:L,envMapMode:L&&f.mapping,envMapCubeUVHeight:y,aoMap:V,lightMap:K,bumpMap:Z,normalMap:T,displacementMap:C&&W,emissiveMap:v,normalMapObjectSpace:T&&i.normalMapType===_t,normalMapTangentSpace:T&&i.normalMapType===Pt,metalnessMap:X,roughnessMap:P,anisotropy:_,anisotropyMap:$,clearcoat:O,clearcoatMap:tA,clearcoatNormalMap:eA,clearcoatRoughnessMap:gA,iridescence:z,iridescenceMap:BA,iridescenceThicknessMap:iA,sheen:q,sheenColorMap:IA,sheenRoughnessMap:QA,specularMap:oA,specularColorMap:EA,specularIntensityMap:sA,transmission:j,transmissionMap:nA,thicknessMap:CA,gradientMap:aA,opaque:!1===i.transparent&&i.blending===d&&!1===i.alphaToCoverage,alphaMap:rA,alphaTest:lA,alphaHash:hA,combine:i.combine,mapUv:x&&h(i.map.channel),aoMapUv:V&&h(i.aoMap.channel),lightMapUv:K&&h(i.lightMap.channel),bumpMapUv:Z&&h(i.bumpMap.channel),normalMapUv:T&&h(i.normalMap.channel),displacementMapUv:W&&h(i.displacementMap.channel),emissiveMapUv:v&&h(i.emissiveMap.channel),metalnessMapUv:X&&h(i.metalnessMap.channel),roughnessMapUv:P&&h(i.roughnessMap.channel),anisotropyMapUv:$&&h(i.anisotropyMap.channel),clearcoatMapUv:tA&&h(i.clearcoatMap.channel),clearcoatNormalMapUv:eA&&h(i.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:gA&&h(i.clearcoatRoughnessMap.channel),iridescenceMapUv:BA&&h(i.iridescenceMap.channel),iridescenceThicknessMapUv:iA&&h(i.iridescenceThicknessMap.channel),sheenColorMapUv:IA&&h(i.sheenColorMap.channel),sheenRoughnessMapUv:QA&&h(i.sheenRoughnessMap.channel),specularMapUv:oA&&h(i.specularMap.channel),specularColorMapUv:EA&&h(i.specularColorMap.channel),specularIntensityMapUv:sA&&h(i.specularIntensityMap.channel),transmissionMapUv:nA&&h(i.transmissionMap.channel),thicknessMapUv:CA&&h(i.thicknessMap.channel),alphaMapUv:rA&&h(i.alphaMap.channel),vertexTangents:!!p.attributes.tangent&&(T||_),vertexColors:i.vertexColors,vertexAlphas:!0===i.vertexColors&&!!p.attributes.color&&4===p.attributes.color.itemSize,pointsUvs:!0===w.isPoints&&!!p.attributes.uv&&(x||rA),fog:!!D,useFog:!0===i.fog,fogExp2:!!D&&D.isFogExp2,flatShading:!0===i.flatShading,sizeAttenuation:!0===i.sizeAttenuation,logarithmicDepthBuffer:n,skinning:!0===w.isSkinnedMesh,morphTargets:void 0!==p.morphAttributes.position,morphNormals:void 0!==p.morphAttributes.normal,morphColors:void 0!==p.morphAttributes.color,morphTargetsCount:G,morphTextureStride:N,numDirLights:Q.directional.length,numPointLights:Q.point.length,numSpotLights:Q.spot.length,numSpotLightMaps:Q.spotLightMap.length,numRectAreaLights:Q.rectArea.length,numHemiLights:Q.hemi.length,numDirLightShadows:Q.directionalShadowMap.length,numPointLightShadows:Q.pointShadowMap.length,numSpotLightShadows:Q.spotShadowMap.length,numSpotLightShadowsWithMaps:Q.numSpotLightShadowsWithMaps,numLightProbes:Q.numLightProbes,numClippingPlanes:I.numPlanes,numClipIntersection:I.numIntersection,dithering:i.dithering,shadowMapEnabled:A.shadowMap.enabled&&s.length>0,shadowMapType:A.shadowMap.type,toneMapping:uA,useLegacyLights:A._useLegacyLights,decodeVideoTexture:x&&!0===i.map.isVideoTexture&&ag.getTransfer(i.map.colorSpace)===te,premultipliedAlpha:i.premultipliedAlpha,doubleSided:i.side===l,flipSided:i.side===c,useDepthPacking:i.depthPacking>=0,depthPacking:i.depthPacking||0,index0AttributeName:i.index0AttributeName,extensionClipCullDistance:dA&&!0===i.extensions.clipCullDistance&&g.has("WEBGL_clip_cull_distance"),extensionMultiDraw:dA&&!0===i.extensions.multiDraw&&g.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:g.has("KHR_parallel_shader_compile"),customProgramCacheKey:i.customProgramCacheKey()};return wA.vertexUv1s=E.has(1),wA.vertexUv2s=E.has(2),wA.vertexUv3s=E.has(3),E.clear(),wA},getProgramCacheKey:function(t){const e=[];if(t.shaderID?e.push(t.shaderID):(e.push(t.customVertexShaderID),e.push(t.customFragmentShaderID)),void 0!==t.defines)for(const A in t.defines)e.push(A),e.push(t.defines[A]);return!1===t.isRawShaderMaterial&&(function(A,t){A.push(t.precision),A.push(t.outputColorSpace),A.push(t.envMapMode),A.push(t.envMapCubeUVHeight),A.push(t.mapUv),A.push(t.alphaMapUv),A.push(t.lightMapUv),A.push(t.aoMapUv),A.push(t.bumpMapUv),A.push(t.normalMapUv),A.push(t.displacementMapUv),A.push(t.emissiveMapUv),A.push(t.metalnessMapUv),A.push(t.roughnessMapUv),A.push(t.anisotropyMapUv),A.push(t.clearcoatMapUv),A.push(t.clearcoatNormalMapUv),A.push(t.clearcoatRoughnessMapUv),A.push(t.iridescenceMapUv),A.push(t.iridescenceThicknessMapUv),A.push(t.sheenColorMapUv),A.push(t.sheenRoughnessMapUv),A.push(t.specularMapUv),A.push(t.specularColorMapUv),A.push(t.specularIntensityMapUv),A.push(t.transmissionMapUv),A.push(t.thicknessMapUv),A.push(t.combine),A.push(t.fogExp2),A.push(t.sizeAttenuation),A.push(t.morphTargetsCount),A.push(t.morphAttributeCount),A.push(t.numDirLights),A.push(t.numPointLights),A.push(t.numSpotLights),A.push(t.numSpotLightMaps),A.push(t.numHemiLights),A.push(t.numRectAreaLights),A.push(t.numDirLightShadows),A.push(t.numPointLightShadows),A.push(t.numSpotLightShadows),A.push(t.numSpotLightShadowsWithMaps),A.push(t.numLightProbes),A.push(t.shadowMapType),A.push(t.toneMapping),A.push(t.numClippingPlanes),A.push(t.numClipIntersection),A.push(t.depthPacking)}(e,t),function(A,t){Q.disableAll(),t.supportsVertexTextures&&Q.enable(0),t.instancing&&Q.enable(1),t.instancingColor&&Q.enable(2),t.instancingMorph&&Q.enable(3),t.matcap&&Q.enable(4),t.envMap&&Q.enable(5),t.normalMapObjectSpace&&Q.enable(6),t.normalMapTangentSpace&&Q.enable(7),t.clearcoat&&Q.enable(8),t.iridescence&&Q.enable(9),t.alphaTest&&Q.enable(10),t.vertexColors&&Q.enable(11),t.vertexAlphas&&Q.enable(12),t.vertexUv1s&&Q.enable(13),t.vertexUv2s&&Q.enable(14),t.vertexUv3s&&Q.enable(15),t.vertexTangents&&Q.enable(16),t.anisotropy&&Q.enable(17),t.alphaHash&&Q.enable(18),t.batching&&Q.enable(19),A.push(Q.mask),Q.disableAll(),t.fog&&Q.enable(0),t.useFog&&Q.enable(1),t.flatShading&&Q.enable(2),t.logarithmicDepthBuffer&&Q.enable(3),t.skinning&&Q.enable(4),t.morphTargets&&Q.enable(5),t.morphNormals&&Q.enable(6),t.morphColors&&Q.enable(7),t.premultipliedAlpha&&Q.enable(8),t.shadowMapEnabled&&Q.enable(9),t.useLegacyLights&&Q.enable(10),t.doubleSided&&Q.enable(11),t.flipSided&&Q.enable(12),t.useDepthPacking&&Q.enable(13),t.dithering&&Q.enable(14),t.transmission&&Q.enable(15),t.sheen&&Q.enable(16),t.opaque&&Q.enable(17),t.pointsUvs&&Q.enable(18),t.decodeVideoTexture&&Q.enable(19),t.alphaToCoverage&&Q.enable(20),A.push(Q.mask)}(e,t),e.push(A.outputColorSpace)),e.push(t.customProgramCacheKey),e.join()},getUniforms:function(A){const t=r[A.type];let e;if(t){const A=dI[t];e=Oi.clone(A.uniforms)}else e=A.uniforms;return e},acquireProgram:function(t,e){let g;for(let A=0,t=s.length;A0?g.push(s):!0===I.transparent?B.push(s):e.push(s)},unshift:function(A,t,I,Q,o,E){const s=i(A,t,I,Q,o,E);I.transmission>0?g.unshift(s):!0===I.transparent?B.unshift(s):e.unshift(s)},finish:function(){for(let e=t,g=A.length;e1&&e.sort(A||Ro),g.length>1&&g.sort(t||Go),B.length>1&&B.sort(t||Go)}}}function Uo(){let A=new WeakMap;return{get:function(t,e){const g=A.get(t);let B;return void 0===g?(B=new Mo,A.set(t,[B])):e>=g.length?(B=new Mo,g.push(B)):B=g[e],B},dispose:function(){A=new WeakMap}}}function So(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":e={direction:new Sg,color:new zB};break;case"SpotLight":e={position:new Sg,direction:new Sg,color:new zB,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new Sg,color:new zB,distance:0,decay:0};break;case"HemisphereLight":e={direction:new Sg,skyColor:new zB,groundColor:new zB};break;case"RectAreaLight":e={color:new zB,position:new Sg,halfWidth:new Sg,halfHeight:new Sg}}return A[t.id]=e,e}}}let Ho=0;function No(A,t){return(t.castShadow?2:0)-(A.castShadow?2:0)+(t.map?1:0)-(A.map?1:0)}function bo(A){const t=new So,e=function(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new $e};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new $e,shadowCameraNear:1,shadowCameraFar:1e3}}return A[t.id]=e,e}}}(),g={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let A=0;A<9;A++)g.probe.push(new Sg);const B=new Sg,i=new QB,I=new QB;return{setup:function(B,i){let I=0,Q=0,o=0;for(let A=0;A<9;A++)g.probe[A].set(0,0,0);let E=0,s=0,n=0,C=0,a=0,r=0,c=0,l=0,h=0,d=0,u=0;B.sort(No);const w=!0===i?Math.PI:1;for(let A=0,i=B.length;A0&&(!0===A.has("OES_texture_float_linear")?(g.rectAreaLTC1=hI.LTC_FLOAT_1,g.rectAreaLTC2=hI.LTC_FLOAT_2):(g.rectAreaLTC1=hI.LTC_HALF_1,g.rectAreaLTC2=hI.LTC_HALF_2)),g.ambient[0]=I,g.ambient[1]=Q,g.ambient[2]=o;const D=g.hash;D.directionalLength===E&&D.pointLength===s&&D.spotLength===n&&D.rectAreaLength===C&&D.hemiLength===a&&D.numDirectionalShadows===r&&D.numPointShadows===c&&D.numSpotShadows===l&&D.numSpotMaps===h&&D.numLightProbes===u||(g.directional.length=E,g.spot.length=n,g.rectArea.length=C,g.point.length=s,g.hemi.length=a,g.directionalShadow.length=r,g.directionalShadowMap.length=r,g.pointShadow.length=c,g.pointShadowMap.length=c,g.spotShadow.length=l,g.spotShadowMap.length=l,g.directionalShadowMatrix.length=r,g.pointShadowMatrix.length=c,g.spotLightMatrix.length=l+h-d,g.spotLightMap.length=h,g.numSpotLightShadowsWithMaps=d,g.numLightProbes=u,D.directionalLength=E,D.pointLength=s,D.spotLength=n,D.rectAreaLength=C,D.hemiLength=a,D.numDirectionalShadows=r,D.numPointShadows=c,D.numSpotShadows=l,D.numSpotMaps=h,D.numLightProbes=u,g.version=Ho++)},setupView:function(A,t){let e=0,Q=0,o=0,E=0,s=0;const n=t.matrixWorldInverse;for(let t=0,C=A.length;t=B.length?(i=new ko(A),B.push(i)):i=B[g],i},dispose:function(){t=new WeakMap}}}class xo extends $B{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=vt,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class Jo extends $B{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function Lo(A,t,e){let g=new CI;const B=new $e,i=new $e,I=new mg,Q=new xo({depthPacking:Xt}),o=new Jo,E={},s=e.maxTextureSize,C={[r]:c,[c]:r,[l]:l},d=new zi({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new $e},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),u=d.clone();u.defines.HORIZONTAL_PASS=1;const w=new yi;w.setAttribute("position",new oi(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const D=new Ti(w,d),p=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=n;let m=this.type;function f(e,g){const i=t.update(D);d.defines.VSM_SAMPLES!==e.blurSamples&&(d.defines.VSM_SAMPLES=e.blurSamples,u.defines.VSM_SAMPLES=e.blurSamples,d.needsUpdate=!0,u.needsUpdate=!0),null===e.mapPass&&(e.mapPass=new yg(B.x,B.y)),d.uniforms.shadow_pass.value=e.map.texture,d.uniforms.resolution.value=e.mapSize,d.uniforms.radius.value=e.radius,A.setRenderTarget(e.mapPass),A.clear(),A.renderBufferDirect(g,null,i,d,D,null),u.uniforms.shadow_pass.value=e.mapPass.texture,u.uniforms.resolution.value=e.mapSize,u.uniforms.radius.value=e.radius,A.setRenderTarget(e.map),A.clear(),A.renderBufferDirect(g,null,i,u,D,null)}function y(t,e,g,B){let i=null;const I=!0===g.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==I)i=I;else if(i=!0===g.isPointLight?o:Q,A.localClippingEnabled&&!0===e.clipShadows&&Array.isArray(e.clippingPlanes)&&0!==e.clippingPlanes.length||e.displacementMap&&0!==e.displacementScale||e.alphaMap&&e.alphaTest>0||e.map&&e.alphaTest>0){const A=i.uuid,t=e.uuid;let g=E[A];void 0===g&&(g={},E[A]=g);let B=g[t];void 0===B&&(B=i.clone(),g[t]=B,e.addEventListener("dispose",R)),i=B}return i.visible=e.visible,i.wireframe=e.wireframe,i.side=B===a?null!==e.shadowSide?e.shadowSide:e.side:null!==e.shadowSide?e.shadowSide:C[e.side],i.alphaMap=e.alphaMap,i.alphaTest=e.alphaTest,i.map=e.map,i.clipShadows=e.clipShadows,i.clippingPlanes=e.clippingPlanes,i.clipIntersection=e.clipIntersection,i.displacementMap=e.displacementMap,i.displacementScale=e.displacementScale,i.displacementBias=e.displacementBias,i.wireframeLinewidth=e.wireframeLinewidth,i.linewidth=e.linewidth,!0===g.isPointLight&&!0===i.isMeshDistanceMaterial&&(A.properties.get(i).light=g),i}function F(e,B,i,I,Q){if(!1===e.visible)return;if(e.layers.test(B.layers)&&(e.isMesh||e.isLine||e.isPoints)&&(e.castShadow||e.receiveShadow&&Q===a)&&(!e.frustumCulled||g.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,e.matrixWorld);const g=t.update(e),o=e.material;if(Array.isArray(o)){const t=g.groups;for(let E=0,s=t.length;Es||B.y>s)&&(B.x>s&&(i.x=Math.floor(s/l.x),B.x=i.x*l.x,n.mapSize.x=i.x),B.y>s&&(i.y=Math.floor(s/l.y),B.y=i.y*l.y,n.mapSize.y=i.y)),null===n.map||!0===r||!0===c){const A=this.type!==a?{minFilter:uA,magFilter:uA}:{};null!==n.map&&n.map.dispose(),n.map=new yg(B.x,B.y,A),n.map.texture.name=E.name+".shadowMap",n.camera.updateProjectionMatrix()}A.setRenderTarget(n.map),A.clear();const h=n.getViewportCount();for(let A=0;A=1):-1!==cA.indexOf("OpenGL ES")&&(rA=parseFloat(/^OpenGL ES (\d)/.exec(cA)[1]),aA=rA>=2);let lA=null,hA={};const dA=A.getParameter(A.SCISSOR_BOX),uA=A.getParameter(A.VIEWPORT),wA=(new mg).fromArray(dA),DA=(new mg).fromArray(uA);function pA(t,e,g,B){const i=new Uint8Array(4),I=A.createTexture();A.bindTexture(t,I),A.texParameteri(t,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(t,A.TEXTURE_MAG_FILTER,A.NEAREST);for(let I=0;Ie||B.height>e)&&(g=e/Math.max(B.width,B.height)),g<1){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap||"undefined"!=typeof VideoFrame&&A instanceof VideoFrame){const e=Math.floor(g*B.width),i=Math.floor(g*B.height);void 0===n&&(n=r(e,i));const I=t?r(e,i):n;return I.width=e,I.height=i,I.getContext("2d").drawImage(A,0,0,e,i),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+B.width+"x"+B.height+") to ("+e+"x"+i+")."),I}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+B.width+"x"+B.height+")."),A}return A}function l(A){return A.generateMipmaps&&A.minFilter!==uA&&A.minFilter!==fA}function h(t){A.generateMipmap(t)}function d(e,g,B,i,I=!1){if(null!==e){if(void 0!==A[e])return A[e];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+e+"'")}let Q=g;if(g===A.RED&&(B===A.FLOAT&&(Q=A.R32F),B===A.HALF_FLOAT&&(Q=A.R16F),B===A.UNSIGNED_BYTE&&(Q=A.R8)),g===A.RED_INTEGER&&(B===A.UNSIGNED_BYTE&&(Q=A.R8UI),B===A.UNSIGNED_SHORT&&(Q=A.R16UI),B===A.UNSIGNED_INT&&(Q=A.R32UI),B===A.BYTE&&(Q=A.R8I),B===A.SHORT&&(Q=A.R16I),B===A.INT&&(Q=A.R32I)),g===A.RG&&(B===A.FLOAT&&(Q=A.RG32F),B===A.HALF_FLOAT&&(Q=A.RG16F),B===A.UNSIGNED_BYTE&&(Q=A.RG8)),g===A.RG_INTEGER&&(B===A.UNSIGNED_BYTE&&(Q=A.RG8UI),B===A.UNSIGNED_SHORT&&(Q=A.RG16UI),B===A.UNSIGNED_INT&&(Q=A.RG32UI),B===A.BYTE&&(Q=A.RG8I),B===A.SHORT&&(Q=A.RG16I),B===A.INT&&(Q=A.RG32I)),g===A.RGB&&B===A.UNSIGNED_INT_5_9_9_9_REV&&(Q=A.RGB9_E5),g===A.RGBA){const t=I?Ae:ag.getTransfer(i);B===A.FLOAT&&(Q=A.RGBA32F),B===A.HALF_FLOAT&&(Q=A.RGBA16F),B===A.UNSIGNED_BYTE&&(Q=t===te?A.SRGB8_ALPHA8:A.RGBA8),B===A.UNSIGNED_SHORT_4_4_4_4&&(Q=A.RGBA4),B===A.UNSIGNED_SHORT_5_5_5_1&&(Q=A.RGB5_A1)}return Q!==A.R16F&&Q!==A.R32F&&Q!==A.RG16F&&Q!==A.RG32F&&Q!==A.RGBA16F&&Q!==A.RGBA32F||t.get("EXT_color_buffer_float"),Q}function u(A,t){return!0===l(A)||A.isFramebufferTexture&&A.minFilter!==uA&&A.minFilter!==fA?Math.log2(Math.max(t.width,t.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?t.mipmaps.length:1}function w(A){const t=A.target;t.removeEventListener("dispose",w),function(A){const t=g.get(A);if(void 0===t.__webglInit)return;const e=A.source,B=C.get(e);if(B){const g=B[t.__cacheKey];g.usedTimes--,0===g.usedTimes&&p(A),0===Object.keys(B).length&&C.delete(e)}g.remove(A)}(t),t.isVideoTexture&&s.delete(t)}function D(t){const e=t.target;e.removeEventListener("dispose",D),function(t){const e=g.get(t);if(t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(e.__webglFramebuffer[t]))for(let g=0;g0&&i.__version!==t.version){const A=t.image;if(null===A)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==A.complete)return void U(i,t,B);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}e.bindTexture(A.TEXTURE_2D,i.__webglTexture,A.TEXTURE0+B)}const y={[lA]:A.REPEAT,[hA]:A.CLAMP_TO_EDGE,[dA]:A.MIRRORED_REPEAT},F={[uA]:A.NEAREST,[wA]:A.NEAREST_MIPMAP_NEAREST,[pA]:A.NEAREST_MIPMAP_LINEAR,[fA]:A.LINEAR,[yA]:A.LINEAR_MIPMAP_NEAREST,[RA]:A.LINEAR_MIPMAP_LINEAR},R={[we]:A.NEVER,[Re]:A.ALWAYS,[De]:A.LESS,[me]:A.LEQUAL,[pe]:A.EQUAL,[Fe]:A.GEQUAL,[fe]:A.GREATER,[ye]:A.NOTEQUAL};function G(e,i){if(i.type!==kA||!1!==t.has("OES_texture_float_linear")||i.magFilter!==fA&&i.magFilter!==yA&&i.magFilter!==pA&&i.magFilter!==RA&&i.minFilter!==fA&&i.minFilter!==yA&&i.minFilter!==pA&&i.minFilter!==RA||console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),A.texParameteri(e,A.TEXTURE_WRAP_S,y[i.wrapS]),A.texParameteri(e,A.TEXTURE_WRAP_T,y[i.wrapT]),e!==A.TEXTURE_3D&&e!==A.TEXTURE_2D_ARRAY||A.texParameteri(e,A.TEXTURE_WRAP_R,y[i.wrapR]),A.texParameteri(e,A.TEXTURE_MAG_FILTER,F[i.magFilter]),A.texParameteri(e,A.TEXTURE_MIN_FILTER,F[i.minFilter]),i.compareFunction&&(A.texParameteri(e,A.TEXTURE_COMPARE_MODE,A.COMPARE_REF_TO_TEXTURE),A.texParameteri(e,A.TEXTURE_COMPARE_FUNC,R[i.compareFunction])),!0===t.has("EXT_texture_filter_anisotropic")){if(i.magFilter===uA)return;if(i.minFilter!==pA&&i.minFilter!==RA)return;if(i.type===kA&&!1===t.has("OES_texture_float_linear"))return;if(i.anisotropy>1||g.get(i).__currentAnisotropy){const I=t.get("EXT_texture_filter_anisotropic");A.texParameterf(e,I.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(i.anisotropy,B.getMaxAnisotropy())),g.get(i).__currentAnisotropy=i.anisotropy}}}function M(t,e){let g=!1;void 0===t.__webglInit&&(t.__webglInit=!0,e.addEventListener("dispose",w));const B=e.source;let i=C.get(B);void 0===i&&(i={},C.set(B,i));const Q=function(A){const t=[];return t.push(A.wrapS),t.push(A.wrapT),t.push(A.wrapR||0),t.push(A.magFilter),t.push(A.minFilter),t.push(A.anisotropy),t.push(A.internalFormat),t.push(A.format),t.push(A.type),t.push(A.generateMipmaps),t.push(A.premultiplyAlpha),t.push(A.flipY),t.push(A.unpackAlignment),t.push(A.colorSpace),t.join()}(e);if(Q!==t.__cacheKey){void 0===i[Q]&&(i[Q]={texture:A.createTexture(),usedTimes:0},I.memory.textures++,g=!0),i[Q].usedTimes++;const B=i[t.__cacheKey];void 0!==B&&(i[t.__cacheKey].usedTimes--,0===B.usedTimes&&p(e)),t.__cacheKey=Q,t.__webglTexture=i[Q].texture}return g}function U(t,I,Q){let o=A.TEXTURE_2D;(I.isDataArrayTexture||I.isCompressedArrayTexture)&&(o=A.TEXTURE_2D_ARRAY),I.isData3DTexture&&(o=A.TEXTURE_3D);const E=M(t,I),s=I.source;e.bindTexture(o,t.__webglTexture,A.TEXTURE0+Q);const n=g.get(s);if(s.version!==n.__version||!0===E){e.activeTexture(A.TEXTURE0+Q);const t=ag.getPrimaries(ag.workingColorSpace),g=I.colorSpace===Ot?null:ag.getPrimaries(I.colorSpace),C=I.colorSpace===Ot||t===g?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,I.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,I.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,C);let a=c(I.image,!1,B.maxTextureSize);a=Y(I,a);const r=i.convert(I.format,I.colorSpace),w=i.convert(I.type);let D,p=d(I.internalFormat,r,w,I.colorSpace,I.isVideoTexture);G(o,I);const m=I.mipmaps,f=!0!==I.isVideoTexture&&p!==Qt,y=void 0===n.__version||!0===E,F=s.dataReady,R=u(I,a);if(I.isDepthTexture)p=A.DEPTH_COMPONENT16,I.type===kA?p=A.DEPTH_COMPONENT32F:I.type===bA?p=A.DEPTH_COMPONENT24:I.type===LA&&(p=A.DEPTH24_STENCIL8),y&&(f?e.texStorage2D(A.TEXTURE_2D,1,p,a.width,a.height):e.texImage2D(A.TEXTURE_2D,0,p,a.width,a.height,0,r,w,null));else if(I.isDataTexture)if(m.length>0){f&&y&&e.texStorage2D(A.TEXTURE_2D,R,p,m[0].width,m[0].height);for(let t=0,g=m.length;t>=1,g>>=1}}else if(m.length>0){if(f&&y){const t=x(m[0]);e.texStorage2D(A.TEXTURE_2D,R,p,t.width,t.height)}for(let t=0,g=m.length;t>s),g=Math.max(1,B.height>>s);E===A.TEXTURE_3D||E===A.TEXTURE_2D_ARRAY?e.texImage3D(E,s,a,t,g,B.depth,0,n,C,null):e.texImage2D(E,s,a,t,g,0,n,C,null)}e.bindFramebuffer(A.FRAMEBUFFER,t),k(B)?Q.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,o,E,g.get(I).__webglTexture,0,b(B)):(E===A.TEXTURE_2D||E>=A.TEXTURE_CUBE_MAP_POSITIVE_X&&E<=A.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&A.framebufferTexture2D(A.FRAMEBUFFER,o,E,g.get(I).__webglTexture,s),e.bindFramebuffer(A.FRAMEBUFFER,null)}function H(t,e,g){if(A.bindRenderbuffer(A.RENDERBUFFER,t),e.depthBuffer&&!e.stencilBuffer){let B=A.DEPTH_COMPONENT24;if(g||k(e)){const t=e.depthTexture;t&&t.isDepthTexture&&(t.type===kA?B=A.DEPTH_COMPONENT32F:t.type===bA&&(B=A.DEPTH_COMPONENT24));const g=b(e);k(e)?Q.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,g,B,e.width,e.height):A.renderbufferStorageMultisample(A.RENDERBUFFER,g,B,e.width,e.height)}else A.renderbufferStorage(A.RENDERBUFFER,B,e.width,e.height);A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,t)}else if(e.depthBuffer&&e.stencilBuffer){const B=b(e);g&&!1===k(e)?A.renderbufferStorageMultisample(A.RENDERBUFFER,B,A.DEPTH24_STENCIL8,e.width,e.height):k(e)?Q.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,B,A.DEPTH24_STENCIL8,e.width,e.height):A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_STENCIL,e.width,e.height),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.RENDERBUFFER,t)}else{const t=e.textures;for(let B=0;B0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==e.__useRenderToTexture}function Y(A,t){const e=A.colorSpace,g=A.format,B=A.type;return!0===A.isCompressedTexture||!0===A.isVideoTexture||e!==qt&&e!==Ot&&(ag.getTransfer(e)===te?g===TA&&B===MA||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",e)),t}function x(A){return"undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement?(E.width=A.naturalWidth||A.width,E.height=A.naturalHeight||A.height):"undefined"!=typeof VideoFrame&&A instanceof VideoFrame?(E.width=A.displayWidth,E.height=A.displayHeight):(E.width=A.width,E.height=A.height),E}this.allocateTextureUnit=function(){const A=m;return A>=B.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+B.maxTextures),m+=1,A},this.resetTextureUnits=function(){m=0},this.setTexture2D=f,this.setTexture2DArray=function(t,B){const i=g.get(t);t.version>0&&i.__version!==t.version?U(i,t,B):e.bindTexture(A.TEXTURE_2D_ARRAY,i.__webglTexture,A.TEXTURE0+B)},this.setTexture3D=function(t,B){const i=g.get(t);t.version>0&&i.__version!==t.version?U(i,t,B):e.bindTexture(A.TEXTURE_3D,i.__webglTexture,A.TEXTURE0+B)},this.setTextureCube=function(t,I){const Q=g.get(t);t.version>0&&Q.__version!==t.version?function(t,I,Q){if(6!==I.image.length)return;const o=M(t,I),E=I.source;e.bindTexture(A.TEXTURE_CUBE_MAP,t.__webglTexture,A.TEXTURE0+Q);const s=g.get(E);if(E.version!==s.__version||!0===o){e.activeTexture(A.TEXTURE0+Q);const t=ag.getPrimaries(ag.workingColorSpace),g=I.colorSpace===Ot?null:ag.getPrimaries(I.colorSpace),n=I.colorSpace===Ot||t===g?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,I.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,I.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,n);const C=I.isCompressedTexture||I.image[0].isCompressedTexture,a=I.image[0]&&I.image[0].isDataTexture,r=[];for(let A=0;A<6;A++)r[A]=C||a?a?I.image[A].image:I.image[A]:c(I.image[A],!0,B.maxCubemapSize),r[A]=Y(I,r[A]);const w=r[0],D=i.convert(I.format,I.colorSpace),p=i.convert(I.type),m=d(I.internalFormat,D,p,I.colorSpace),f=!0!==I.isVideoTexture,y=void 0===s.__version||!0===o,F=E.dataReady;let R,M=u(I,w);if(G(A.TEXTURE_CUBE_MAP,I),C){f&&y&&e.texStorage2D(A.TEXTURE_CUBE_MAP,M,m,w.width,w.height);for(let t=0;t<6;t++){R=r[t].mipmaps;for(let g=0;g0&&M++;const t=x(r[0]);e.texStorage2D(A.TEXTURE_CUBE_MAP,M,m,t.width,t.height)}for(let t=0;t<6;t++)if(a){f?F&&e.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,r[t].width,r[t].height,D,p,r[t].data):e.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,m,r[t].width,r[t].height,0,D,p,r[t].data);for(let g=0;g1;if(n||(void 0===o.__webglTexture&&(o.__webglTexture=A.createTexture()),o.__version=B.version,I.memory.textures++),s){Q.__webglFramebuffer=[];for(let t=0;t<6;t++)if(B.mipmaps&&B.mipmaps.length>0){Q.__webglFramebuffer[t]=[];for(let e=0;e0){Q.__webglFramebuffer=[];for(let t=0;t0&&!1===k(t)){Q.__webglMultisampledFramebuffer=A.createFramebuffer(),Q.__webglColorRenderbuffer=[],e.bindFramebuffer(A.FRAMEBUFFER,Q.__webglMultisampledFramebuffer);for(let e=0;e0)for(let g=0;g0)for(let e=0;e0&&!1===k(t)){const B=t.textures,i=t.width,I=t.height;let Q=A.COLOR_BUFFER_BIT;const E=[],s=t.stencilBuffer?A.DEPTH_STENCIL_ATTACHMENT:A.DEPTH_ATTACHMENT,n=g.get(t),C=B.length>1;if(C)for(let t=0;tQ+E?(o.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!o.inputState.pinching&&I<=Q-E&&(o.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==Q&&A.gripSpace&&(B=t.getPose(A.gripSpace,e),null!==B&&(Q.matrix.fromArray(B.transform.matrix),Q.matrix.decompose(Q.position,Q.rotation,Q.scale),Q.matrixWorldNeedsUpdate=!0,B.linearVelocity?(Q.hasLinearVelocity=!0,Q.linearVelocity.copy(B.linearVelocity)):Q.hasLinearVelocity=!1,B.angularVelocity?(Q.hasAngularVelocity=!0,Q.angularVelocity.copy(B.angularVelocity)):Q.hasAngularVelocity=!1));null!==I&&(g=t.getPose(A.targetRaySpace,e),null===g&&null!==B&&(g=B),null!==g&&(I.matrix.fromArray(g.transform.matrix),I.matrix.decompose(I.position,I.rotation,I.scale),I.matrixWorldNeedsUpdate=!0,g.linearVelocity?(I.hasLinearVelocity=!0,I.linearVelocity.copy(g.linearVelocity)):I.hasLinearVelocity=!1,g.angularVelocity?(I.hasAngularVelocity=!0,I.angularVelocity.copy(g.angularVelocity)):I.hasAngularVelocity=!1,this.dispatchEvent(vo)))}return null!==I&&(I.visible=null!==g),null!==Q&&(Q.visible=null!==B),null!==o&&(o.visible=null!==i),this}_getHandJoint(A,t){if(void 0===A.joints[t.jointName]){const e=new Wo;e.matrixAutoUpdate=!1,e.visible=!1,A.joints[t.jointName]=e,A.add(e)}return A.joints[t.jointName]}}class Po{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,t,e){if(null===this.texture){const g=new pg;A.properties.get(g).__webglTexture=t.texture,t.depthNear==e.depthNear&&t.depthFar==e.depthFar||(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=g}}render(A,t){if(null!==this.texture){if(null===this.mesh){const A=t.cameras[0].viewport,e=new zi({vertexShader:"\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}",fragmentShader:"\nuniform sampler2DArray depthColor;\nuniform float depthWidth;\nuniform float depthHeight;\n\nvoid main() {\n\n\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\n\n\tif ( coord.x >= 1.0 ) {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\n\n\t} else {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\n\n\t}\n\n}",uniforms:{depthColor:{value:this.texture},depthWidth:{value:A.z},depthHeight:{value:A.w}}});this.mesh=new Ti(new cI(20,20),e)}A.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class _o extends Ke{constructor(A,t){super();const e=this;let g=null,B=1,i=null,I="local-floor",Q=1,o=null,E=null,s=null,n=null,C=null,a=null;const r=new Po,c=t.getContextAttributes();let l=null,h=null;const d=[],u=[],w=new $e;let D=null;const p=new tI;p.layers.enable(1),p.viewport=new mg;const m=new tI;m.layers.enable(2),m.viewport=new mg;const f=[p,m],y=new To;y.layers.enable(1),y.layers.enable(2);let F=null,R=null;function G(A){const t=u.indexOf(A.inputSource);if(-1===t)return;const e=d[t];void 0!==e&&(e.update(A.inputSource,A.frame,o||i),e.dispatchEvent({type:A.type,data:A.inputSource}))}function M(){g.removeEventListener("select",G),g.removeEventListener("selectstart",G),g.removeEventListener("selectend",G),g.removeEventListener("squeeze",G),g.removeEventListener("squeezestart",G),g.removeEventListener("squeezeend",G),g.removeEventListener("end",M),g.removeEventListener("inputsourceschange",U);for(let A=0;A=0&&(u[g]=null,d[g].disconnect(e))}for(let t=0;t=u.length){u.push(e),g=A;break}if(null===u[A]){u[A]=e,g=A;break}}if(-1===g)break}const B=d[g];B&&B.connect(e)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(A){let t=d[A];return void 0===t&&(t=new Xo,d[A]=t),t.getTargetRaySpace()},this.getControllerGrip=function(A){let t=d[A];return void 0===t&&(t=new Xo,d[A]=t),t.getGripSpace()},this.getHand=function(A){let t=d[A];return void 0===t&&(t=new Xo,d[A]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(A){B=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(A){I=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return o||i},this.setReferenceSpace=function(A){o=A},this.getBaseLayer=function(){return null!==n?n:C},this.getBinding=function(){return s},this.getFrame=function(){return a},this.getSession=function(){return g},this.setSession=async function(E){if(g=E,null!==g){if(l=A.getRenderTarget(),g.addEventListener("select",G),g.addEventListener("selectstart",G),g.addEventListener("selectend",G),g.addEventListener("squeeze",G),g.addEventListener("squeezestart",G),g.addEventListener("squeezeend",G),g.addEventListener("end",M),g.addEventListener("inputsourceschange",U),!0!==c.xrCompatible&&await t.makeXRCompatible(),D=A.getPixelRatio(),A.getSize(w),void 0===g.renderState.layers){const e={antialias:c.antialias,alpha:!0,depth:c.depth,stencil:c.stencil,framebufferScaleFactor:B};C=new XRWebGLLayer(g,t,e),g.updateRenderState({baseLayer:C}),A.setPixelRatio(1),A.setSize(C.framebufferWidth,C.framebufferHeight,!1),h=new yg(C.framebufferWidth,C.framebufferHeight,{format:TA,type:MA,colorSpace:A.outputColorSpace,stencilBuffer:c.stencil})}else{let e=null,i=null,I=null;c.depth&&(I=c.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,e=c.stencil?PA:XA,i=c.stencil?LA:bA);const Q={colorFormat:t.RGBA8,depthFormat:I,scaleFactor:B};s=new XRWebGLBinding(g,t),n=s.createProjectionLayer(Q),g.updateRenderState({layers:[n]}),A.setPixelRatio(1),A.setSize(n.textureWidth,n.textureHeight,!1),h=new yg(n.textureWidth,n.textureHeight,{format:TA,type:MA,depthTexture:new qI(n.textureWidth,n.textureHeight,i,void 0,void 0,void 0,void 0,void 0,void 0,e),stencilBuffer:c.stencil,colorSpace:A.outputColorSpace,samples:c.antialias?4:0}),A.properties.get(h).__ignoreDepthValues=n.ignoreDepthValues}h.isXRRenderTarget=!0,this.setFoveation(Q),o=null,i=await g.requestReferenceSpace(I),k.setContext(g),k.start(),e.isPresenting=!0,e.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==g)return g.environmentBlendMode};const S=new Sg,H=new Sg;function N(A,t){null===t?A.matrixWorld.copy(A.matrix):A.matrixWorld.multiplyMatrices(t.matrixWorld,A.matrix),A.matrixWorldInverse.copy(A.matrixWorld).invert()}this.updateCamera=function(A){if(null===g)return;null!==r.texture&&(A.near=r.depthNear,A.far=r.depthFar),y.near=m.near=p.near=A.near,y.far=m.far=p.far=A.far,F===y.near&&R===y.far||(g.updateRenderState({depthNear:y.near,depthFar:y.far}),F=y.near,R=y.far,p.near=F,p.far=R,m.near=F,m.far=R,p.updateProjectionMatrix(),m.updateProjectionMatrix(),A.updateProjectionMatrix());const t=A.parent,e=y.cameras;N(y,t);for(let A=0;A0&&(g.alphaTest.value=B.alphaTest);const i=t.get(B),I=i.envMap,Q=i.envMapRotation;if(I&&(g.envMap.value=I,Oo.copy(Q),Oo.x*=-1,Oo.y*=-1,Oo.z*=-1,I.isCubeTexture&&!1===I.isRenderTargetTexture&&(Oo.y*=-1,Oo.z*=-1),g.envMapRotation.value.setFromMatrix4(zo.makeRotationFromEuler(Oo)),g.flipEnvMap.value=I.isCubeTexture&&!1===I.isRenderTargetTexture?-1:1,g.reflectivity.value=B.reflectivity,g.ior.value=B.ior,g.refractionRatio.value=B.refractionRatio),B.lightMap){g.lightMap.value=B.lightMap;const t=!0===A._useLegacyLights?Math.PI:1;g.lightMapIntensity.value=B.lightMapIntensity*t,e(B.lightMap,g.lightMapTransform)}B.aoMap&&(g.aoMap.value=B.aoMap,g.aoMapIntensity.value=B.aoMapIntensity,e(B.aoMap,g.aoMapTransform))}return{refreshFogUniforms:function(t,e){e.color.getRGB(t.fogColor.value,_i(A)),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(A,B,i,I,Q){B.isMeshBasicMaterial||B.isMeshLambertMaterial?g(A,B):B.isMeshToonMaterial?(g(A,B),function(A,t){t.gradientMap&&(A.gradientMap.value=t.gradientMap)}(A,B)):B.isMeshPhongMaterial?(g(A,B),function(A,t){A.specular.value.copy(t.specular),A.shininess.value=Math.max(t.shininess,1e-4)}(A,B)):B.isMeshStandardMaterial?(g(A,B),function(A,t){A.metalness.value=t.metalness,t.metalnessMap&&(A.metalnessMap.value=t.metalnessMap,e(t.metalnessMap,A.metalnessMapTransform)),A.roughness.value=t.roughness,t.roughnessMap&&(A.roughnessMap.value=t.roughnessMap,e(t.roughnessMap,A.roughnessMapTransform)),t.envMap&&(A.envMapIntensity.value=t.envMapIntensity)}(A,B),B.isMeshPhysicalMaterial&&function(A,t,g){A.ior.value=t.ior,t.sheen>0&&(A.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),A.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(A.sheenColorMap.value=t.sheenColorMap,e(t.sheenColorMap,A.sheenColorMapTransform)),t.sheenRoughnessMap&&(A.sheenRoughnessMap.value=t.sheenRoughnessMap,e(t.sheenRoughnessMap,A.sheenRoughnessMapTransform))),t.clearcoat>0&&(A.clearcoat.value=t.clearcoat,A.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(A.clearcoatMap.value=t.clearcoatMap,e(t.clearcoatMap,A.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,e(t.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(A.clearcoatNormalMap.value=t.clearcoatNormalMap,e(t.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===c&&A.clearcoatNormalScale.value.negate())),t.iridescence>0&&(A.iridescence.value=t.iridescence,A.iridescenceIOR.value=t.iridescenceIOR,A.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(A.iridescenceMap.value=t.iridescenceMap,e(t.iridescenceMap,A.iridescenceMapTransform)),t.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=t.iridescenceThicknessMap,e(t.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),t.transmission>0&&(A.transmission.value=t.transmission,A.transmissionSamplerMap.value=g.texture,A.transmissionSamplerSize.value.set(g.width,g.height),t.transmissionMap&&(A.transmissionMap.value=t.transmissionMap,e(t.transmissionMap,A.transmissionMapTransform)),A.thickness.value=t.thickness,t.thicknessMap&&(A.thicknessMap.value=t.thicknessMap,e(t.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=t.attenuationDistance,A.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(A.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(A.anisotropyMap.value=t.anisotropyMap,e(t.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=t.specularIntensity,A.specularColor.value.copy(t.specularColor),t.specularColorMap&&(A.specularColorMap.value=t.specularColorMap,e(t.specularColorMap,A.specularColorMapTransform)),t.specularIntensityMap&&(A.specularIntensityMap.value=t.specularIntensityMap,e(t.specularIntensityMap,A.specularIntensityMapTransform))}(A,B,Q)):B.isMeshMatcapMaterial?(g(A,B),function(A,t){t.matcap&&(A.matcap.value=t.matcap)}(A,B)):B.isMeshDepthMaterial?g(A,B):B.isMeshDistanceMaterial?(g(A,B),function(A,e){const g=t.get(e).light;A.referencePosition.value.setFromMatrixPosition(g.matrixWorld),A.nearDistance.value=g.shadow.camera.near,A.farDistance.value=g.shadow.camera.far}(A,B)):B.isMeshNormalMaterial?g(A,B):B.isLineBasicMaterial?(function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform))}(A,B),B.isLineDashedMaterial&&function(A,t){A.dashSize.value=t.dashSize,A.totalSize.value=t.dashSize+t.gapSize,A.scale.value=t.scale}(A,B)):B.isPointsMaterial?function(A,t,g,B){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.size.value=t.size*g,A.scale.value=.5*B,t.map&&(A.map.value=t.map,e(t.map,A.uvTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,B,i,I):B.isSpriteMaterial?function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.rotation.value=t.rotation,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,B):B.isShadowMaterial?(A.color.value.copy(B.color),A.opacity.value=B.opacity):B.isShaderMaterial&&(B.uniformsNeedUpdate=!1)}}}function jo(A,t,e,g){let B={},i={},I=[];const Q=A.getParameter(A.MAX_UNIFORM_BUFFER_BINDINGS);function o(A,t,e,g){const B=A.value,i=t+"_"+e;if(void 0===g[i])return g[i]="number"==typeof B||"boolean"==typeof B?B:B.clone(),!0;{const A=g[i];if("number"==typeof B||"boolean"==typeof B){if(A!==B)return g[i]=B,!0}else if(!1===A.equals(B))return A.copy(B),!0}return!1}function E(A){const t={boundary:0,storage:0};return"number"==typeof A||"boolean"==typeof A?(t.boundary=4,t.storage=4):A.isVector2?(t.boundary=8,t.storage=8):A.isVector3||A.isColor?(t.boundary=16,t.storage=12):A.isVector4?(t.boundary=16,t.storage=16):A.isMatrix3?(t.boundary=48,t.storage=48):A.isMatrix4?(t.boundary=64,t.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),t}function s(t){const e=t.target;e.removeEventListener("dispose",s);const g=I.indexOf(e.__bindingPointIndex);I.splice(g,1),A.deleteBuffer(B[e.id]),delete B[e.id],delete i[e.id]}return{bind:function(A,t){const e=t.program;g.uniformBlockBinding(A,e)},update:function(e,n){let C=B[e.id];void 0===C&&(function(A){const t=A.uniforms;let e=0;for(let A=0,g=t.length;A0&&(e+=16-g),A.__size=e,A.__cache={}}(e),C=function(t){const e=function(){for(let A=0;A0),n=!!e.morphAttributes.position,C=!!e.morphAttributes.normal,a=!!e.morphAttributes.color;let r=AA;g.toneMapped&&(null!==F&&!0!==F.isXRRenderTarget||(r=p.toneMapping));const c=e.morphAttributes.position||e.morphAttributes.normal||e.morphAttributes.color,l=void 0!==c?c.length:0,h=tA.get(g),d=u.state.lights;if(!0===T&&(!0===W||A!==G)){const t=A===G&&g.id===R;CA.setState(g,A,t)}let w=!1;g.version===h.__version?h.needsLights&&h.lightsStateVersion!==d.state.version||h.outputColorSpace!==Q||B.isBatchedMesh&&!1===h.batching?w=!0:B.isBatchedMesh||!0!==h.batching?B.isInstancedMesh&&!1===h.instancing?w=!0:B.isInstancedMesh||!0!==h.instancing?B.isSkinnedMesh&&!1===h.skinning?w=!0:B.isSkinnedMesh||!0!==h.skinning?B.isInstancedMesh&&!0===h.instancingColor&&null===B.instanceColor||B.isInstancedMesh&&!1===h.instancingColor&&null!==B.instanceColor||B.isInstancedMesh&&!0===h.instancingMorph&&null===B.morphTexture||B.isInstancedMesh&&!1===h.instancingMorph&&null!==B.morphTexture||h.envMap!==o||!0===g.fog&&h.fog!==i?w=!0:void 0===h.numClippingPlanes||h.numClippingPlanes===CA.numPlanes&&h.numIntersection===CA.numIntersection?(h.vertexAlphas!==E||h.vertexTangents!==s||h.morphTargets!==n||h.morphNormals!==C||h.morphColors!==a||h.toneMapping!==r||h.morphTargetsCount!==l)&&(w=!0):w=!0:w=!0:w=!0:w=!0:(w=!0,h.__version=g.version);let D=h.currentProgram;!0===w&&(D=_A(g,t,B));let m=!1,f=!1,y=!1;const M=D.getUniforms(),U=h.uniforms;if(j.useProgram(D.program)&&(m=!0,f=!0,y=!0),g.id!==R&&(R=g.id,f=!0),m||G!==A){M.setValue(DA,"projectionMatrix",A.projectionMatrix),M.setValue(DA,"viewMatrix",A.matrixWorldInverse);const t=M.map.cameraPosition;void 0!==t&&t.setValue(DA,P.setFromMatrixPosition(A.matrixWorld)),q.logarithmicDepthBuffer&&M.setValue(DA,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),(g.isMeshPhongMaterial||g.isMeshToonMaterial||g.isMeshLambertMaterial||g.isMeshBasicMaterial||g.isMeshStandardMaterial||g.isShaderMaterial)&&M.setValue(DA,"isOrthographic",!0===A.isOrthographicCamera),G!==A&&(G=A,f=!0,y=!0)}if(B.isSkinnedMesh){M.setOptional(DA,B,"bindMatrix"),M.setOptional(DA,B,"bindMatrixInverse");const A=B.skeleton;A&&(null===A.boneTexture&&A.computeBoneTexture(),M.setValue(DA,"boneTexture",A.boneTexture,eA))}B.isBatchedMesh&&(M.setOptional(DA,B,"batchingTexture"),M.setValue(DA,"batchingTexture",B._matricesTexture,eA));const S=e.morphAttributes;var H,N;if(void 0===S.position&&void 0===S.normal&&void 0===S.color||cA.update(B,e,D),(f||h.receiveShadow!==B.receiveShadow)&&(h.receiveShadow=B.receiveShadow,M.setValue(DA,"receiveShadow",B.receiveShadow)),g.isMeshGouraudMaterial&&null!==g.envMap&&(U.envMap.value=o,U.flipEnvMap.value=o.isCubeTexture&&!1===o.isRenderTargetTexture?-1:1),g.isMeshStandardMaterial&&null===g.envMap&&null!==t.environment&&(U.envMapIntensity.value=t.environmentIntensity),f&&(M.setValue(DA,"toneMappingExposure",p.toneMappingExposure),h.needsLights&&(N=y,(H=U).ambientLightColor.needsUpdate=N,H.lightProbe.needsUpdate=N,H.directionalLights.needsUpdate=N,H.directionalLightShadows.needsUpdate=N,H.pointLights.needsUpdate=N,H.pointLightShadows.needsUpdate=N,H.spotLights.needsUpdate=N,H.spotLightShadows.needsUpdate=N,H.rectAreaLights.needsUpdate=N,H.hemisphereLights.needsUpdate=N),i&&!0===g.fog&&EA.refreshFogUniforms(U,i),EA.refreshMaterialUniforms(U,g,Y,k,u.state.transmissionRenderTarget),eo.upload(DA,zA(h),U,eA)),g.isShaderMaterial&&!0===g.uniformsNeedUpdate&&(eo.upload(DA,zA(h),U,eA),g.uniformsNeedUpdate=!1),g.isSpriteMaterial&&M.setValue(DA,"center",B.center),M.setValue(DA,"modelViewMatrix",B.modelViewMatrix),M.setValue(DA,"normalMatrix",B.normalMatrix),M.setValue(DA,"modelMatrix",B.matrixWorld),g.isShaderMaterial||g.isRawShaderMaterial){const A=g.uniformsGroups;for(let t=0,e=A.length;t{function e(){g.forEach((function(A){tA.get(A).currentProgram.isReady()&&g.delete(A)})),0!==g.size?setTimeout(e,10):t(A)}null!==z.get("KHR_parallel_shader_compile")?e():setTimeout(e,10)}))};let NA=null;function VA(){ZA.stop()}function KA(){ZA.start()}const ZA=new aI;function WA(A,t,e,g){if(!1===A.visible)return;if(A.layers.test(t.layers))if(A.isGroup)e=A.renderOrder;else if(A.isLOD)!0===A.autoUpdate&&A.update(t);else if(A.isLight)u.pushLight(A),A.castShadow&&u.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||Z.intersectsSprite(A)){g&&P.setFromMatrixPosition(A.matrixWorld).applyMatrix4(v);const t=QA.update(A),B=A.material;B.visible&&d.push(A,t,B,e,P.z,null)}}else if((A.isMesh||A.isLine||A.isPoints)&&(!A.frustumCulled||Z.intersectsObject(A))){const t=QA.update(A),B=A.material;if(g&&(void 0!==A.boundingSphere?(null===A.boundingSphere&&A.computeBoundingSphere(),P.copy(A.boundingSphere.center)):(null===t.boundingSphere&&t.computeBoundingSphere(),P.copy(t.boundingSphere.center)),P.applyMatrix4(A.matrixWorld).applyMatrix4(v)),Array.isArray(B)){const g=t.groups;for(let i=0,I=g.length;i0&&function(A,t,e,g){if(null!==(!0===e.isScene?e.overrideMaterial:null))return;null===u.state.transmissionRenderTarget&&(u.state.transmissionRenderTarget=new yg(1,1,{generateMipmaps:!0,type:z.has("EXT_color_buffer_half_float")||z.has("EXT_color_buffer_float")?YA:MA,minFilter:RA,samples:4,stencilBuffer:i}),tA.get(u.state.transmissionRenderTarget).__isTransmissionRenderTarget=!0);const B=u.state.transmissionRenderTarget;p.getDrawingBufferSize(X),B.setSize(X.x,X.y);const I=p.getRenderTarget();p.setRenderTarget(B),p.getClearColor(H),N=p.getClearAlpha(),N<1&&p.setClearColor(16777215,.5),p.clear();const Q=p.toneMapping;p.toneMapping=AA,XA(A,e,g),eA.updateMultisampleRenderTarget(B),eA.updateRenderTargetMipmap(B);let o=!1;for(let A=0,B=t.length;A0&&XA(B,t,e),I.length>0&&XA(I,t,e),Q.length>0&&XA(Q,t,e),j.buffers.depth.setTest(!0),j.buffers.depth.setMask(!0),j.buffers.color.setMask(!0),j.setPolygonOffset(!1)}function XA(A,t,e){const g=!0===t.isScene?t.overrideMaterial:null;for(let B=0,i=A.length;B0?D[D.length-1]:null,w.pop(),d=w.length>0?w[w.length-1]:null},this.getActiveCubeFace=function(){return f},this.getActiveMipmapLevel=function(){return y},this.getRenderTarget=function(){return F},this.setRenderTargetTextures=function(A,t,e){tA.get(A.texture).__webglTexture=t,tA.get(A.depthTexture).__webglTexture=e;const g=tA.get(A);g.__hasExternalTextures=!0,g.__autoAllocateDepthBuffer=void 0===e,g.__autoAllocateDepthBuffer||!0===z.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),g.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(A,t){const e=tA.get(A);e.__webglFramebuffer=t,e.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(A,t=0,e=0){F=A,f=t,y=e;let g=!0,B=null,i=!1,I=!1;if(A){const Q=tA.get(A);void 0!==Q.__useDefaultFramebuffer?(j.bindFramebuffer(DA.FRAMEBUFFER,null),g=!1):void 0===Q.__webglFramebuffer?eA.setupRenderTarget(A):Q.__hasExternalTextures&&eA.rebindTextures(A,tA.get(A.texture).__webglTexture,tA.get(A.depthTexture).__webglTexture);const o=A.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(I=!0);const E=tA.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(B=Array.isArray(E[t])?E[t][e]:E[t],i=!0):B=A.samples>0&&!1===eA.useMultisampledRTT(A)?tA.get(A).__webglMultisampledFramebuffer:Array.isArray(E)?E[e]:E,M.copy(A.viewport),U.copy(A.scissor),S=A.scissorTest}else M.copy(L).multiplyScalar(Y).floor(),U.copy(V).multiplyScalar(Y).floor(),S=K;if(j.bindFramebuffer(DA.FRAMEBUFFER,B)&&g&&j.drawBuffers(A,B),j.viewport(M),j.scissor(U),j.setScissorTest(S),i){const g=tA.get(A.texture);DA.framebufferTexture2D(DA.FRAMEBUFFER,DA.COLOR_ATTACHMENT0,DA.TEXTURE_CUBE_MAP_POSITIVE_X+t,g.__webglTexture,e)}else if(I){const g=tA.get(A.texture),B=t||0;DA.framebufferTextureLayer(DA.FRAMEBUFFER,DA.COLOR_ATTACHMENT0,g.__webglTexture,e||0,B)}R=-1},this.readRenderTargetPixels=function(A,t,e,g,B,i,I){if(!A||!A.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let Q=tA.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&void 0!==I&&(Q=Q[I]),Q){j.bindFramebuffer(DA.FRAMEBUFFER,Q);try{const I=A.texture,Q=I.format,o=I.type;if(Q!==TA&&dA.convert(Q)!==DA.getParameter(DA.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const E=o===YA&&(z.has("EXT_color_buffer_half_float")||z.has("EXT_color_buffer_float"));if(o!==MA&&dA.convert(o)!==DA.getParameter(DA.IMPLEMENTATION_COLOR_READ_TYPE)&&o!==kA&&!E)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=A.width-g&&e>=0&&e<=A.height-B&&DA.readPixels(t,e,g,B,dA.convert(Q),dA.convert(o),i)}finally{const A=null!==F?tA.get(F).__webglFramebuffer:null;j.bindFramebuffer(DA.FRAMEBUFFER,A)}}},this.copyFramebufferToTexture=function(A,t,e=0){const g=Math.pow(2,-e),B=Math.floor(t.image.width*g),i=Math.floor(t.image.height*g);eA.setTexture2D(t,0),DA.copyTexSubImage2D(DA.TEXTURE_2D,e,0,0,A.x,A.y,B,i),j.unbindTexture()},this.copyTextureToTexture=function(A,t,e,g=0){const B=t.image.width,i=t.image.height,I=dA.convert(e.format),Q=dA.convert(e.type);eA.setTexture2D(e,0),DA.pixelStorei(DA.UNPACK_FLIP_Y_WEBGL,e.flipY),DA.pixelStorei(DA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha),DA.pixelStorei(DA.UNPACK_ALIGNMENT,e.unpackAlignment),t.isDataTexture?DA.texSubImage2D(DA.TEXTURE_2D,g,A.x,A.y,B,i,I,Q,t.image.data):t.isCompressedTexture?DA.compressedTexSubImage2D(DA.TEXTURE_2D,g,A.x,A.y,t.mipmaps[0].width,t.mipmaps[0].height,I,t.mipmaps[0].data):DA.texSubImage2D(DA.TEXTURE_2D,g,A.x,A.y,I,Q,t.image),0===g&&e.generateMipmaps&&DA.generateMipmap(DA.TEXTURE_2D),j.unbindTexture()},this.copyTextureToTexture3D=function(A,t,e,g,B=0){const i=Math.round(A.max.x-A.min.x),I=Math.round(A.max.y-A.min.y),Q=A.max.z-A.min.z+1,o=dA.convert(g.format),E=dA.convert(g.type);let s;if(g.isData3DTexture)eA.setTexture3D(g,0),s=DA.TEXTURE_3D;else{if(!g.isDataArrayTexture&&!g.isCompressedArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");eA.setTexture2DArray(g,0),s=DA.TEXTURE_2D_ARRAY}DA.pixelStorei(DA.UNPACK_FLIP_Y_WEBGL,g.flipY),DA.pixelStorei(DA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,g.premultiplyAlpha),DA.pixelStorei(DA.UNPACK_ALIGNMENT,g.unpackAlignment);const n=DA.getParameter(DA.UNPACK_ROW_LENGTH),C=DA.getParameter(DA.UNPACK_IMAGE_HEIGHT),a=DA.getParameter(DA.UNPACK_SKIP_PIXELS),r=DA.getParameter(DA.UNPACK_SKIP_ROWS),c=DA.getParameter(DA.UNPACK_SKIP_IMAGES),l=e.isCompressedTexture?e.mipmaps[B]:e.image;DA.pixelStorei(DA.UNPACK_ROW_LENGTH,l.width),DA.pixelStorei(DA.UNPACK_IMAGE_HEIGHT,l.height),DA.pixelStorei(DA.UNPACK_SKIP_PIXELS,A.min.x),DA.pixelStorei(DA.UNPACK_SKIP_ROWS,A.min.y),DA.pixelStorei(DA.UNPACK_SKIP_IMAGES,A.min.z),e.isDataTexture||e.isData3DTexture?DA.texSubImage3D(s,B,t.x,t.y,t.z,i,I,Q,o,E,l.data):g.isCompressedArrayTexture?DA.compressedTexSubImage3D(s,B,t.x,t.y,t.z,i,I,Q,o,l.data):DA.texSubImage3D(s,B,t.x,t.y,t.z,i,I,Q,o,E,l),DA.pixelStorei(DA.UNPACK_ROW_LENGTH,n),DA.pixelStorei(DA.UNPACK_IMAGE_HEIGHT,C),DA.pixelStorei(DA.UNPACK_SKIP_PIXELS,a),DA.pixelStorei(DA.UNPACK_SKIP_ROWS,r),DA.pixelStorei(DA.UNPACK_SKIP_IMAGES,c),0===B&&g.generateMipmaps&&DA.generateMipmap(s),j.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?eA.setTextureCube(A,0):A.isData3DTexture?eA.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?eA.setTexture2DArray(A,0):eA.setTexture2D(A,0),j.unbindTexture()},this.resetState=function(){f=0,y=0,F=null,j.reset(),uA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Le}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const t=this.getContext();t.drawingBufferColorSpace=A===jt?"display-p3":"srgb",t.unpackColorSpace=ag.workingColorSpace===$t?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(A){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=A}}class AE{constructor(A,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new zB(A),this.density=t}clone(){return new AE(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class tE{constructor(A,t=1,e=1e3){this.isFog=!0,this.name="",this.color=new zB(A),this.near=t,this.far=e}clone(){return new tE(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class eE extends bB{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new hB,this.environmentIntensity=1,this.environmentRotation=new hB,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,t){return super.copy(A,t),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,this.backgroundRotation.copy(A.backgroundRotation),this.environmentIntensity=A.environmentIntensity,this.environmentRotation.copy(A.environmentRotation),null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const t=super.toJSON(A);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),1!==this.environmentIntensity&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class gE{constructor(A,t){this.isInterleavedBuffer=!0,this.array=A,this.stride=t,this.count=void 0!==A?A.length/t:0,this.usage=Ge,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Xe()}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}get updateRange(){return og("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,t){this.updateRanges.push({start:A,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,t,e){A*=this.stride,e*=t.stride;for(let g=0,B=this.stride;gA.far||t.push({distance:Q,point:oE.clone(),uv:vB.getInterpolation(oE,rE,cE,lE,hE,dE,uE,new $e),face:null,object:this})}copy(A,t){return super.copy(A,t),void 0!==A.center&&this.center.copy(A.center),this.material=A.material,this}}function DE(A,t,e,g,B,i){nE.subVectors(A,e).addScalar(.5).multiply(g),void 0!==B?(CE.x=i*nE.x-B*nE.y,CE.y=B*nE.x+i*nE.y):CE.copy(nE),A.copy(t),A.x+=CE.x,A.y+=CE.y,A.applyMatrix4(aE)}const pE=new Sg,mE=new Sg;class fE extends bB{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const t=A.levels;for(let A=0,e=t.length;A0){let e,g;for(e=1,g=t.length;e0){pE.setFromMatrixPosition(this.matrixWorld);const e=A.ray.origin.distanceTo(pE);this.getObjectForDistance(e).raycast(A,t)}}update(A){const t=this.levels;if(t.length>1){pE.setFromMatrixPosition(A.matrixWorld),mE.setFromMatrixPosition(this.matrixWorld);const e=pE.distanceTo(mE)/A.zoom;let g,B;for(t[0].object.visible=!0,g=1,B=t.length;g=A))break;t[g-1].object.visible=!1,t[g].object.visible=!0}for(this._currentLevel=g-1;g=e.length&&e.push({start:-1,count:-1,z:-1});const B=e[this.index];g.push(B),this.index++,B.start=A.start,B.count=A.count,B.z=t}reset(){this.list.length=0,this.index=0}}const jE="batchId",$E=new QB,As=new QB,ts=new QB,es=new QB,gs=new CI,Bs=new bg,is=new jg,Is=new Sg,Qs=new qE,os=new Ti,Es=[];function ss(A,t,e=0){const g=t.itemSize;if(A.isInterleavedBufferAttribute||A.array.constructor!==t.array.constructor){const B=A.count;for(let i=0;i65536?new Uint32Array(B):new Uint16Array(B);t.setIndex(new oi(A,1))}const i=g>65536?new Uint32Array(e):new Uint16Array(e);t.setAttribute(jE,new oi(i,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute(jE))throw new Error(`BatchedMesh: Geometry cannot use attribute "${jE}"`);const t=this.geometry;if(Boolean(A.getIndex())!==Boolean(t.getIndex()))throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const e in t.attributes){if(e===jE)continue;if(!A.hasAttribute(e))throw new Error(`BatchedMesh: Added geometry missing "${e}". All geometries must have consistent attributes.`);const g=A.getAttribute(e),B=t.getAttribute(e);if(g.itemSize!==B.itemSize||g.normalized!==B.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(A){return this.customSort=A,this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new bg);const A=this._geometryCount,t=this.boundingBox,e=this._active;t.makeEmpty();for(let g=0;g=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const g={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let B=null;const i=this._reservedRanges,I=this._drawRanges,Q=this._bounds;0!==this._geometryCount&&(B=i[i.length-1]),g.vertexCount=-1===t?A.getAttribute("position").count:t,g.vertexStart=null===B?0:B.vertexStart+B.vertexCount;const o=A.getIndex(),E=null!==o;if(E&&(g.indexCount=-1===e?o.count:e,g.indexStart=null===B?0:B.indexStart+B.indexCount),-1!==g.indexStart&&g.indexStart+g.indexCount>this._maxIndexCount||g.vertexStart+g.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const s=this._visibility,n=this._active,C=this._matricesTexture,a=this._matricesTexture.image.data;s.push(!0),n.push(!0);const r=this._geometryCount;this._geometryCount++,ts.toArray(a,16*r),C.needsUpdate=!0,i.push(g),I.push({start:E?g.indexStart:g.vertexStart,count:-1}),Q.push({boxInitialized:!1,box:new bg,sphereInitialized:!1,sphere:new jg});const c=this.geometry.getAttribute(jE);for(let A=0;A=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const e=this.geometry,g=null!==e.getIndex(),B=e.getIndex(),i=t.getIndex(),I=this._reservedRanges[A];if(g&&i.count>I.indexCount||t.attributes.position.count>I.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const Q=I.vertexStart,o=I.vertexCount;for(const A in e.attributes){if(A===jE)continue;const g=t.getAttribute(A),B=e.getAttribute(A);ss(g,B,Q);const i=g.itemSize;for(let A=g.count,t=o;A=t.length||!1===t[A]||(t[A]=!1,this._visibilityChanged=!0),this}getBoundingBoxAt(A,t){if(!1===this._active[A])return null;const e=this._bounds[A],g=e.box,B=this.geometry;if(!1===e.boxInitialized){g.makeEmpty();const t=B.index,i=B.attributes.position,I=this._drawRanges[A];for(let A=I.start,e=I.start+I.count;A=this._geometryCount||!1===e[A]||(t.toArray(B,16*A),g.needsUpdate=!0),this}getMatrixAt(A,t){const e=this._active,g=this._matricesTexture.image.data;return A>=this._geometryCount||!1===e[A]?null:t.fromArray(g,16*A)}setVisibleAt(A,t){const e=this._visibility,g=this._active;return A>=this._geometryCount||!1===g[A]||e[A]===t||(e[A]=t,this._visibilityChanged=!0),this}getVisibleAt(A){const t=this._visibility,e=this._active;return!(A>=this._geometryCount||!1===e[A])&&t[A]}raycast(A,t){const e=this._visibility,g=this._active,B=this._drawRanges,i=this._geometryCount,I=this.matrixWorld,Q=this.geometry;os.material=this.material,os.geometry.index=Q.index,os.geometry.attributes=Q.attributes,null===os.geometry.boundingBox&&(os.geometry.boundingBox=new bg),null===os.geometry.boundingSphere&&(os.geometry.boundingSphere=new jg);for(let Q=0;Q({...A}))),this._reservedRanges=A._reservedRanges.map((A=>({...A}))),this._visibility=A._visibility.slice(),this._active=A._active.slice(),this._bounds=A._bounds.map((A=>({boxInitialized:A.boxInitialized,box:A.box.clone(),sphereInitialized:A.sphereInitialized,sphere:A.sphere.clone()}))),this._maxGeometryCount=A._maxGeometryCount,this._maxVertexCount=A._maxVertexCount,this._maxIndexCount=A._maxIndexCount,this._geometryInitialized=A._geometryInitialized,this._geometryCount=A._geometryCount,this._multiDrawCounts=A._multiDrawCounts.slice(),this._multiDrawStarts=A._multiDrawStarts.slice(),this._matricesTexture=A._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(A,t,e,g,B){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const i=g.getIndex(),I=null===i?1:i.array.BYTES_PER_ELEMENT,Q=this._active,o=this._visibility,E=this._multiDrawStarts,s=this._multiDrawCounts,n=this._drawRanges,C=this.perObjectFrustumCulled;C&&(es.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse).multiply(this.matrixWorld),gs.setFromProjectionMatrix(es,A.coordinateSystem));let a=0;if(this.sortObjects){As.copy(this.matrixWorld).invert(),Is.setFromMatrixPosition(e.matrixWorld).applyMatrix4(As);for(let A=0,t=o.length;AQ)continue;n.applyMatrix4(this.matrixWorld);const i=A.ray.origin.distanceTo(n);iA.far||t.push({distance:i,point:s.clone().applyMatrix4(this.matrixWorld),index:e,face:null,faceIndex:null,object:this})}else for(let e=Math.max(0,i.start),g=Math.min(r.count,i.start+i.count)-1;eQ)continue;n.applyMatrix4(this.matrixWorld);const g=A.ray.origin.distanceTo(n);gA.far||t.push({distance:g,point:s.clone().applyMatrix4(this.matrixWorld),index:e,face:null,faceIndex:null,object:this})}}updateMorphTargets(){const A=this.geometry.morphAttributes,t=Object.keys(A);if(t.length>0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;A0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;AB.far)return;i.push({distance:o,distanceToRay:Math.sqrt(Q),point:e,index:t,face:null,object:I})}}class Us extends pg{constructor(A,t,e,g,B,i,I,Q,o){super(A,t,e,g,B,i,I,Q,o),this.isVideoTexture=!0,this.minFilter=void 0!==i?i:fA,this.magFilter=void 0!==B?B:fA,this.generateMipmaps=!1;const E=this;"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback((function t(){E.needsUpdate=!0,A.requestVideoFrameCallback(t)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;!1=="requestVideoFrameCallback"in A&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ss extends pg{constructor(A,t){super({width:A,height:t}),this.isFramebufferTexture=!0,this.magFilter=uA,this.minFilter=uA,this.generateMipmaps=!1,this.needsUpdate=!0}}class Hs extends pg{constructor(A,t,e,g,B,i,I,Q,o,E,s,n){super(null,i,I,Q,o,E,g,B,s,n),this.isCompressedTexture=!0,this.image={width:t,height:e},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class Ns extends Hs{constructor(A,t,e,g,B,i){super(A,t,e,B,i),this.isCompressedArrayTexture=!0,this.image.depth=g,this.wrapR=hA}}class bs extends Hs{constructor(A,t,e){super(void 0,A[0].width,A[0].height,t,e,nA),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class ks extends pg{constructor(A,t,e,g,B,i,I,Q,o){super(A,t,e,g,B,i,I,Q,o),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ys{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,t){const e=this.getUtoTmapping(A);return this.getPoint(e,t)}getPoints(A=5){const t=[];for(let e=0;e<=A;e++)t.push(this.getPoint(e/A));return t}getSpacedPoints(A=5){const t=[];for(let e=0;e<=A;e++)t.push(this.getPointAt(e/A));return t}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let e,g=this.getPoint(0),B=0;t.push(0);for(let i=1;i<=A;i++)e=this.getPoint(i/A),B+=e.distanceTo(g),t.push(B),g=e;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,t){const e=this.getLengths();let g=0;const B=e.length;let i;i=t||A*e[B-1];let I,Q=0,o=B-1;for(;Q<=o;)if(g=Math.floor(Q+(o-Q)/2),I=e[g]-i,I<0)Q=g+1;else{if(!(I>0)){o=g;break}o=g-1}if(g=o,e[g]===i)return g/(B-1);const E=e[g];return(g+(i-E)/(e[g+1]-E))/(B-1)}getTangent(A,t){const e=1e-4;let g=A-e,B=A+e;g<0&&(g=0),B>1&&(B=1);const i=this.getPoint(g),I=this.getPoint(B),Q=t||(i.isVector2?new $e:new Sg);return Q.copy(I).sub(i).normalize(),Q}getTangentAt(A,t){const e=this.getUtoTmapping(A);return this.getTangent(e,t)}computeFrenetFrames(A,t){const e=new Sg,g=[],B=[],i=[],I=new Sg,Q=new QB;for(let t=0;t<=A;t++){const e=t/A;g[t]=this.getTangentAt(e,new Sg)}B[0]=new Sg,i[0]=new Sg;let o=Number.MAX_VALUE;const E=Math.abs(g[0].x),s=Math.abs(g[0].y),n=Math.abs(g[0].z);E<=o&&(o=E,e.set(1,0,0)),s<=o&&(o=s,e.set(0,1,0)),n<=o&&e.set(0,0,1),I.crossVectors(g[0],e).normalize(),B[0].crossVectors(g[0],I),i[0].crossVectors(g[0],B[0]);for(let t=1;t<=A;t++){if(B[t]=B[t-1].clone(),i[t]=i[t-1].clone(),I.crossVectors(g[t-1],g[t]),I.length()>Number.EPSILON){I.normalize();const A=Math.acos(Pe(g[t-1].dot(g[t]),-1,1));B[t].applyMatrix4(Q.makeRotationAxis(I,A))}i[t].crossVectors(g[t],B[t])}if(!0===t){let t=Math.acos(Pe(B[0].dot(B[A]),-1,1));t/=A,g[0].dot(I.crossVectors(B[0],B[A]))>0&&(t=-t);for(let e=1;e<=A;e++)B[e].applyMatrix4(Q.makeRotationAxis(g[e],t*e)),i[e].crossVectors(g[e],B[e])}return{tangents:g,normals:B,binormals:i}}clone(){return(new this.constructor).copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class xs extends Ys{constructor(A=0,t=0,e=1,g=1,B=0,i=2*Math.PI,I=!1,Q=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=t,this.xRadius=e,this.yRadius=g,this.aStartAngle=B,this.aEndAngle=i,this.aClockwise=I,this.aRotation=Q}getPoint(A,t=new $e){const e=t,g=2*Math.PI;let B=this.aEndAngle-this.aStartAngle;const i=Math.abs(B)g;)B-=g;B0?0:(Math.floor(Math.abs(o)/B)+1)*B:0===E&&o===B-1&&(o=B-2,E=1),this.closed||o>0?I=g[(o-1)%B]:(Vs.subVectors(g[0],g[1]).add(g[0]),I=Vs);const s=g[o%B],n=g[(o+1)%B];if(this.closed||o+2g.length-2?g.length-1:i+1],s=g[i>g.length-3?g.length-1:i+2];return e.set(vs(I,Q.x,o.x,E.x,s.x),vs(I,Q.y,o.y,E.y,s.y)),e}copy(A){super.copy(A),this.points=[];for(let t=0,e=A.points.length;t=e){const A=g[B]-e,i=this.curves[B],I=i.getLength(),Q=0===I?0:1-A/I;return i.getPointAt(Q,t)}B++}return null}getLength(){const A=this.getCurveLengths();return A[A.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 A=[];let t=0;for(let e=0,g=this.curves.length;e1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(A){super.copy(A),this.curves=[];for(let t=0,e=A.curves.length;t0){const A=o.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(o);const E=o.getPoint(1);return this.currentPoint.copy(E),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class Bn extends yi{constructor(A=[new $e(0,-.5),new $e(.5,0),new $e(0,.5)],t=12,e=0,g=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:A,segments:t,phiStart:e,phiLength:g},t=Math.floor(t),g=Pe(g,0,2*Math.PI);const B=[],i=[],I=[],Q=[],o=[],E=1/t,s=new Sg,n=new $e,C=new Sg,a=new Sg,r=new Sg;let c=0,l=0;for(let t=0;t<=A.length-1;t++)switch(t){case 0:c=A[t+1].x-A[t].x,l=A[t+1].y-A[t].y,C.x=1*l,C.y=-c,C.z=0*l,r.copy(C),C.normalize(),Q.push(C.x,C.y,C.z);break;case A.length-1:Q.push(r.x,r.y,r.z);break;default:c=A[t+1].x-A[t].x,l=A[t+1].y-A[t].y,C.x=1*l,C.y=-c,C.z=0*l,a.copy(C),C.x+=r.x,C.y+=r.y,C.z+=r.z,C.normalize(),Q.push(C.x,C.y,C.z),r.copy(a)}for(let B=0;B<=t;B++){const C=e+B*E*g,a=Math.sin(C),r=Math.cos(C);for(let e=0;e<=A.length-1;e++){s.x=A[e].x*a,s.y=A[e].y,s.z=A[e].x*r,i.push(s.x,s.y,s.z),n.x=B/t,n.y=e/(A.length-1),I.push(n.x,n.y);const g=Q[3*e+0]*a,E=Q[3*e+1],C=Q[3*e+0]*r;o.push(g,E,C)}}for(let e=0;e0&&h(!0),t>0&&h(!1)),this.setIndex(E),this.setAttribute("position",new hi(s,3)),this.setAttribute("normal",new hi(n,3)),this.setAttribute("uv",new hi(C,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new on(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class En extends on{constructor(A=1,t=1,e=32,g=1,B=!1,i=0,I=2*Math.PI){super(0,A,t,e,g,B,i,I),this.type="ConeGeometry",this.parameters={radius:A,height:t,radialSegments:e,heightSegments:g,openEnded:B,thetaStart:i,thetaLength:I}}static fromJSON(A){return new En(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class sn extends yi{constructor(A=[],t=[],e=1,g=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:t,radius:e,detail:g};const B=[],i=[];function I(A,t,e,g){const B=g+1,i=[];for(let g=0;g<=B;g++){i[g]=[];const I=A.clone().lerp(e,g/B),Q=t.clone().lerp(e,g/B),o=B-g;for(let A=0;A<=o;A++)i[g][A]=0===A&&g===B?I:I.clone().lerp(Q,A/o)}for(let A=0;A.9&&I<.1&&(t<.2&&(i[A+0]+=1),e<.2&&(i[A+2]+=1),g<.2&&(i[A+4]+=1))}}()}(),this.setAttribute("position",new hi(B,3)),this.setAttribute("normal",new hi(B.slice(),3)),this.setAttribute("uv",new hi(i,2)),0===g?this.computeVertexNormals():this.normalizeNormals()}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new sn(A.vertices,A.indices,A.radius,A.details)}}class nn extends sn{constructor(A=1,t=0){const e=(1+Math.sqrt(5))/2,g=1/e;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,-g,-e,0,-g,e,0,g,-e,0,g,e,-g,-e,0,-g,e,0,g,-e,0,g,e,0,-e,0,-g,e,0,-g,-e,0,g,e,0,g],[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],A,t),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:t}}static fromJSON(A){return new nn(A.radius,A.detail)}}const Cn=new Sg,an=new Sg,rn=new Sg,cn=new vB;class ln extends yi{constructor(A=null,t=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:A,thresholdAngle:t},null!==A){const e=4,g=Math.pow(10,e),B=Math.cos(We*t),i=A.getIndex(),I=A.getAttribute("position"),Q=i?i.count:I.count,o=[0,0,0],E=["a","b","c"],s=new Array(3),n={},C=[];for(let A=0;A0)for(i=t;i=t;i-=g)I=Ln(i,A[i],A[i+1],I);return I&&Nn(I,I.next)&&(Vn(I),I=I.next),I}function un(A,t){if(!A)return A;t||(t=A);let e,g=A;do{if(e=!1,g.steiner||!Nn(g,g.next)&&0!==Hn(g.prev,g,g.next))g=g.next;else{if(Vn(g),g=t=g.prev,g===g.next)break;e=!0}}while(e||g!==t);return t}function wn(A,t,e,g,B,i,I){if(!A)return;!I&&i&&function(A,t,e,g){let B=A;do{0===B.z&&(B.z=Gn(B.x,B.y,t,e,g)),B.prevZ=B.prev,B.nextZ=B.next,B=B.next}while(B!==A);B.prevZ.nextZ=null,B.prevZ=null,function(A){let t,e,g,B,i,I,Q,o,E=1;do{for(e=A,A=null,i=null,I=0;e;){for(I++,g=e,Q=0,t=0;t0||o>0&&g;)0!==Q&&(0===o||!g||e.z<=g.z)?(B=e,e=e.nextZ,Q--):(B=g,g=g.nextZ,o--),i?i.nextZ=B:A=B,B.prevZ=i,i=B;e=g}i.nextZ=null,E*=2}while(I>1)}(B)}(A,g,B,i);let Q,o,E=A;for(;A.prev!==A.next;)if(Q=A.prev,o=A.next,i?pn(A,g,B,i):Dn(A))t.push(Q.i/e|0),t.push(A.i/e|0),t.push(o.i/e|0),Vn(A),A=o.next,E=o.next;else if((A=o)===E){I?1===I?wn(A=mn(un(A),t,e),t,e,g,B,i,2):2===I&&fn(A,t,e,g,B,i):wn(un(A),t,e,g,B,i,1);break}}function Dn(A){const t=A.prev,e=A,g=A.next;if(Hn(t,e,g)>=0)return!1;const B=t.x,i=e.x,I=g.x,Q=t.y,o=e.y,E=g.y,s=Bi?B>I?B:I:i>I?i:I,a=Q>o?Q>E?Q:E:o>E?o:E;let r=g.next;for(;r!==t;){if(r.x>=s&&r.x<=C&&r.y>=n&&r.y<=a&&Un(B,Q,i,o,I,E,r.x,r.y)&&Hn(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function pn(A,t,e,g){const B=A.prev,i=A,I=A.next;if(Hn(B,i,I)>=0)return!1;const Q=B.x,o=i.x,E=I.x,s=B.y,n=i.y,C=I.y,a=Qo?Q>E?Q:E:o>E?o:E,l=s>n?s>C?s:C:n>C?n:C,h=Gn(a,r,t,e,g),d=Gn(c,l,t,e,g);let u=A.prevZ,w=A.nextZ;for(;u&&u.z>=h&&w&&w.z<=d;){if(u.x>=a&&u.x<=c&&u.y>=r&&u.y<=l&&u!==B&&u!==I&&Un(Q,s,o,n,E,C,u.x,u.y)&&Hn(u.prev,u,u.next)>=0)return!1;if(u=u.prevZ,w.x>=a&&w.x<=c&&w.y>=r&&w.y<=l&&w!==B&&w!==I&&Un(Q,s,o,n,E,C,w.x,w.y)&&Hn(w.prev,w,w.next)>=0)return!1;w=w.nextZ}for(;u&&u.z>=h;){if(u.x>=a&&u.x<=c&&u.y>=r&&u.y<=l&&u!==B&&u!==I&&Un(Q,s,o,n,E,C,u.x,u.y)&&Hn(u.prev,u,u.next)>=0)return!1;u=u.prevZ}for(;w&&w.z<=d;){if(w.x>=a&&w.x<=c&&w.y>=r&&w.y<=l&&w!==B&&w!==I&&Un(Q,s,o,n,E,C,w.x,w.y)&&Hn(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function mn(A,t,e){let g=A;do{const B=g.prev,i=g.next.next;!Nn(B,i)&&bn(B,g,g.next,i)&&xn(B,i)&&xn(i,B)&&(t.push(B.i/e|0),t.push(g.i/e|0),t.push(i.i/e|0),Vn(g),Vn(g.next),g=A=i),g=g.next}while(g!==A);return un(g)}function fn(A,t,e,g,B,i){let I=A;do{let A=I.next.next;for(;A!==I.prev;){if(I.i!==A.i&&Sn(I,A)){let Q=Jn(I,A);return I=un(I,I.next),Q=un(Q,Q.next),wn(I,t,e,g,B,i,0),void wn(Q,t,e,g,B,i,0)}A=A.next}I=I.next}while(I!==A)}function yn(A,t){return A.x-t.x}function Fn(A,t){const e=function(A,t){let e,g=t,B=-1/0;const i=A.x,I=A.y;do{if(I<=g.y&&I>=g.next.y&&g.next.y!==g.y){const A=g.x+(I-g.y)*(g.next.x-g.x)/(g.next.y-g.y);if(A<=i&&A>B&&(B=A,e=g.x=g.x&&g.x>=o&&i!==g.x&&Un(Ie.x||g.x===e.x&&Rn(e,g)))&&(e=g,n=s)),g=g.next}while(g!==Q);return e}(A,t);if(!e)return t;const g=Jn(e,A);return un(g,g.next),un(e,e.next)}function Rn(A,t){return Hn(A.prev,A,t.prev)<0&&Hn(t.next,A,A.next)<0}function Gn(A,t,e,g,B){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-e)*B|0)|A<<8))|A<<4))|A<<2))|A<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-g)*B|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Mn(A){let t=A,e=A;do{(t.x=(A-I)*(i-Q)&&(A-I)*(g-Q)>=(e-I)*(t-Q)&&(e-I)*(i-Q)>=(B-I)*(g-Q)}function Sn(A,t){return A.next.i!==t.i&&A.prev.i!==t.i&&!function(A,t){let e=A;do{if(e.i!==A.i&&e.next.i!==A.i&&e.i!==t.i&&e.next.i!==t.i&&bn(e,e.next,A,t))return!0;e=e.next}while(e!==A);return!1}(A,t)&&(xn(A,t)&&xn(t,A)&&function(A,t){let e=A,g=!1;const B=(A.x+t.x)/2,i=(A.y+t.y)/2;do{e.y>i!=e.next.y>i&&e.next.y!==e.y&&B<(e.next.x-e.x)*(i-e.y)/(e.next.y-e.y)+e.x&&(g=!g),e=e.next}while(e!==A);return g}(A,t)&&(Hn(A.prev,A,t.prev)||Hn(A,t.prev,t))||Nn(A,t)&&Hn(A.prev,A,A.next)>0&&Hn(t.prev,t,t.next)>0)}function Hn(A,t,e){return(t.y-A.y)*(e.x-t.x)-(t.x-A.x)*(e.y-t.y)}function Nn(A,t){return A.x===t.x&&A.y===t.y}function bn(A,t,e,g){const B=Yn(Hn(A,t,e)),i=Yn(Hn(A,t,g)),I=Yn(Hn(e,g,A)),Q=Yn(Hn(e,g,t));return B!==i&&I!==Q||!(0!==B||!kn(A,e,t))||!(0!==i||!kn(A,g,t))||!(0!==I||!kn(e,A,g))||!(0!==Q||!kn(e,t,g))}function kn(A,t,e){return t.x<=Math.max(A.x,e.x)&&t.x>=Math.min(A.x,e.x)&&t.y<=Math.max(A.y,e.y)&&t.y>=Math.min(A.y,e.y)}function Yn(A){return A>0?1:A<0?-1:0}function xn(A,t){return Hn(A.prev,A,A.next)<0?Hn(A,t,A.next)>=0&&Hn(A,A.prev,t)>=0:Hn(A,t,A.prev)<0||Hn(A,A.next,t)<0}function Jn(A,t){const e=new Kn(A.i,A.x,A.y),g=new Kn(t.i,t.x,t.y),B=A.next,i=t.prev;return A.next=t,t.prev=A,e.next=B,B.prev=e,g.next=e,e.prev=g,i.next=g,g.prev=i,g}function Ln(A,t,e,g){const B=new Kn(A,t,e);return g?(B.next=g.next,B.prev=g,g.next.prev=B,g.next=B):(B.prev=B,B.next=B),B}function Vn(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function Kn(A,t,e){this.i=A,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Zn{static area(A){const t=A.length;let e=0;for(let g=t-1,B=0;B80*e){Q=E=A[0],o=s=A[1];for(let t=e;tE&&(E=n),C>s&&(s=C);a=Math.max(E-Q,s-o),a=0!==a?32767/a:0}return wn(i,I,e,Q,o,a,0),I}(e,g);for(let A=0;A2&&A[t-1].equals(A[0])&&A.pop()}function Wn(A,t){for(let e=0;eNumber.EPSILON){const n=Math.sqrt(s),C=Math.sqrt(o*o+E*E),a=t.x-Q/n,r=t.y+I/n,c=((e.x-E/C-a)*E-(e.y+o/C-r)*o)/(I*E-Q*o);g=a+I*c-A.x,B=r+Q*c-A.y;const l=g*g+B*B;if(l<=2)return new $e(g,B);i=Math.sqrt(l/2)}else{let A=!1;I>Number.EPSILON?o>Number.EPSILON&&(A=!0):I<-Number.EPSILON?o<-Number.EPSILON&&(A=!0):Math.sign(Q)===Math.sign(E)&&(A=!0),A?(g=-Q,B=I,i=Math.sqrt(s)):(g=I,B=Q,i=Math.sqrt(s/2))}return new $e(g/i,B/i)}const S=[];for(let A=0,t=F.length,e=t-1,g=A+1;A=0;A--){const t=A/a,e=s*Math.cos(t*Math.PI/2),g=n*Math.sin(t*Math.PI/2)+C;for(let A=0,t=F.length;A=0;){const g=e;let B=e-1;B<0&&(B=A.length-1);for(let A=0,e=Q+2*a;A0)&&C.push(t,B,o),(A!==e-1||Q0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class EC extends $B{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new zB(16777215),this.specular=new zB(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Pt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new hB,this.combine=q,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class sC extends $B{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new zB(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Pt,this.normalScale=new $e(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class nC extends $B{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Pt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class CC extends $B{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new zB(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new zB(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Pt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new hB,this.combine=q,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class aC extends $B{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new zB(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Pt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class rC extends Cs{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function cC(A,t,e){return!A||!e&&A.constructor===t?A:"number"==typeof t.BYTES_PER_ELEMENT?new t(A):Array.prototype.slice.call(A)}function lC(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)}function hC(A){const t=A.length,e=new Array(t);for(let A=0;A!==t;++A)e[A]=A;return e.sort((function(t,e){return A[t]-A[e]})),e}function dC(A,t,e){const g=A.length,B=new A.constructor(g);for(let i=0,I=0;I!==g;++i){const g=e[i]*t;for(let e=0;e!==t;++e)B[I++]=A[g+e]}return B}function uC(A,t,e,g){let B=1,i=A[0];for(;void 0!==i&&void 0===i[g];)i=A[B++];if(void 0===i)return;let I=i[g];if(void 0!==I)if(Array.isArray(I))do{I=i[g],void 0!==I&&(t.push(i.time),e.push.apply(e,I)),i=A[B++]}while(void 0!==i);else if(void 0!==I.toArray)do{I=i[g],void 0!==I&&(t.push(i.time),I.toArray(e,e.length)),i=A[B++]}while(void 0!==i);else do{I=i[g],void 0!==I&&(t.push(i.time),e.push(I)),i=A[B++]}while(void 0!==i)}const wC={convertArray:cC,isTypedArray:lC,getKeyframeOrder:hC,sortedArray:dC,flattenJSON:uC,subclip:function(A,t,e,g,B=30){const i=A.clone();i.name=t;const I=[];for(let A=0;A=g)){o.push(t.times[A]);for(let e=0;ei.tracks[A].times[0]&&(Q=i.tracks[A].times[0]);for(let A=0;A=g.times[n]){const A=n*o+Q,t=A+o-Q;C=g.values.slice(A,t)}else{const A=g.createInterpolant(),t=Q,e=o-Q;A.evaluate(i),C=A.resultBuffer.slice(t,e)}"quaternion"===B&&(new Ug).fromArray(C).normalize().conjugate().toArray(C);const a=I.times.length;for(let A=0;A=B)break A;{const I=t[1];A=B)break t}i=e,e=0}}for(;e>>1;At;)--i;if(++i,0!==B||i!==g){B>=i&&(i=Math.max(i,1),B=i-1);const A=this.getValueSize();this.times=e.slice(B,i),this.values=this.values.slice(B*A,i*A)}return this}validate(){let A=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const e=this.times,g=this.values,B=e.length;0===B&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let i=null;for(let t=0;t!==B;t++){const g=e[t];if("number"==typeof g&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,g),A=!1;break}if(null!==i&&i>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,g,i),A=!1;break}i=g}if(void 0!==g&&lC(g))for(let t=0,e=g.length;t!==e;++t){const e=g[t];if(isNaN(e)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,e),A=!1;break}}return A}optimize(){const A=this.times.slice(),t=this.values.slice(),e=this.getValueSize(),g=this.getInterpolation()===Yt,B=A.length-1;let i=1;for(let I=1;I0){A[i]=A[B];for(let A=B*e,g=i*e,I=0;I!==e;++I)t[g+I]=t[A+I];++i}return i!==A.length?(this.times=A.slice(0,i),this.values=t.slice(0,i*e)):(this.times=A,this.values=t),this}clone(){const A=this.times.slice(),t=this.values.slice(),e=new(0,this.constructor)(this.name,A,t);return e.createInterpolant=this.createInterpolant,e}}yC.prototype.TimeBufferType=Float32Array,yC.prototype.ValueBufferType=Float32Array,yC.prototype.DefaultInterpolation=kt;class FC extends yC{}FC.prototype.ValueTypeName="bool",FC.prototype.ValueBufferType=Array,FC.prototype.DefaultInterpolation=bt,FC.prototype.InterpolantFactoryMethodLinear=void 0,FC.prototype.InterpolantFactoryMethodSmooth=void 0;class RC extends yC{}RC.prototype.ValueTypeName="color";class GC extends yC{}GC.prototype.ValueTypeName="number";class MC extends DC{constructor(A,t,e,g){super(A,t,e,g)}interpolate_(A,t,e,g){const B=this.resultBuffer,i=this.sampleValues,I=this.valueSize,Q=(e-t)/(g-t);let o=A*I;for(let A=o+I;o!==A;o+=4)Ug.slerpFlat(B,0,i,o-I,i,o,Q);return B}}class UC extends yC{InterpolantFactoryMethodLinear(A){return new MC(this.times,this.values,this.getValueSize(),A)}}UC.prototype.ValueTypeName="quaternion",UC.prototype.DefaultInterpolation=kt,UC.prototype.InterpolantFactoryMethodSmooth=void 0;class SC extends yC{}SC.prototype.ValueTypeName="string",SC.prototype.ValueBufferType=Array,SC.prototype.DefaultInterpolation=bt,SC.prototype.InterpolantFactoryMethodLinear=void 0,SC.prototype.InterpolantFactoryMethodSmooth=void 0;class HC extends yC{}HC.prototype.ValueTypeName="vector";class NC{constructor(A="",t=-1,e=[],g=Vt){this.name=A,this.tracks=e,this.duration=t,this.blendMode=g,this.uuid=Xe(),this.duration<0&&this.resetDuration()}static parse(A){const t=[],e=A.tracks,g=1/(A.fps||1);for(let A=0,B=e.length;A!==B;++A)t.push(bC(e[A]).scale(g));const B=new this(A.name,A.duration,t,A.blendMode);return B.uuid=A.uuid,B}static toJSON(A){const t=[],e=A.tracks,g={name:A.name,duration:A.duration,tracks:t,uuid:A.uuid,blendMode:A.blendMode};for(let A=0,g=e.length;A!==g;++A)t.push(yC.toJSON(e[A]));return g}static CreateFromMorphTargetSequence(A,t,e,g){const B=t.length,i=[];for(let A=0;A1){const A=i[1];let t=g[A];t||(g[A]=t=[]),t.push(e)}}const i=[];for(const A in g)i.push(this.CreateFromMorphTargetSequence(A,g[A],t,e));return i}static parseAnimation(A,t){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const e=function(A,t,e,g,B){if(0!==e.length){const i=[],I=[];uC(e,i,I,g),0!==i.length&&B.push(new A(t,i,I))}},g=[],B=A.name||"default",i=A.fps||30,I=A.blendMode;let Q=A.length||-1;const o=A.hierarchy||[];for(let A=0;A{t&&t(B),this.manager.itemEnd(A)}),0),B;if(void 0!==LC[A])return void LC[A].push({onLoad:t,onProgress:e,onError:g});LC[A]=[],LC[A].push({onLoad:t,onProgress:e,onError:g});const i=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),I=this.mimeType,Q=this.responseType;fetch(i).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const e=LC[A],g=t.body.getReader(),B=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),i=B?parseInt(B):0,I=0!==i;let Q=0;const o=new ReadableStream({start(A){!function t(){g.read().then((({done:g,value:B})=>{if(g)A.close();else{Q+=B.byteLength;const g=new ProgressEvent("progress",{lengthComputable:I,loaded:Q,total:i});for(let A=0,t=e.length;A{switch(Q){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then((A=>(new DOMParser).parseFromString(A,I)));case"json":return A.json();default:if(void 0===I)return A.text();{const t=/charset="?([^;"\s]*)"?/i.exec(I),e=t&&t[1]?t[1].toLowerCase():void 0,g=new TextDecoder(e);return A.arrayBuffer().then((A=>g.decode(A)))}}})).then((t=>{kC.add(A,t);const e=LC[A];delete LC[A];for(let A=0,g=e.length;A{const e=LC[A];if(void 0===e)throw this.manager.itemError(A),t;delete LC[A];for(let A=0,g=e.length;A{this.manager.itemEnd(A)})),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class ZC extends JC{constructor(A){super(A)}load(A,t,e,g){const B=this,i=new KC(this.manager);i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,(function(e){try{t(B.parse(JSON.parse(e)))}catch(t){g?g(t):console.error(t),B.manager.itemError(A)}}),e,g)}parse(A){const t=[];for(let e=0;e0:g.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const t in A.uniforms){const B=A.uniforms[t];switch(g.uniforms[t]={},B.type){case"t":g.uniforms[t].value=e(B.value);break;case"c":g.uniforms[t].value=(new zB).setHex(B.value);break;case"v2":g.uniforms[t].value=(new $e).fromArray(B.value);break;case"v3":g.uniforms[t].value=(new Sg).fromArray(B.value);break;case"v4":g.uniforms[t].value=(new mg).fromArray(B.value);break;case"m3":g.uniforms[t].value=(new Ag).fromArray(B.value);break;case"m4":g.uniforms[t].value=(new QB).fromArray(B.value);break;default:g.uniforms[t].value=B.value}}if(void 0!==A.defines&&(g.defines=A.defines),void 0!==A.vertexShader&&(g.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(g.fragmentShader=A.fragmentShader),void 0!==A.glslVersion&&(g.glslVersion=A.glslVersion),void 0!==A.extensions)for(const t in A.extensions)g.extensions[t]=A.extensions[t];if(void 0!==A.lights&&(g.lights=A.lights),void 0!==A.clipping&&(g.clipping=A.clipping),void 0!==A.size&&(g.size=A.size),void 0!==A.sizeAttenuation&&(g.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(g.map=e(A.map)),void 0!==A.matcap&&(g.matcap=e(A.matcap)),void 0!==A.alphaMap&&(g.alphaMap=e(A.alphaMap)),void 0!==A.bumpMap&&(g.bumpMap=e(A.bumpMap)),void 0!==A.bumpScale&&(g.bumpScale=A.bumpScale),void 0!==A.normalMap&&(g.normalMap=e(A.normalMap)),void 0!==A.normalMapType&&(g.normalMapType=A.normalMapType),void 0!==A.normalScale){let t=A.normalScale;!1===Array.isArray(t)&&(t=[t,t]),g.normalScale=(new $e).fromArray(t)}return void 0!==A.displacementMap&&(g.displacementMap=e(A.displacementMap)),void 0!==A.displacementScale&&(g.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(g.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(g.roughnessMap=e(A.roughnessMap)),void 0!==A.metalnessMap&&(g.metalnessMap=e(A.metalnessMap)),void 0!==A.emissiveMap&&(g.emissiveMap=e(A.emissiveMap)),void 0!==A.emissiveIntensity&&(g.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(g.specularMap=e(A.specularMap)),void 0!==A.specularIntensityMap&&(g.specularIntensityMap=e(A.specularIntensityMap)),void 0!==A.specularColorMap&&(g.specularColorMap=e(A.specularColorMap)),void 0!==A.envMap&&(g.envMap=e(A.envMap)),void 0!==A.envMapRotation&&g.envMapRotation.fromArray(A.envMapRotation),void 0!==A.envMapIntensity&&(g.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(g.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(g.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(g.lightMap=e(A.lightMap)),void 0!==A.lightMapIntensity&&(g.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(g.aoMap=e(A.aoMap)),void 0!==A.aoMapIntensity&&(g.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(g.gradientMap=e(A.gradientMap)),void 0!==A.clearcoatMap&&(g.clearcoatMap=e(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(g.clearcoatRoughnessMap=e(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(g.clearcoatNormalMap=e(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(g.clearcoatNormalScale=(new $e).fromArray(A.clearcoatNormalScale)),void 0!==A.iridescenceMap&&(g.iridescenceMap=e(A.iridescenceMap)),void 0!==A.iridescenceThicknessMap&&(g.iridescenceThicknessMap=e(A.iridescenceThicknessMap)),void 0!==A.transmissionMap&&(g.transmissionMap=e(A.transmissionMap)),void 0!==A.thicknessMap&&(g.thicknessMap=e(A.thicknessMap)),void 0!==A.anisotropyMap&&(g.anisotropyMap=e(A.anisotropyMap)),void 0!==A.sheenColorMap&&(g.sheenColorMap=e(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(g.sheenRoughnessMap=e(A.sheenRoughnessMap)),g}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){return new{ShadowMaterial:iC,SpriteMaterial:IE,RawShaderMaterial:IC,ShaderMaterial:zi,PointsMaterial:ms,MeshPhysicalMaterial:oC,MeshStandardMaterial:QC,MeshPhongMaterial:EC,MeshToonMaterial:sC,MeshNormalMaterial:nC,MeshLambertMaterial:CC,MeshDepthMaterial:xo,MeshDistanceMaterial:Jo,MeshBasicMaterial:Ai,MeshMatcapMaterial:aC,LineDashedMaterial:rC,LineBasicMaterial:Cs,Material:$B}[A]}}class ra{static decodeText(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);let t="";for(let e=0,g=A.length;e0){const e=new YC(t);B=new WC(e),B.setCrossOrigin(this.crossOrigin);for(let t=0,e=A.length;t0){g=new WC(this.manager),g.setCrossOrigin(this.crossOrigin);for(let t=0,g=A.length;t{const t=new bg;t.min.fromArray(A.boxMin),t.max.fromArray(A.boxMax);const e=new jg;return e.radius=A.sphereRadius,e.center.fromArray(A.sphereCenter),{boxInitialized:A.boxInitialized,box:t,sphereInitialized:A.sphereInitialized,sphere:e}})),i._maxGeometryCount=A.maxGeometryCount,i._maxVertexCount=A.maxVertexCount,i._maxIndexCount=A.maxIndexCount,i._geometryInitialized=A.geometryInitialized,i._geometryCount=A.geometryCount,i._matricesTexture=s(A.matricesTexture.uuid);break;case"LOD":i=new fE;break;case"Line":i=new ds(o(A.geometry),E(A.material));break;case"LineLoop":i=new ps(o(A.geometry),E(A.material));break;case"LineSegments":i=new Ds(o(A.geometry),E(A.material));break;case"PointCloud":case"Points":i=new Gs(o(A.geometry),E(A.material));break;case"Sprite":i=new wE(E(A.material));break;case"Group":i=new Wo;break;case"Bone":i=new kE;break;default:i=new bB}if(i.uuid=A.uuid,void 0!==A.name&&(i.name=A.name),void 0!==A.matrix?(i.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(i.matrixAutoUpdate=A.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==A.position&&i.position.fromArray(A.position),void 0!==A.rotation&&i.rotation.fromArray(A.rotation),void 0!==A.quaternion&&i.quaternion.fromArray(A.quaternion),void 0!==A.scale&&i.scale.fromArray(A.scale)),void 0!==A.up&&i.up.fromArray(A.up),void 0!==A.castShadow&&(i.castShadow=A.castShadow),void 0!==A.receiveShadow&&(i.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(i.shadow.bias=A.shadow.bias),void 0!==A.shadow.normalBias&&(i.shadow.normalBias=A.shadow.normalBias),void 0!==A.shadow.radius&&(i.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&i.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(i.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(i.visible=A.visible),void 0!==A.frustumCulled&&(i.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(i.renderOrder=A.renderOrder),void 0!==A.userData&&(i.userData=A.userData),void 0!==A.layers&&(i.layers.mask=A.layers),void 0!==A.children){const I=A.children;for(let A=0;A{t&&t(e),B.manager.itemEnd(A)})).catch((A=>{g&&g(A)})):(setTimeout((function(){t&&t(i),B.manager.itemEnd(A)}),0),i);const I={};I.credentials="anonymous"===this.crossOrigin?"same-origin":"include",I.headers=this.requestHeader;const Q=fetch(A,I).then((function(A){return A.blob()})).then((function(A){return createImageBitmap(A,Object.assign(B.options,{colorSpaceConversion:"none"}))})).then((function(e){return kC.add(A,e),t&&t(e),B.manager.itemEnd(A),e})).catch((function(t){g&&g(t),kC.remove(A),B.manager.itemError(A),B.manager.itemEnd(A)}));kC.add(A,Q),B.manager.itemStart(A)}}let pa;class ma{static getContext(){return void 0===pa&&(pa=new(window.AudioContext||window.webkitAudioContext)),pa}static setContext(A){pa=A}}class fa extends JC{constructor(A){super(A)}load(A,t,e,g){const B=this,i=new KC(this.manager);function I(t){g?g(t):console.error(t),B.manager.itemError(A)}i.setResponseType("arraybuffer"),i.setPath(this.path),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,(function(A){try{const e=A.slice(0);ma.getContext().decodeAudioData(e,(function(A){t(A)})).catch(I)}catch(A){I(A)}}),e,g)}}const ya=new QB,Fa=new QB,Ra=new QB;class Ga{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new tI,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new tI,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(A){const t=this._cache;if(t.focus!==A.focus||t.fov!==A.fov||t.aspect!==A.aspect*this.aspect||t.near!==A.near||t.far!==A.far||t.zoom!==A.zoom||t.eyeSep!==this.eyeSep){t.focus=A.focus,t.fov=A.fov,t.aspect=A.aspect*this.aspect,t.near=A.near,t.far=A.far,t.zoom=A.zoom,t.eyeSep=this.eyeSep,Ra.copy(A.projectionMatrix);const e=t.eyeSep/2,g=e*t.near/t.focus,B=t.near*Math.tan(We*t.fov*.5)/t.zoom;let i,I;Fa.elements[12]=-e,ya.elements[12]=e,i=-B*t.aspect+g,I=B*t.aspect+g,Ra.elements[0]=2*t.near/(I-i),Ra.elements[8]=(I+i)/(I-i),this.cameraL.projectionMatrix.copy(Ra),i=-B*t.aspect-g,I=B*t.aspect-g,Ra.elements[0]=2*t.near/(I-i),Ra.elements[8]=(I+i)/(I-i),this.cameraR.projectionMatrix.copy(Ra)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(Fa),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(ya)}}class Ma{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Ua(),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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Ua();A=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=A}return A}}function Ua(){return("undefined"==typeof performance?Date:performance).now()}const Sa=new Sg,Ha=new Ug,Na=new Sg,ba=new Sg;class ka extends bB{constructor(){super(),this.type="AudioListener",this.context=ma.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Ma}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(A){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}updateMatrixWorld(A){super.updateMatrixWorld(A);const t=this.context.listener,e=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Sa,Ha,Na),ba.set(0,0,-1).applyQuaternion(Ha),t.positionX){const A=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Sa.x,A),t.positionY.linearRampToValueAtTime(Sa.y,A),t.positionZ.linearRampToValueAtTime(Sa.z,A),t.forwardX.linearRampToValueAtTime(ba.x,A),t.forwardY.linearRampToValueAtTime(ba.y,A),t.forwardZ.linearRampToValueAtTime(ba.z,A),t.upX.linearRampToValueAtTime(e.x,A),t.upY.linearRampToValueAtTime(e.y,A),t.upZ.linearRampToValueAtTime(e.z,A)}else t.setPosition(Sa.x,Sa.y,Sa.z),t.setOrientation(ba.x,ba.y,ba.z,e.x,e.y,e.z)}}class Ya extends bB{constructor(A){super(),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.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(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this}setMediaElementSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this}setMediaStreamSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this}setBuffer(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this}play(A=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+A;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,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,null!==this.source&&(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 A=1,t=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,t=this.filters.length;A0&&this._mixBufferRegionAdditive(e,g,this._addIndex*t,1,t);for(let A=t,B=t+t;A!==B;++A)if(e[A]!==e[A+t]){I.setValue(e,g);break}}saveOriginalState(){const A=this.binding,t=this.buffer,e=this.valueSize,g=e*this._origIndex;A.getValue(t,g);for(let A=e,B=g;A!==B;++A)t[A]=t[g+A%e];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=3*this.valueSize;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,t=A+this.valueSize;for(let e=A;e=.5)for(let g=0;g!==B;++g)A[t+g]=A[e+g]}_slerp(A,t,e,g){Ug.slerpFlat(A,t,A,t,A,e,g)}_slerpAdditive(A,t,e,g,B){const i=this._workIndex*B;Ug.multiplyQuaternionsFlat(A,i,A,t,A,e),Ug.slerpFlat(A,t,A,t,A,i,g)}_lerp(A,t,e,g,B){const i=1-g;for(let I=0;I!==B;++I){const B=t+I;A[B]=A[B]*i+A[e+I]*g}}_lerpAdditive(A,t,e,g,B){for(let i=0;i!==B;++i){const B=t+i;A[B]=A[B]+A[e+i]*g}}}const Wa="\\[\\]\\.:\\/",va=new RegExp("["+Wa+"]","g"),Xa="[^"+Wa+"]",Pa="[^"+Wa.replace("\\.","")+"]",_a=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",Xa)+/(WCOD+)?/.source.replace("WCOD",Pa)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Xa)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Xa)+"$"),Oa=["material","materials","bones","map"];class za{constructor(A,t,e){this.path=t,this.parsedPath=e||za.parseTrackName(t),this.node=za.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,t,e){return A&&A.isAnimationObjectGroup?new za.Composite(A,t,e):new za(A,t,e)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(va,"")}static parseTrackName(A){const t=_a.exec(A);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const e={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},g=e.nodeName&&e.nodeName.lastIndexOf(".");if(void 0!==g&&-1!==g){const A=e.nodeName.substring(g+1);-1!==Oa.indexOf(A)&&(e.nodeName=e.nodeName.substring(0,g),e.objectName=A)}if(null===e.propertyName||0===e.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return e}static findNode(A,t){if(void 0===t||""===t||"."===t||-1===t||t===A.name||t===A.uuid)return A;if(A.skeleton){const e=A.skeleton.getBoneByName(t);if(void 0!==e)return e}if(A.children){const e=function(A){for(let g=0;g=B){const i=B++,E=A[i];t[E.uuid]=o,A[o]=E,t[Q]=i,A[i]=I;for(let A=0,t=g;A!==t;++A){const t=e[A],g=t[i],B=t[o];t[o]=g,t[i]=B}}}this.nCachedObjects_=B}uncache(){const A=this._objects,t=this._indicesByUUID,e=this._bindings,g=e.length;let B=this.nCachedObjects_,i=A.length;for(let I=0,Q=arguments.length;I!==Q;++I){const Q=arguments[I].uuid,o=t[Q];if(void 0!==o)if(delete t[Q],o0&&(t[I.uuid]=o),A[o]=I,A.pop();for(let A=0,t=g;A!==t;++A){const t=e[A];t[o]=t[B],t.pop()}}}this.nCachedObjects_=B}subscribe_(A,t){const e=this._bindingsIndicesByPath;let g=e[A];const B=this._bindings;if(void 0!==g)return B[g];const i=this._paths,I=this._parsedPaths,Q=this._objects,o=Q.length,E=this.nCachedObjects_,s=new Array(o);g=B.length,e[A]=g,i.push(A),I.push(t),B.push(s);for(let e=E,g=Q.length;e!==g;++e){const g=Q[e];s[e]=new za(g,A,t)}return s}unsubscribe_(A){const t=this._bindingsIndicesByPath,e=t[A];if(void 0!==e){const g=this._paths,B=this._parsedPaths,i=this._bindings,I=i.length-1,Q=i[I];t[A[I]]=e,i[e]=Q,i.pop(),B[e]=B[I],B.pop(),g[e]=g[I],g.pop()}}}class ja{constructor(A,t,e=null,g=t.blendMode){this._mixer=A,this._clip=t,this._localRoot=e,this.blendMode=g;const B=t.tracks,i=B.length,I=new Array(i),Q={endingStart:xt,endingEnd:xt};for(let A=0;A!==i;++A){const t=B[A].createInterpolant(null);I[A]=t,t.settings=Q}this._interpolantSettings=Q,this._interpolants=I,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ht,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(A){return this._startTime=A,this}setLoop(A,t){return this.loop=A,this.repetitions=t,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,t,e){if(A.fadeOut(t),this.fadeIn(t),e){const e=this._clip.duration,g=A._clip.duration,B=g/e,i=e/g;A.warp(1,B,t),this.warp(i,1,t)}return this}crossFadeTo(A,t,e){return A.crossFadeFrom(this,t,e)}stopFading(){const A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,t,e){const g=this._mixer,B=g.time,i=this.timeScale;let I=this._timeScaleInterpolant;null===I&&(I=g._lendControlInterpolant(),this._timeScaleInterpolant=I);const Q=I.parameterPositions,o=I.sampleValues;return Q[0]=B,Q[1]=B+e,o[0]=A/i,o[1]=t/i,this}stopWarping(){const A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,t,e,g){if(!this.enabled)return void this._updateWeight(A);const B=this._startTime;if(null!==B){const g=(A-B)*e;g<0||0===e?t=0:(this._startTime=null,t=e*g)}t*=this._updateTimeScale(A);const i=this._updateTime(t),I=this._updateWeight(A);if(I>0){const A=this._interpolants,t=this._propertyBindings;if(this.blendMode===Kt)for(let e=0,g=A.length;e!==g;++e)A[e].evaluate(i),t[e].accumulateAdditive(I);else for(let e=0,B=A.length;e!==B;++e)A[e].evaluate(i),t[e].accumulate(g,I)}}_updateWeight(A){let t=0;if(this.enabled){t=this.weight;const e=this._weightInterpolant;if(null!==e){const g=e.evaluate(A)[0];t*=g,A>e.parameterPositions[1]&&(this.stopFading(),0===g&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(A){let t=0;if(!this.paused){t=this.timeScale;const e=this._timeScaleInterpolant;null!==e&&(t*=e.evaluate(A)[0],A>e.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t))}return this._effectiveTimeScale=t,t}_updateTime(A){const t=this._clip.duration,e=this.loop;let g=this.time+A,B=this._loopCount;const i=e===Nt;if(0===A)return-1===B||!i||1&~B?g:t-g;if(e===St){-1===B&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(g>=t)g=t;else{if(!(g<0)){this.time=g;break A}g=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=g,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(-1===B&&(A>=0?(B=0,this._setEndings(!0,0===this.repetitions,i)):this._setEndings(0===this.repetitions,!0,i)),g>=t||g<0){const e=Math.floor(g/t);g-=t*e,B+=Math.abs(e);const I=this.repetitions-B;if(I<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,g=A>0?t:0,this.time=g,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(1===I){const t=A<0;this._setEndings(t,!t,i)}else this._setEndings(!1,!1,i);this._loopCount=B,this.time=g,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:e})}}else this.time=g;if(i&&!(1&~B))return t-g}return g}_setEndings(A,t,e){const g=this._interpolantSettings;e?(g.endingStart=Jt,g.endingEnd=Jt):(g.endingStart=A?this.zeroSlopeAtStart?Jt:xt:Lt,g.endingEnd=t?this.zeroSlopeAtEnd?Jt:xt:Lt)}_scheduleFading(A,t,e){const g=this._mixer,B=g.time;let i=this._weightInterpolant;null===i&&(i=g._lendControlInterpolant(),this._weightInterpolant=i);const I=i.parameterPositions,Q=i.sampleValues;return I[0]=B,Q[0]=t,I[1]=B+A,Q[1]=e,this}}const $a=new Float32Array(1);class Ar extends Ke{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,t){const e=A._localRoot||this._root,g=A._clip.tracks,B=g.length,i=A._propertyBindings,I=A._interpolants,Q=e.uuid,o=this._bindingsByRootAndName;let E=o[Q];void 0===E&&(E={},o[Q]=E);for(let A=0;A!==B;++A){const B=g[A],o=B.name;let s=E[o];if(void 0!==s)++s.referenceCount,i[A]=s;else{if(s=i[A],void 0!==s){null===s._cacheIndex&&(++s.referenceCount,this._addInactiveBinding(s,Q,o));continue}const g=t&&t._propertyBindings[A].binding.parsedPath;s=new Ta(za.create(e,o,g),B.ValueTypeName,B.getValueSize()),++s.referenceCount,this._addInactiveBinding(s,Q,o),i[A]=s}I[A].resultBuffer=s.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){const t=(A._localRoot||this._root).uuid,e=A._clip.uuid,g=this._actionsByClip[e];this._bindAction(A,g&&g.knownActions[0]),this._addInactiveAction(A,e,t)}const t=A._propertyBindings;for(let A=0,e=t.length;A!==e;++A){const e=t[A];0==e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const t=A._propertyBindings;for(let A=0,e=t.length;A!==e;++A){const e=t[A];0==--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const t=A._cacheIndex;return null!==t&&t=0;--t)A[t].stop();return this}update(A){A*=this.timeScale;const t=this._actions,e=this._nActiveActions,g=this.time+=A,B=Math.sign(A),i=this._accuIndex^=1;for(let I=0;I!==e;++I)t[I]._update(g,A,B,i);const I=this._bindings,Q=this._nActiveBindings;for(let A=0;A!==Q;++A)I[A].apply(i);return this}setTime(A){this.time=0;for(let A=0;Athis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,t){return t.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,t){return t.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,Cr).distanceTo(A)}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const rr=new Sg,cr=new Sg;class lr{constructor(A=new Sg,t=new Sg){this.start=A,this.end=t}set(A,t){return this.start.copy(A),this.end.copy(t),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,t){return this.delta(t).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,t){rr.subVectors(A,this.start),cr.subVectors(this.end,this.start);const e=cr.dot(cr);let g=cr.dot(rr)/e;return t&&(g=Pe(g,0,1)),g}closestPointToPoint(A,t,e){const g=this.closestPointToPointParameter(A,t);return this.delta(e).multiplyScalar(g).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const hr=new Sg;class dr extends bB{constructor(A,t){super(),this.light=A,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const e=new yi,g=[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 A=0,t=1,e=32;A1)for(let e=0;e.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{Tr.set(A.z,0,-A.x).normalize();const t=Math.acos(A.y);this.quaternion.setFromAxisAngle(Tr,t)}}setLength(A,t=.2*A,e=.2*t){this.line.scale.set(1,Math.max(1e-4,A-t),1),this.line.updateMatrix(),this.cone.scale.set(e,t,e),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Pr extends Ds{constructor(A=1){const t=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],e=new yi;e.setAttribute("position",new hi(t,3)),e.setAttribute("color",new hi([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(e,new Cs({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(A,t,e){const g=new zB,B=this.geometry.attributes.color.array;return g.set(A),g.toArray(B,0),g.toArray(B,3),g.set(t),g.toArray(B,6),g.toArray(B,9),g.set(e),g.toArray(B,12),g.toArray(B,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class _r{constructor(){this.type="ShapePath",this.color=new zB,this.subPaths=[],this.currentPath=null}moveTo(A,t){return this.currentPath=new gn,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,t),this}lineTo(A,t){return this.currentPath.lineTo(A,t),this}quadraticCurveTo(A,t,e,g){return this.currentPath.quadraticCurveTo(A,t,e,g),this}bezierCurveTo(A,t,e,g,B,i){return this.currentPath.bezierCurveTo(A,t,e,g,B,i),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A){function t(A,t){const e=t.length;let g=!1;for(let B=e-1,i=0;iNumber.EPSILON){if(o<0&&(e=t[i],Q=-Q,I=t[B],o=-o),A.yI.y)continue;if(A.y===e.y){if(A.x===e.x)return!0}else{const t=o*(A.x-e.x)-Q*(A.y-e.y);if(0===t)return!0;if(t<0)continue;g=!g}}else{if(A.y!==e.y)continue;if(I.x<=A.x&&A.x<=e.x||e.x<=A.x&&A.x<=I.x)return!0}}return g}const e=Zn.isClockWise,g=this.subPaths;if(0===g.length)return[];let B,i,I;const Q=[];if(1===g.length)return i=g[0],I=new hn,I.curves=i.curves,Q.push(I),Q;let o=!e(g[0].getPoints());o=A?!o:o;const E=[],s=[];let n,C,a=[],r=0;s[r]=void 0,a[r]=[];for(let t=0,I=g.length;t1){let A=!1,e=0;for(let A=0,t=s.length;A0&&!1===A&&(a=E)}for(let A=0,t=s.length;A{"use strict";e.d(t,{N:()=>s});var g=e(437);const B={type:"change"},i={type:"start"},I={type:"end"},Q=new g.Ray,o=new g.Plane,E=Math.cos(70*g.MathUtils.DEG2RAD);class s extends g.EventDispatcher{constructor(A,t){super(),this.object=A,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new g.Vector3,this.cursor=new g.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:g.MOUSE.ROTATE,MIDDLE:g.MOUSE.DOLLY,RIGHT:g.MOUSE.PAN},this.touches={ONE:g.TOUCH.ROTATE,TWO:g.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return a.phi},this.getAzimuthalAngle=function(){return a.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(A){A.addEventListener("keydown",eA),this._domElementKeyEvents=A},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",eA),this._domElementKeyEvents=null},this.saveState=function(){e.target0.copy(e.target),e.position0.copy(e.object.position),e.zoom0=e.object.zoom},this.reset=function(){e.target.copy(e.target0),e.object.position.copy(e.position0),e.object.zoom=e.zoom0,e.object.updateProjectionMatrix(),e.dispatchEvent(B),e.update(),n=s.NONE},this.update=function(){const t=new g.Vector3,i=(new g.Quaternion).setFromUnitVectors(A.up,new g.Vector3(0,1,0)),I=i.clone().invert(),h=new g.Vector3,d=new g.Quaternion,u=new g.Vector3,w=2*Math.PI;return function(D=null){const p=e.object.position;t.copy(p).sub(e.target),t.applyQuaternion(i),a.setFromVector3(t),e.autoRotate&&n===s.NONE&&N(function(A){return null!==A?2*Math.PI/60*e.autoRotateSpeed*A:2*Math.PI/60/60*e.autoRotateSpeed}(D)),e.enableDamping?(a.theta+=r.theta*e.dampingFactor,a.phi+=r.phi*e.dampingFactor):(a.theta+=r.theta,a.phi+=r.phi);let m=e.minAzimuthAngle,f=e.maxAzimuthAngle;isFinite(m)&&isFinite(f)&&(m<-Math.PI?m+=w:m>Math.PI&&(m-=w),f<-Math.PI?f+=w:f>Math.PI&&(f-=w),a.theta=m<=f?Math.max(m,Math.min(f,a.theta)):a.theta>(m+f)/2?Math.max(m,a.theta):Math.min(f,a.theta)),a.phi=Math.max(e.minPolarAngle,Math.min(e.maxPolarAngle,a.phi)),a.makeSafe(),!0===e.enableDamping?e.target.addScaledVector(l,e.dampingFactor):e.target.add(l),e.target.sub(e.cursor),e.target.clampLength(e.minTargetRadius,e.maxTargetRadius),e.target.add(e.cursor);let y=!1;if(e.zoomToCursor&&G||e.object.isOrthographicCamera)a.radius=K(a.radius);else{const A=a.radius;a.radius=K(a.radius*c),y=A!=a.radius}if(t.setFromSpherical(a),t.applyQuaternion(I),p.copy(e.target).add(t),e.object.lookAt(e.target),!0===e.enableDamping?(r.theta*=1-e.dampingFactor,r.phi*=1-e.dampingFactor,l.multiplyScalar(1-e.dampingFactor)):(r.set(0,0,0),l.set(0,0,0)),e.zoomToCursor&&G){let B=null;if(e.object.isPerspectiveCamera){const A=t.length();B=K(A*c);const g=A-B;e.object.position.addScaledVector(F,g),e.object.updateMatrixWorld(),y=!!g}else if(e.object.isOrthographicCamera){const A=new g.Vector3(R.x,R.y,0);A.unproject(e.object);const i=e.object.zoom;e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/c)),e.object.updateProjectionMatrix(),y=i!==e.object.zoom;const I=new g.Vector3(R.x,R.y,0);I.unproject(e.object),e.object.position.sub(I).add(A),e.object.updateMatrixWorld(),B=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),e.zoomToCursor=!1;null!==B&&(this.screenSpacePanning?e.target.set(0,0,-1).transformDirection(e.object.matrix).multiplyScalar(B).add(e.object.position):(Q.origin.copy(e.object.position),Q.direction.set(0,0,-1).transformDirection(e.object.matrix),Math.abs(e.object.up.dot(Q.direction))C||8*(1-d.dot(e.object.quaternion))>C||u.distanceToSquared(e.target)>C)&&(e.dispatchEvent(B),h.copy(e.object.position),d.copy(e.object.quaternion),u.copy(e.target),!0)}}(),this.dispose=function(){e.domElement.removeEventListener("contextmenu",BA),e.domElement.removeEventListener("pointerdown",z),e.domElement.removeEventListener("pointercancel",j),e.domElement.removeEventListener("wheel",$),e.domElement.removeEventListener("pointermove",q),e.domElement.removeEventListener("pointerup",j),e.domElement.getRootNode().removeEventListener("keydown",AA,{capture:!0}),null!==e._domElementKeyEvents&&(e._domElementKeyEvents.removeEventListener("keydown",eA),e._domElementKeyEvents=null)};const e=this,s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let n=s.NONE;const C=1e-6,a=new g.Spherical,r=new g.Spherical;let c=1;const l=new g.Vector3,h=new g.Vector2,d=new g.Vector2,u=new g.Vector2,w=new g.Vector2,D=new g.Vector2,p=new g.Vector2,m=new g.Vector2,f=new g.Vector2,y=new g.Vector2,F=new g.Vector3,R=new g.Vector2;let G=!1;const M=[],U={};let S=!1;function H(A){const t=Math.abs(.01*A);return Math.pow(.95,e.zoomSpeed*t)}function N(A){r.theta-=A}function b(A){r.phi-=A}const k=function(){const A=new g.Vector3;return function(t,e){A.setFromMatrixColumn(e,0),A.multiplyScalar(-t),l.add(A)}}(),Y=function(){const A=new g.Vector3;return function(t,g){!0===e.screenSpacePanning?A.setFromMatrixColumn(g,1):(A.setFromMatrixColumn(g,0),A.crossVectors(e.object.up,A)),A.multiplyScalar(t),l.add(A)}}(),x=function(){const A=new g.Vector3;return function(t,g){const B=e.domElement;if(e.object.isPerspectiveCamera){const i=e.object.position;A.copy(i).sub(e.target);let I=A.length();I*=Math.tan(e.object.fov/2*Math.PI/180),k(2*t*I/B.clientHeight,e.object.matrix),Y(2*g*I/B.clientHeight,e.object.matrix)}else e.object.isOrthographicCamera?(k(t*(e.object.right-e.object.left)/e.object.zoom/B.clientWidth,e.object.matrix),Y(g*(e.object.top-e.object.bottom)/e.object.zoom/B.clientHeight,e.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),e.enablePan=!1)}}();function J(A){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?c/=A:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function L(A){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?c*=A:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function V(A,t){if(!e.zoomToCursor)return;G=!0;const g=e.domElement.getBoundingClientRect(),B=A-g.left,i=t-g.top,I=g.width,Q=g.height;R.x=B/I*2-1,R.y=-i/Q*2+1,F.set(R.x,R.y,1).unproject(e.object).sub(e.object.position).normalize()}function K(A){return Math.max(e.minDistance,Math.min(e.maxDistance,A))}function Z(A){h.set(A.clientX,A.clientY)}function T(A){w.set(A.clientX,A.clientY)}function W(A){if(1===M.length)h.set(A.pageX,A.pageY);else{const t=IA(A),e=.5*(A.pageX+t.x),g=.5*(A.pageY+t.y);h.set(e,g)}}function v(A){if(1===M.length)w.set(A.pageX,A.pageY);else{const t=IA(A),e=.5*(A.pageX+t.x),g=.5*(A.pageY+t.y);w.set(e,g)}}function X(A){const t=IA(A),e=A.pageX-t.x,g=A.pageY-t.y,B=Math.sqrt(e*e+g*g);m.set(0,B)}function P(A){if(1==M.length)d.set(A.pageX,A.pageY);else{const t=IA(A),e=.5*(A.pageX+t.x),g=.5*(A.pageY+t.y);d.set(e,g)}u.subVectors(d,h).multiplyScalar(e.rotateSpeed);const t=e.domElement;N(2*Math.PI*u.x/t.clientHeight),b(2*Math.PI*u.y/t.clientHeight),h.copy(d)}function _(A){if(1===M.length)D.set(A.pageX,A.pageY);else{const t=IA(A),e=.5*(A.pageX+t.x),g=.5*(A.pageY+t.y);D.set(e,g)}p.subVectors(D,w).multiplyScalar(e.panSpeed),x(p.x,p.y),w.copy(D)}function O(A){const t=IA(A),g=A.pageX-t.x,B=A.pageY-t.y,i=Math.sqrt(g*g+B*B);f.set(0,i),y.set(0,Math.pow(f.y/m.y,e.zoomSpeed)),J(y.y),m.copy(f),V(.5*(A.pageX+t.x),.5*(A.pageY+t.y))}function z(A){!1!==e.enabled&&(0===M.length&&(e.domElement.setPointerCapture(A.pointerId),e.domElement.addEventListener("pointermove",q),e.domElement.addEventListener("pointerup",j)),function(A){for(let t=0;t0?J(H(y.y)):y.y<0&&L(H(y.y)),m.copy(f),e.update()}(A);break;case s.PAN:if(!1===e.enablePan)return;!function(A){D.set(A.clientX,A.clientY),p.subVectors(D,w).multiplyScalar(e.panSpeed),x(p.x,p.y),w.copy(D),e.update()}(A)}}(A))}function j(A){switch(function(A){delete U[A.pointerId];for(let t=0;t0&&J(H(A.deltaY)),e.update()}(function(A){const t=A.deltaMode,e={clientX:A.clientX,clientY:A.clientY,deltaY:A.deltaY};switch(t){case 1:e.deltaY*=16;break;case 2:e.deltaY*=100}return A.ctrlKey&&!S&&(e.deltaY*=10),e}(A)),e.dispatchEvent(I))}function AA(A){"Control"===A.key&&(S=!0,e.domElement.getRootNode().addEventListener("keyup",tA,{passive:!0,capture:!0}))}function tA(A){"Control"===A.key&&(S=!1,e.domElement.getRootNode().removeEventListener("keyup",tA,{passive:!0,capture:!0}))}function eA(A){!1!==e.enabled&&!1!==e.enablePan&&function(A){let t=!1;switch(A.code){case e.keys.UP:A.ctrlKey||A.metaKey||A.shiftKey?b(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):x(0,e.keyPanSpeed),t=!0;break;case e.keys.BOTTOM:A.ctrlKey||A.metaKey||A.shiftKey?b(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):x(0,-e.keyPanSpeed),t=!0;break;case e.keys.LEFT:A.ctrlKey||A.metaKey||A.shiftKey?N(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):x(e.keyPanSpeed,0),t=!0;break;case e.keys.RIGHT:A.ctrlKey||A.metaKey||A.shiftKey?N(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):x(-e.keyPanSpeed,0),t=!0}t&&(A.preventDefault(),e.update())}(A)}function gA(A){switch(iA(A),M.length){case 1:switch(e.touches.ONE){case g.TOUCH.ROTATE:if(!1===e.enableRotate)return;W(A),n=s.TOUCH_ROTATE;break;case g.TOUCH.PAN:if(!1===e.enablePan)return;v(A),n=s.TOUCH_PAN;break;default:n=s.NONE}break;case 2:switch(e.touches.TWO){case g.TOUCH.DOLLY_PAN:if(!1===e.enableZoom&&!1===e.enablePan)return;!function(A){e.enableZoom&&X(A),e.enablePan&&v(A)}(A),n=s.TOUCH_DOLLY_PAN;break;case g.TOUCH.DOLLY_ROTATE:if(!1===e.enableZoom&&!1===e.enableRotate)return;!function(A){e.enableZoom&&X(A),e.enableRotate&&W(A)}(A),n=s.TOUCH_DOLLY_ROTATE;break;default:n=s.NONE}break;default:n=s.NONE}n!==s.NONE&&e.dispatchEvent(i)}function BA(A){!1!==e.enabled&&A.preventDefault()}function iA(A){let t=U[A.pointerId];void 0===t&&(t=new g.Vector2,U[A.pointerId]=t),t.set(A.pageX,A.pageY)}function IA(A){const t=A.pointerId===M[0]?M[1]:M[0];return U[t]}e.domElement.addEventListener("contextmenu",BA),e.domElement.addEventListener("pointerdown",z),e.domElement.addEventListener("pointercancel",j),e.domElement.addEventListener("wheel",$,{passive:!1}),e.domElement.getRootNode().addEventListener("keydown",AA,{passive:!0,capture:!0}),this.update()}}},541:(A,t,e)=>{"use strict";e.d(t,{q:()=>i});var g=e(437);class B extends g.DataTextureLoader{constructor(A){super(A)}parse(A){if(A.length<19)throw new Error("THREE.TGALoader: Not enough data to contain header.");let t=0;const e=new Uint8Array(A),B={id_length:e[t++],colormap_type:e[t++],image_type:e[t++],colormap_index:e[t++]|e[t++]<<8,colormap_length:e[t++]|e[t++]<<8,colormap_size:e[t++],origin:[e[t++]|e[t++]<<8,e[t++]|e[t++]<<8],width:e[t++]|e[t++]<<8,height:e[t++]|e[t++]<<8,pixel_size:e[t++],flags:e[t++]};if(function(A){switch(A.image_type){case 1:case 9:if(A.colormap_length>256||24!==A.colormap_size||1!==A.colormap_type)throw new Error("THREE.TGALoader: Invalid type colormap data for indexed type.");break;case 2:case 3:case 10:case 11:if(A.colormap_type)throw new Error("THREE.TGALoader: Invalid type colormap data for colormap type.");break;case 0:throw new Error("THREE.TGALoader: No data.");default:throw new Error("THREE.TGALoader: Invalid type "+A.image_type)}if(A.width<=0||A.height<=0)throw new Error("THREE.TGALoader: Invalid image size.");if(8!==A.pixel_size&&16!==A.pixel_size&&24!==A.pixel_size&&32!==A.pixel_size)throw new Error("THREE.TGALoader: Invalid pixel size "+A.pixel_size)}(B),B.id_length+t>A.length)throw new Error("THREE.TGALoader: No data.");t+=B.id_length;let i=!1,I=!1,Q=!1;switch(B.image_type){case 9:i=!0,I=!0;break;case 1:I=!0;break;case 10:i=!0;break;case 2:break;case 11:i=!0,Q=!0;break;case 3:Q=!0}const o=new Uint8Array(B.width*B.height*4),E=function(A,t,e,g,B){let i,I;const Q=e.pixel_size>>3,o=e.width*e.height*Q;if(t&&(I=B.subarray(g,g+=e.colormap_length*(e.colormap_size>>3))),A){let A,t,e;i=new Uint8Array(o);let I=0;const E=new Uint8Array(Q);for(;I>4){default:case 2:I=0,E=1,n=t,o=0,s=1,C=e;break;case 0:I=0,E=1,n=t,o=e-1,s=-1,C=-1;break;case 3:I=t-1,E=-1,n=-1,o=0,s=1,C=e;break;case 1:I=t-1,E=-1,n=-1,o=e-1,s=-1,C=-1}if(Q)switch(B.pixel_size){case 8:!function(A,t,e,g,i,I,Q,o){let E,s,n,C=0;const a=B.width;for(n=t;n!==g;n+=e)for(s=i;s!==Q;s+=I,C++)E=o[C],A[4*(s+a*n)+0]=E,A[4*(s+a*n)+1]=E,A[4*(s+a*n)+2]=E,A[4*(s+a*n)+3]=255}(A,o,s,C,I,E,n,g);break;case 16:!function(A,t,e,g,i,I,Q,o){let E,s,n=0;const C=B.width;for(s=t;s!==g;s+=e)for(E=i;E!==Q;E+=I,n+=2)A[4*(E+C*s)+0]=o[n+0],A[4*(E+C*s)+1]=o[n+0],A[4*(E+C*s)+2]=o[n+0],A[4*(E+C*s)+3]=o[n+1]}(A,o,s,C,I,E,n,g);break;default:throw new Error("THREE.TGALoader: Format not supported.")}else switch(B.pixel_size){case 8:!function(A,t,e,g,i,I,Q,o,E){const s=E;let n,C,a,r=0;const c=B.width;for(a=t;a!==g;a+=e)for(C=i;C!==Q;C+=I,r++)n=o[r],A[4*(C+c*a)+3]=255,A[4*(C+c*a)+2]=s[3*n+0],A[4*(C+c*a)+1]=s[3*n+1],A[4*(C+c*a)+0]=s[3*n+2]}(A,o,s,C,I,E,n,g,i);break;case 16:!function(A,t,e,g,i,I,Q,o){let E,s,n,C=0;const a=B.width;for(n=t;n!==g;n+=e)for(s=i;s!==Q;s+=I,C+=2)E=o[C+0]+(o[C+1]<<8),A[4*(s+a*n)+0]=(31744&E)>>7,A[4*(s+a*n)+1]=(992&E)>>2,A[4*(s+a*n)+2]=(31&E)<<3,A[4*(s+a*n)+3]=32768&E?0:255}(A,o,s,C,I,E,n,g);break;case 24:!function(A,t,e,g,i,I,Q,o){let E,s,n=0;const C=B.width;for(s=t;s!==g;s+=e)for(E=i;E!==Q;E+=I,n+=3)A[4*(E+C*s)+3]=255,A[4*(E+C*s)+2]=o[n+0],A[4*(E+C*s)+1]=o[n+1],A[4*(E+C*s)+0]=o[n+2]}(A,o,s,C,I,E,n,g);break;case 32:!function(A,t,e,g,i,I,Q,o){let E,s,n=0;const C=B.width;for(s=t;s!==g;s+=e)for(E=i;E!==Q;E+=I,n+=4)A[4*(E+C*s)+2]=o[n+0],A[4*(E+C*s)+1]=o[n+1],A[4*(E+C*s)+0]=o[n+2],A[4*(E+C*s)+3]=o[n+3]}(A,o,s,C,I,E,n,g);break;default:throw new Error("THREE.TGALoader: Format not supported.")}}(o,B.width,B.height,E.pixel_data,E.palettes),{data:o,width:B.width,height:B.height,flipY:!0,generateMipmaps:!0,minFilter:g.LinearMipmapLinearFilter}}}class i extends g.Loader{load(A,t,e,B){const i=this,I=""===i.path?g.LoaderUtils.extractUrlBase(A):i.path,Q=new g.FileLoader(i.manager);Q.setPath(i.path),Q.setRequestHeader(i.requestHeader),Q.setWithCredentials(i.withCredentials),Q.load(A,(function(e){try{t(i.parse(e,I))}catch(t){B?B(t):console.error(t),i.manager.itemError(A)}}),e,B)}parse(A,t){function e(A,t){const e=[],g=A.childNodes;for(let A=0,B=g.length;A0&&t.push(new g.VectorKeyframeTrack(B+".position",i,I)),Q.length>0&&t.push(new g.QuaternionKeyframeTrack(B+".quaternion",i,Q)),o.length>0&&t.push(new g.VectorKeyframeTrack(B+".scale",i,o)),t}function f(A,t,e){let g,B,i,I=!0;for(B=0,i=A.length;B=0;){const g=A[t];if(null!==g.value[e])return g;t--}return null}function F(A,t,e){for(;t>>0));return e=e.toLowerCase(),t="tga"===e?PA:XA,t}(i);if(void 0!==t){const B=t.load(i),I=A.extra;if(void 0!==I&&void 0!==I.technique&&!1===E(I.technique)){const A=I.technique;B.wrapS=A.wrapU?g.RepeatWrapping:g.ClampToEdgeWrapping,B.wrapT=A.wrapV?g.RepeatWrapping:g.ClampToEdgeWrapping,B.offset.set(A.offsetU||0,A.offsetV||0),B.repeat.set(A.repeatU||1,A.repeatV||1)}else B.wrapS=g.RepeatWrapping,B.wrapT=g.RepeatWrapping;return null!==e&&(B.colorSpace=e),B}return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",i),null}return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:",A.id),null}i.name=A.name||"";const Q=B.parameters;for(const A in Q){const t=Q[A];switch(A){case"diffuse":t.color&&i.color.fromArray(t.color),t.texture&&(i.map=I(t.texture,g.SRGBColorSpace));break;case"specular":t.color&&i.specular&&i.specular.fromArray(t.color),t.texture&&(i.specularMap=I(t.texture));break;case"bump":t.texture&&(i.normalMap=I(t.texture));break;case"ambient":t.texture&&(i.lightMap=I(t.texture,g.SRGBColorSpace));break;case"shininess":t.float&&i.shininess&&(i.shininess=t.float);break;case"emission":t.color&&i.emissive&&i.emissive.fromArray(t.color),t.texture&&(i.emissiveMap=I(t.texture,g.SRGBColorSpace))}}i.color.convertSRGBToLinear(),i.specular&&i.specular.convertSRGBToLinear(),i.emissive&&i.emissive.convertSRGBToLinear();let o=Q.transparent,s=Q.transparency;if(void 0===s&&o&&(s={float:1}),void 0===o&&s&&(o={opaque:"A_ONE",data:{color:[1,1,1,1]}}),o&&s)if(o.data.texture)i.transparent=!0;else{const A=o.data.color;switch(o.opaque){case"A_ONE":i.opacity=A[3]*s.float;break;case"RGB_ZERO":i.opacity=1-A[0]*s.float;break;case"A_ZERO":i.opacity=1-A[3]*s.float;break;case"RGB_ONE":i.opacity=A[0]*s.float;break;default:console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',o.opaque)}i.opacity<1&&(i.transparent=!0)}if(void 0!==B.extra&&void 0!==B.extra.technique){const A=B.extra.technique;for(const t in A){const e=A[t];switch(t){case"double_sided":i.side=1===e?g.DoubleSide:g.FrontSide;break;case"bump":i.normalMap=I(e.texture),i.normalScale=new g.Vector2(1,1)}}}return i}function q(A){return r(jA.materials[A],z)}function j(A){for(let t=0;t0?e+i:e;t.inputs[I]={id:A,offset:B},t.stride=Math.max(t.stride,B+1),"TEXCOORD"===e&&(t.hasUV=!0);break;case"vcount":t.vcount=Q(g.textContent);break;case"p":t.p=Q(g.textContent)}}return t}function sA(A){let t=0;for(let e=0,g=A.length;e0&&t0&&C.setAttribute("position",new g.Float32BufferAttribute(i.array,i.stride)),I.array.length>0&&C.setAttribute("normal",new g.Float32BufferAttribute(I.array,I.stride)),E.array.length>0&&C.setAttribute("color",new g.Float32BufferAttribute(E.array,E.stride)),Q.array.length>0&&C.setAttribute("uv",new g.Float32BufferAttribute(Q.array,Q.stride)),o.array.length>0&&C.setAttribute("uv1",new g.Float32BufferAttribute(o.array,o.stride)),s.length>0&&C.setAttribute("skinIndex",new g.Float32BufferAttribute(s,4)),n.length>0&&C.setAttribute("skinWeight",new g.Float32BufferAttribute(n,4)),B.data=C,B.type=A[0].type,B.materialKeys=a,B}function aA(A,t,e,g,B=!1){const i=A.p,I=A.stride,Q=A.vcount;function o(A){let t=i[A+e]*s;const I=t+s;for(;t4)for(let t=1,g=e-2;t<=g;t++){const e=A+I*t,g=A+I*(t+1);o(A+0*I),o(e),o(g)}A+=I*e}}else for(let A=0,t=i.length;A=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function uA(A){const t={sid:A.getAttribute("sid"),name:A.getAttribute("name")||"",attachments:[],transforms:[]};for(let e=0;eB.limits.max||t{"use strict";e.d(t,{Z:()=>i});var g=e(437);const B=new WeakMap;class i extends g.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,t,e,B){const i=new g.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,(A=>{this.parse(A,t,B)}),e,B)}parse(A,t,e=(()=>{})){this.decodeDracoFile(A,t,null,null,g.SRGBColorSpace).catch(e)}decodeDracoFile(A,t,e,B,i=g.LinearSRGBColorSpace,I=(()=>{})){const Q={attributeIDs:e||this.defaultAttributeIDs,attributeTypes:B||this.defaultAttributeTypes,useUniqueIDs:!!e,vertexColorSpace:i};return this.decodeGeometry(A,Q).then(t).catch(I)}decodeGeometry(A,t){const e=JSON.stringify(t);if(B.has(A)){const t=B.get(A);if(t.key===e)return t.promise;if(0===A.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let g;const i=this.workerNextTaskID++,I=A.byteLength,Q=this._getWorker(i,I).then((e=>(g=e,new Promise(((e,B)=>{g._callbacks[i]={resolve:e,reject:B},g.postMessage({type:"decode",id:i,taskConfig:t,buffer:A},[A])}))))).then((A=>this._createGeometry(A.geometry)));return Q.catch((()=>!0)).then((()=>{g&&i&&this._releaseTask(g,i)})),B.set(A,{key:e,promise:Q}),Q}_createGeometry(A){const t=new g.BufferGeometry;A.index&&t.setIndex(new g.BufferAttribute(A.index.array,1));for(let e=0;e{e.load(A,t,void 0,g)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return A?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then((t=>{const e=t[0];A||(this.decoderConfig.wasmBinary=t[1]);const g=I.toString(),B=["/* draco decoder */",e,"","/* worker */",g.substring(g.indexOf("{")+1,g.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([B]))})),this.decoderPending}_getWorker(A,t){return this._initDecoder().then((()=>{if(this.workerPool.lengtht._taskLoad?-1:1}));const e=this.workerPool[this.workerPool.length-1];return e._taskCosts[A]=t,e._taskLoad+=t,e}))}_releaseTask(A,t){A._taskLoad-=A._taskCosts[t],delete A._callbacks[t],delete A._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map((A=>A._taskLoad)))}dispose(){for(let A=0;A{const t=A.draco,I=new t.Decoder;try{const A=function(A,t,g,B){const i=B.attributeIDs,I=B.attributeTypes;let Q,o;const E=t.GetEncodedGeometryType(g);if(E===A.TRIANGULAR_MESH)Q=new A.Mesh,o=t.DecodeArrayToMesh(g,g.byteLength,Q);else{if(E!==A.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");Q=new A.PointCloud,o=t.DecodeArrayToPointCloud(g,g.byteLength,Q)}if(!o.ok()||0===Q.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+o.error_msg());const s={index:null,attributes:[]};for(const g in i){const o=self[I[g]];let E,n;if(B.useUniqueIDs)n=i[g],E=t.GetAttributeByUniqueId(Q,n);else{if(n=t.GetAttributeId(Q,A[i[g]]),-1===n)continue;E=t.GetAttribute(Q,n)}const C=e(A,t,Q,g,o,E);"color"===g&&(C.vertexColorSpace=B.vertexColorSpace),s.attributes.push(C)}return E===A.TRIANGULAR_MESH&&(s.index=function(A,t,e){const g=3*e.num_faces(),B=4*g,i=A._malloc(B);t.GetTrianglesUInt32Array(e,B,i);const I=new Uint32Array(A.HEAPF32.buffer,i,g).slice();return A._free(i),{array:I,itemSize:1}}(A,t,Q)),A.destroy(Q),s}(t,I,new Int8Array(g),i),Q=A.attributes.map((A=>A.array.buffer));A.index&&Q.push(A.index.array.buffer),self.postMessage({type:"decode",id:B.id,geometry:A},Q)}catch(A){console.error(A),self.postMessage({type:"error",id:B.id,error:A.message})}finally{t.destroy(I)}}))}}}},888:(A,t,e)=>{"use strict";e.d(t,{B:()=>i});var g=e(437),B=e(566);class i extends g.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(A){return new n(A)})),this.register((function(A){return new w(A)})),this.register((function(A){return new D(A)})),this.register((function(A){return new p(A)})),this.register((function(A){return new a(A)})),this.register((function(A){return new r(A)})),this.register((function(A){return new c(A)})),this.register((function(A){return new l(A)})),this.register((function(A){return new s(A)})),this.register((function(A){return new h(A)})),this.register((function(A){return new C(A)})),this.register((function(A){return new u(A)})),this.register((function(A){return new d(A)})),this.register((function(A){return new o(A)})),this.register((function(A){return new m(A)})),this.register((function(A){return new f(A)}))}load(A,t,e,B){const i=this;let I;if(""!==this.resourcePath)I=this.resourcePath;else if(""!==this.path){const t=g.LoaderUtils.extractUrlBase(A);I=g.LoaderUtils.resolveURL(t,this.path)}else I=g.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const Q=function(t){B?B(t):console.error(t),i.manager.itemError(A),i.manager.itemEnd(A)},o=new g.FileLoader(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(A,(function(e){try{i.parse(e,I,(function(e){t(e),i.manager.itemEnd(A)}),Q)}catch(A){Q(A)}}),e,Q)}setDRACOLoader(A){return this.dracoLoader=A,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return-1===this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.push(A),this}unregister(A){return-1!==this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,t,e,g){let B;const i={},I={},o=new TextDecoder;if("string"==typeof A)B=JSON.parse(A);else if(A instanceof ArrayBuffer)if(o.decode(new Uint8Array(A,0,4))===y){try{i[Q.KHR_BINARY_GLTF]=new F(A)}catch(A){return void(g&&g(A))}B=JSON.parse(i[Q.KHR_BINARY_GLTF].content)}else B=JSON.parse(o.decode(A));else B=A;if(void 0===B.asset||B.asset.version[0]<2)return void(g&&g(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const s=new _(B,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});s.fileLoader.setRequestHeader(this.requestHeader);for(let A=0;A=0&&void 0===I[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}s.setExtensions(i),s.setPlugins(I),s.parse(e,g)}parseAsync(A,t){const e=this;return new Promise((function(g,B){e.parse(A,t,g,B)}))}}function I(){let A={};return{get:function(t){return A[t]},add:function(t,e){A[t]=e},remove:function(t){delete A[t]},removeAll:function(){A={}}}}const Q={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_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",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_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class o{constructor(A){this.parser=A,this.name=Q.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,t=this.parser.json.nodes||[];for(let e=0,g=t.length;e=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(A,B.source,i)}}class D{constructor(A){this.parser=A,this.name=Q.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const t=this.name,e=this.parser,g=e.json,B=g.textures[A];if(!B.extensions||!B.extensions[t])return null;const i=B.extensions[t],I=g.images[i.source];let Q=e.textureLoader;if(I.uri){const A=e.options.manager.getHandler(I.uri);null!==A&&(Q=A)}return this.detectSupport().then((function(B){if(B)return e.loadTextureImage(A,i.source,Q);if(g.extensionsRequired&&g.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return e.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){A(1===t.height)}}))),this.isSupported}}class p{constructor(A){this.parser=A,this.name=Q.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const t=this.name,e=this.parser,g=e.json,B=g.textures[A];if(!B.extensions||!B.extensions[t])return null;const i=B.extensions[t],I=g.images[i.source];let Q=e.textureLoader;if(I.uri){const A=e.options.manager.getHandler(I.uri);null!==A&&(Q=A)}return this.detectSupport().then((function(B){if(B)return e.loadTextureImage(A,i.source,Q);if(g.extensionsRequired&&g.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return e.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){A(1===t.height)}}))),this.isSupported}}class m{constructor(A){this.name=Q.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const t=this.parser.json,e=t.bufferViews[A];if(e.extensions&&e.extensions[this.name]){const A=e.extensions[this.name],g=this.parser.getDependency("buffer",A.buffer),B=this.parser.options.meshoptDecoder;if(!B||!B.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return g.then((function(t){const e=A.byteOffset||0,g=A.byteLength||0,i=A.count,I=A.byteStride,Q=new Uint8Array(t,e,g);return B.decodeGltfBufferAsync?B.decodeGltfBufferAsync(i,I,Q,A.mode,A.filter).then((function(A){return A.buffer})):B.ready.then((function(){const t=new ArrayBuffer(i*I);return B.decodeGltfBuffer(new Uint8Array(t),i,I,Q,A.mode,A.filter),t}))}))}return null}}class f{constructor(A){this.name=Q.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const t=this.parser.json,e=t.nodes[A];if(!e.extensions||!e.extensions[this.name]||void 0===e.mesh)return null;const B=t.meshes[e.mesh];for(const A of B.primitives)if(A.mode!==N.TRIANGLES&&A.mode!==N.TRIANGLE_STRIP&&A.mode!==N.TRIANGLE_FAN&&void 0!==A.mode)return null;const i=e.extensions[this.name].attributes,I=[],Q={};for(const A in i)I.push(this.parser.getDependency("accessor",i[A]).then((t=>(Q[A]=t,Q[A]))));return I.length<1?null:(I.push(this.parser.createNodeMesh(A)),Promise.all(I).then((A=>{const t=A.pop(),e=t.isGroup?t.children:[t],B=A[0].count,i=[];for(const A of e){const t=new g.Matrix4,e=new g.Vector3,I=new g.Quaternion,o=new g.Vector3(1,1,1),E=new g.InstancedMesh(A.geometry,A.material,B);for(let A=0;A-1,i=B?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||e||B&&i<98?this.textureLoader=new g.TextureLoader(this.options.manager):this.textureLoader=new g.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new g.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,t){const e=this,g=this.json,B=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(A){return A._markDefs&&A._markDefs()})),Promise.all(this._invokeAll((function(A){return A.beforeRoot&&A.beforeRoot()}))).then((function(){return Promise.all([e.getDependencies("scene"),e.getDependencies("animation"),e.getDependencies("camera")])})).then((function(t){const i={scene:t[0][g.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:g.asset,parser:e,userData:{}};return K(B,i,g),Z(i,g),Promise.all(e._invokeAll((function(A){return A.afterRoot&&A.afterRoot(i)}))).then((function(){for(const A of i.scenes)A.updateMatrixWorld();A(i)}))})).catch(t)}_markDefs(){const A=this.json.nodes||[],t=this.json.skins||[],e=this.json.meshes||[];for(let e=0,g=t.length;e{const e=this.associations.get(A);null!=e&&this.associations.set(t,e);for(const[e,g]of A.children.entries())B(g,t.children[e])};return B(e,g),g.name+="_instance_"+A.uses[t]++,g}_invokeOne(A){const t=Object.values(this.plugins);t.push(this);for(let e=0;e=2&&r.setY(t,n[A*I+1]),I>=3&&r.setZ(t,n[A*I+2]),I>=4&&r.setW(t,n[A*I+3]),I>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return r}))}loadTexture(A){const t=this.json,e=this.options,g=t.textures[A].source,B=t.images[g];let i=this.textureLoader;if(B.uri){const A=e.manager.getHandler(B.uri);null!==A&&(i=A)}return this.loadTextureImage(A,g,i)}loadTextureImage(A,t,e){const B=this,i=this.json,I=i.textures[A],Q=i.images[t],o=(Q.uri||Q.bufferView)+":"+I.sampler;if(this.textureCache[o])return this.textureCache[o];const E=this.loadImageSource(t,e).then((function(t){t.flipY=!1,t.name=I.name||Q.name||"",""===t.name&&"string"==typeof Q.uri&&!1===Q.uri.startsWith("data:image/")&&(t.name=Q.uri);const e=(i.samplers||{})[I.sampler]||{};return t.magFilter=k[e.magFilter]||g.LinearFilter,t.minFilter=k[e.minFilter]||g.LinearMipmapLinearFilter,t.wrapS=Y[e.wrapS]||g.RepeatWrapping,t.wrapT=Y[e.wrapT]||g.RepeatWrapping,B.associations.set(t,{textures:A}),t})).catch((function(){return null}));return this.textureCache[o]=E,E}loadImageSource(A,t){const e=this.json,B=this.options;if(void 0!==this.sourceCache[A])return this.sourceCache[A].then((A=>A.clone()));const i=e.images[A],I=self.URL||self.webkitURL;let Q=i.uri||"",o=!1;if(void 0!==i.bufferView)Q=this.getDependency("bufferView",i.bufferView).then((function(A){o=!0;const t=new Blob([A],{type:i.mimeType});return Q=I.createObjectURL(t),Q}));else if(void 0===i.uri)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const E=Promise.resolve(Q).then((function(A){return new Promise((function(e,i){let I=e;!0===t.isImageBitmapLoader&&(I=function(A){const t=new g.Texture(A);t.needsUpdate=!0,e(t)}),t.load(g.LoaderUtils.resolveURL(A,B.path),I,void 0,i)}))})).then((function(A){var t;return!0===o&&I.revokeObjectURL(Q),A.userData.mimeType=i.mimeType||((t=i.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),A})).catch((function(A){throw console.error("THREE.GLTFLoader: Couldn't load texture",Q),A}));return this.sourceCache[A]=E,E}assignTexture(A,t,e,g){const B=this;return this.getDependency("texture",e.index).then((function(i){if(!i)return null;if(void 0!==e.texCoord&&e.texCoord>0&&((i=i.clone()).channel=e.texCoord),B.extensions[Q.KHR_TEXTURE_TRANSFORM]){const A=void 0!==e.extensions?e.extensions[Q.KHR_TEXTURE_TRANSFORM]:void 0;if(A){const t=B.associations.get(i);i=B.extensions[Q.KHR_TEXTURE_TRANSFORM].extendTexture(i,A),B.associations.set(i,t)}}return void 0!==g&&(i.colorSpace=g),A[t]=i,i}))}assignFinalMaterial(A){const t=A.geometry;let e=A.material;const B=void 0===t.attributes.tangent,i=void 0!==t.attributes.color,I=void 0===t.attributes.normal;if(A.isPoints){const A="PointsMaterial:"+e.uuid;let t=this.cache.get(A);t||(t=new g.PointsMaterial,g.Material.prototype.copy.call(t,e),t.color.copy(e.color),t.map=e.map,t.sizeAttenuation=!1,this.cache.add(A,t)),e=t}else if(A.isLine){const A="LineBasicMaterial:"+e.uuid;let t=this.cache.get(A);t||(t=new g.LineBasicMaterial,g.Material.prototype.copy.call(t,e),t.color.copy(e.color),t.map=e.map,this.cache.add(A,t)),e=t}if(B||i||I){let A="ClonedMaterial:"+e.uuid+":";B&&(A+="derivative-tangents:"),i&&(A+="vertex-colors:"),I&&(A+="flat-shading:");let t=this.cache.get(A);t||(t=e.clone(),i&&(t.vertexColors=!0),I&&(t.flatShading=!0),B&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(A,t),this.associations.set(t,this.associations.get(e))),e=t}A.material=e}getMaterialType(){return g.MeshStandardMaterial}loadMaterial(A){const t=this,e=this.json,B=this.extensions,i=e.materials[A];let I;const o={},E=[];if((i.extensions||{})[Q.KHR_MATERIALS_UNLIT]){const A=B[Q.KHR_MATERIALS_UNLIT];I=A.getMaterialType(),E.push(A.extendParams(o,i,t))}else{const e=i.pbrMetallicRoughness||{};if(o.color=new g.Color(1,1,1),o.opacity=1,Array.isArray(e.baseColorFactor)){const A=e.baseColorFactor;o.color.setRGB(A[0],A[1],A[2],g.LinearSRGBColorSpace),o.opacity=A[3]}void 0!==e.baseColorTexture&&E.push(t.assignTexture(o,"map",e.baseColorTexture,g.SRGBColorSpace)),o.metalness=void 0!==e.metallicFactor?e.metallicFactor:1,o.roughness=void 0!==e.roughnessFactor?e.roughnessFactor:1,void 0!==e.metallicRoughnessTexture&&(E.push(t.assignTexture(o,"metalnessMap",e.metallicRoughnessTexture)),E.push(t.assignTexture(o,"roughnessMap",e.metallicRoughnessTexture))),I=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(A)})),E.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(A,o)}))))}!0===i.doubleSided&&(o.side=g.DoubleSide);const s=i.alphaMode||"OPAQUE";if("BLEND"===s?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,"MASK"===s&&(o.alphaTest=void 0!==i.alphaCutoff?i.alphaCutoff:.5)),void 0!==i.normalTexture&&I!==g.MeshBasicMaterial&&(E.push(t.assignTexture(o,"normalMap",i.normalTexture)),o.normalScale=new g.Vector2(1,1),void 0!==i.normalTexture.scale)){const A=i.normalTexture.scale;o.normalScale.set(A,A)}if(void 0!==i.occlusionTexture&&I!==g.MeshBasicMaterial&&(E.push(t.assignTexture(o,"aoMap",i.occlusionTexture)),void 0!==i.occlusionTexture.strength&&(o.aoMapIntensity=i.occlusionTexture.strength)),void 0!==i.emissiveFactor&&I!==g.MeshBasicMaterial){const A=i.emissiveFactor;o.emissive=(new g.Color).setRGB(A[0],A[1],A[2],g.LinearSRGBColorSpace)}return void 0!==i.emissiveTexture&&I!==g.MeshBasicMaterial&&E.push(t.assignTexture(o,"emissiveMap",i.emissiveTexture,g.SRGBColorSpace)),Promise.all(E).then((function(){const e=new I(o);return i.name&&(e.name=i.name),Z(e,i),t.associations.set(e,{materials:A}),i.extensions&&K(B,e,i),e}))}createUniqueName(A){const t=g.PropertyBinding.sanitizeNodeName(A||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(A){const t=this,e=this.extensions,B=this.primitiveCache;function i(A){return e[Q.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(A,t).then((function(e){return O(e,A,t)}))}const I=[];for(let e=0,o=A.length;e0&&T(a,I),a.name=t.createUniqueName(I.name||"mesh_"+A),Z(a,I),C.extensions&&K(i,a,C),t.assignFinalMaterial(a),s.push(a)}for(let e=0,g=s.length;e1?new g.Group:1===t.length?t[0]:new g.Object3D,Q!==t[0])for(let A=0,e=t.length;A{const t=new Map;for(const[A,e]of B.associations)(A instanceof g.Material||A instanceof g.Texture)&&t.set(A,e);return A.traverse((A=>{const e=B.associations.get(A);null!=e&&t.set(A,e)})),t})(i),i}))}_createAnimationTracks(A,t,e,B,i){const I=[],Q=A.name?A.name:A.uuid,o=[];let E;switch(L[i.path]===L.weights?A.traverse((function(A){A.morphTargetInfluences&&o.push(A.name?A.name:A.uuid)})):o.push(Q),L[i.path]){case L.weights:E=g.NumberKeyframeTrack;break;case L.rotation:E=g.QuaternionKeyframeTrack;break;case L.position:case L.scale:E=g.VectorKeyframeTrack;break;default:E=1===e.itemSize?g.NumberKeyframeTrack:g.VectorKeyframeTrack}const s=void 0!==B.interpolation?V[B.interpolation]:g.InterpolateLinear,n=this._getArrayFromAccessor(e);for(let A=0,e=o.length;A{"use strict";e.d(t,{p:()=>H});var g=e(437);class B{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(A){if(!this.workers[A]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=t}}_getIdleWorker(){for(let A=0;A{const g=this._getIdleWorker();-1!==g?(this._initWorker(g),this.workerStatus|=1<A.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const i=9,I=15,Q=16,o=22,E=37,s=43,n=76,C=83,a=97,r=100,c=103,l=109,h=165,d=166;class u{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 w{constructor(A,t,e,g){this._dataView=new DataView(A.buffer,A.byteOffset+t,e),this._littleEndian=g,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_skip(A){return this._offset+=A,this}_scan(A,t=0){const e=this._offset;let g=0;for(;this._dataView.getUint8(this._offset)!==t&&gA.arrayBuffer())).then((A=>WebAssembly.instantiate(A,F))).then(this._init):WebAssembly.instantiate(Buffer.from(G,"base64"),F).then(this._init),m)}_init(A){f=A.instance,F.env.emscripten_notify_memory_growth(0)}decode(A,t=0){if(!f)throw new Error("ZSTDDecoder: Await .init() before decoding.");const e=A.byteLength,g=f.exports.malloc(e);y.set(A,g),t=t||Number(f.exports.ZSTD_findDecompressedSize(g,e));const B=f.exports.malloc(t),i=f.exports.ZSTD_decompress(B,t,g,e),I=y.slice(B,B+i);return f.exports.free(g),f.exports.free(B),I}}const G="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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+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",M=new WeakMap;let U,S=0;class H extends g.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new B,this.workerSourceURL="",this.workerConfig=null,"undefined"!=typeof MSC_TRANSCODER&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),etc1Supported:await A.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return!0===A.isWebGPURenderer?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),etc1Supported:A.hasFeature("texture-compression-etc1"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bptc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:(this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this.workerConfig.etc1Supported=!1),this}init(){if(!this.transcoderPending){const A=new g.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const t=A.loadAsync("basis_transcoder.js"),e=new g.FileLoader(this.manager);e.setPath(this.transcoderPath),e.setResponseType("arraybuffer"),e.setWithCredentials(this.withCredentials);const B=e.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([t,B]).then((([A,t])=>{const e=H.BasisWorker.toString(),g=["/* constants */","let _EngineFormat = "+JSON.stringify(H.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(H.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(H.BasisFormat),"/* basis_transcoder.js */",A,"/* worker */",e.substring(e.indexOf("{")+1,e.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([g])),this.transcoderBinary=t,this.workerPool.setWorkerCreator((()=>{const A=new Worker(this.workerSourceURL),t=this.transcoderBinary.slice(0);return A.postMessage({type:"init",config:this.workerConfig,transcoderBinary:t},[t]),A}))})),S>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),S++}return this.transcoderPending}load(A,t,e,B){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const i=new g.FileLoader(this.manager);i.setResponseType("arraybuffer"),i.setWithCredentials(this.withCredentials),i.load(A,(A=>{if(M.has(A))return M.get(A).promise.then(t).catch(B);this._createTexture(A).then((A=>t?t(A):null)).catch(B)}),e,B)}_createTextureFrom(A,t){const{faces:e,width:B,height:i,format:I,type:Q,error:o,dfdFlags:E}=A;if("error"===Q)return Promise.reject(o);let s;if(6===t.faceCount)s=new g.CompressedCubeTexture(e,I,g.UnsignedByteType);else{const A=e[0].mipmaps;s=t.layerCount>1?new g.CompressedArrayTexture(A,B,i,t.layerCount,I,g.UnsignedByteType):new g.CompressedTexture(A,B,i,I,g.UnsignedByteType)}return s.minFilter=1===e[0].mipmaps.length?g.LinearFilter:g.LinearMipmapLinearFilter,s.magFilter=g.LinearFilter,s.generateMipmaps=!1,s.needsUpdate=!0,s.colorSpace=Y(t),s.premultiplyAlpha=!!(1&E),s}async _createTexture(A,t={}){const e=function(A){const t=new Uint8Array(A.buffer,A.byteOffset,D.length);if(t[0]!==D[0]||t[1]!==D[1]||t[2]!==D[2]||t[3]!==D[3]||t[4]!==D[4]||t[5]!==D[5]||t[6]!==D[6]||t[7]!==D[7]||t[8]!==D[8]||t[9]!==D[9]||t[10]!==D[10]||t[11]!==D[11])throw new Error("Missing KTX 2.0 identifier.");const e=new u,g=17*Uint32Array.BYTES_PER_ELEMENT,B=new w(A,D.length,g,!0);e.vkFormat=B._nextUint32(),e.typeSize=B._nextUint32(),e.pixelWidth=B._nextUint32(),e.pixelHeight=B._nextUint32(),e.pixelDepth=B._nextUint32(),e.layerCount=B._nextUint32(),e.faceCount=B._nextUint32();const i=B._nextUint32();e.supercompressionScheme=B._nextUint32();const I=B._nextUint32(),Q=B._nextUint32(),o=B._nextUint32(),E=B._nextUint32(),s=B._nextUint64(),n=B._nextUint64(),C=new w(A,D.length+g,3*i*8,!0);for(let t=0;t{const t=new R;await t.init(),A(t)}))),e=await U);const B=[];for(let i=0;i>i),Q=Math.max(1,A.pixelHeight>>i),o=A.pixelDepth?Math.max(1,A.pixelDepth>>i):0,E=A.levels[i];let s,n;if(0===A.supercompressionScheme)s=E.levelData;else{if(2!==A.supercompressionScheme)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");s=e.decode(E.levelData,E.uncompressedByteLength)}n=k[t]===g.FloatType?new Float32Array(s.buffer,s.byteOffset,s.byteLength/Float32Array.BYTES_PER_ELEMENT):k[t]===g.HalfFloatType?new Uint16Array(s.buffer,s.byteOffset,s.byteLength/Uint16Array.BYTES_PER_ELEMENT):s,B.push({data:n,width:I,height:Q,depth:o})}let i;if(N.has(b[t]))i=0===A.pixelDepth?new g.DataTexture(B[0].data,A.pixelWidth,A.pixelHeight):new g.Data3DTexture(B[0].data,A.pixelWidth,A.pixelHeight,A.pixelDepth);else{if(A.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");i=new g.CompressedTexture(B,A.pixelWidth,A.pixelHeight)}return i.mipmaps=B,i.type=k[t],i.format=b[t],i.colorSpace=Y(A),i.needsUpdate=!0,Promise.resolve(i)}(e);const B=t,i=this.init().then((()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:B},[A]))).then((A=>this._createTextureFrom(A.data,e)));return M.set(A,{promise:i}),i}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),S--,this}}H.BasisFormat={ETC1S:0,UASTC_4x4:1},H.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},H.EngineFormat={RGBAFormat:g.RGBAFormat,RGBA_ASTC_4x4_Format:g.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:g.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:g.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:g.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:g.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:g.RGB_ETC1_Format,RGB_ETC2_Format:g.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:g.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:g.RGB_S3TC_DXT1_Format},H.BasisWorker=function(){let A,t,e;const g=_EngineFormat,B=_TranscoderFormat,i=_BasisFormat;self.addEventListener("message",(function(I){const n=I.data;switch(n.type){case"init":A=n.config,C=n.transcoderBinary,t=new Promise((A=>{e={wasmBinary:C,onRuntimeInitialized:A},BASIS(e)})).then((()=>{e.initializeBasis(),void 0===e.KTX2File&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{faces:t,buffers:I,width:C,height:a,hasAlpha:r,format:c,dfdFlags:l}=function(t){const I=new e.KTX2File(new Uint8Array(t));function n(){I.close(),I.delete()}if(!I.isValid())throw n(),new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file");const C=I.isUASTC()?i.UASTC_4x4:i.ETC1S,a=I.getWidth(),r=I.getHeight(),c=I.getLayers()||1,l=I.getLevels(),h=I.getFaces(),d=I.getHasAlpha(),u=I.getDFDFlags(),{transcoderFormat:w,engineFormat:D}=function(t,e,I,s){let n,C;const a=t===i.ETC1S?Q:o;for(let g=0;g1?(B=Q.origWidth,i=Q.origHeight):(B=Q.width,i=Q.height);const o=new Uint8Array(I.getImageTranscodedSizeInBytes(e,t,0,w));if(!I.transcodeImage(o,e,t,A,w,0,-1,-1))throw n(),new Error("THREE.KTX2Loader: .transcodeImage failed.");g.push(o)}const Q=s(g);t.push({data:Q,width:B,height:i}),m.push(Q.buffer)}p.push({mipmaps:t,width:a,height:r,format:D})}return n(),{faces:p,buffers:m,width:a,height:r,hasAlpha:d,format:D,dfdFlags:u}}(n.buffer);self.postMessage({type:"transcode",id:n.id,faces:t,width:C,height:a,hasAlpha:r,format:c,dfdFlags:l},I)}catch(A){console.error(A),self.postMessage({type:"error",id:n.id,error:A.message})}}))}var C}));const I=[{if:"astcSupported",basisFormat:[i.UASTC_4x4],transcoderFormat:[B.ASTC_4x4,B.ASTC_4x4],engineFormat:[g.RGBA_ASTC_4x4_Format,g.RGBA_ASTC_4x4_Format],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[i.ETC1S,i.UASTC_4x4],transcoderFormat:[B.BC7_M5,B.BC7_M5],engineFormat:[g.RGBA_BPTC_Format,g.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[i.ETC1S,i.UASTC_4x4],transcoderFormat:[B.BC1,B.BC3],engineFormat:[g.RGB_S3TC_DXT1_Format,g.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[i.ETC1S,i.UASTC_4x4],transcoderFormat:[B.ETC1,B.ETC2],engineFormat:[g.RGB_ETC2_Format,g.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[i.ETC1S,i.UASTC_4x4],transcoderFormat:[B.ETC1],engineFormat:[g.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[i.ETC1S,i.UASTC_4x4],transcoderFormat:[B.PVRTC1_4_RGB,B.PVRTC1_4_RGBA],engineFormat:[g.RGB_PVRTC_4BPPV1_Format,g.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0}],Q=I.sort((function(A,t){return A.priorityETC1S-t.priorityETC1S})),o=I.sort((function(A,t){return A.priorityUASTC-t.priorityUASTC}));function E(A){return A<=2||!(A&A-1)&&0!==A}function s(A){if(1===A.length)return A[0];let t=0;for(let e=0;e{"use strict";e.d(t,{V:()=>B});var g=e(437);class B extends g.Loader{constructor(A){super(A)}load(A,t,e,B){const i=this,I=""===this.path?g.LoaderUtils.extractUrlBase(A):this.path,Q=new g.FileLoader(this.manager);Q.setPath(this.path),Q.setRequestHeader(this.requestHeader),Q.setWithCredentials(this.withCredentials),Q.load(A,(function(e){try{t(i.parse(e,I))}catch(t){B?B(t):console.error(t),i.manager.itemError(A)}}),e,B)}setMaterialOptions(A){return this.materialOptions=A,this}parse(A,t){const e=A.split("\n");let g={};const B=/\s+/,I={};for(let A=0;A=0?t.substring(0,i):t;Q=Q.toLowerCase();let o=i>=0?t.substring(i+1):"";if(o=o.trim(),"newmtl"===Q)g={name:o},I[o]=g;else if("ka"===Q||"kd"===Q||"ks"===Q||"ke"===Q){const A=o.split(B,3);g[Q]=[parseFloat(A[0]),parseFloat(A[1]),parseFloat(A[2])]}else g[Q]=o}const Q=new i(this.resourcePath||t,this.materialOptions);return Q.setCrossOrigin(this.crossOrigin),Q.setManager(this.manager),Q.setMaterials(I),Q}}class i{constructor(A="",t={}){this.baseUrl=A,this.options=t,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.crossOrigin="anonymous",this.side=void 0!==this.options.side?this.options.side:g.FrontSide,this.wrap=void 0!==this.options.wrap?this.options.wrap:g.RepeatWrapping}setCrossOrigin(A){return this.crossOrigin=A,this}setManager(A){this.manager=A}setMaterials(A){this.materialsInfo=this.convert(A),this.materials={},this.materialsArray=[],this.nameLookup={}}convert(A){if(!this.options)return A;const t={};for(const e in A){const g=A[e],B={};t[e]=B;for(const A in g){let t=!0,e=g[A];const i=A.toLowerCase();switch(i){case"kd":case"ka":case"ks":this.options&&this.options.normalizeRGB&&(e=[e[0]/255,e[1]/255,e[2]/255]),this.options&&this.options.ignoreZeroRGBs&&0===e[0]&&0===e[1]&&0===e[2]&&(t=!1)}t&&(B[i]=e)}}return t}preload(){for(const A in this.materialsInfo)this.create(A)}getIndex(A){return this.nameLookup[A]}getAsArray(){let A=0;for(const t in this.materialsInfo)this.materialsArray[A]=this.create(t),this.nameLookup[t]=A,A++;return this.materialsArray}create(A){return void 0===this.materials[A]&&this.createMaterial_(A),this.materials[A]}createMaterial_(A){const t=this,e=this.materialsInfo[A],B={name:A,side:this.side};function i(A,e){if(B[A])return;const i=t.getTextureParams(e,B),I=t.loadTexture((Q=t.baseUrl,"string"!=typeof(o=i.url)||""===o?"":/^https?:\/\//i.test(o)?o:Q+o));var Q,o;I.repeat.copy(i.scale),I.offset.copy(i.offset),I.wrapS=t.wrap,I.wrapT=t.wrap,"map"!==A&&"emissiveMap"!==A||(I.colorSpace=g.SRGBColorSpace),B[A]=I}for(const A in e){const t=e[A];let I;if(""!==t)switch(A.toLowerCase()){case"kd":B.color=(new g.Color).fromArray(t).convertSRGBToLinear();break;case"ks":B.specular=(new g.Color).fromArray(t).convertSRGBToLinear();break;case"ke":B.emissive=(new g.Color).fromArray(t).convertSRGBToLinear();break;case"map_kd":i("map",t);break;case"map_ks":i("specularMap",t);break;case"map_ke":i("emissiveMap",t);break;case"norm":i("normalMap",t);break;case"map_bump":case"bump":i("bumpMap",t);break;case"map_d":i("alphaMap",t),B.transparent=!0;break;case"ns":B.shininess=parseFloat(t);break;case"d":I=parseFloat(t),I<1&&(B.opacity=I,B.transparent=!0);break;case"tr":I=parseFloat(t),this.options&&this.options.invertTrProperty&&(I=1-I),I>0&&(B.opacity=1-I,B.transparent=!0)}}return this.materials[A]=new g.MeshPhongMaterial(B),this.materials[A]}getTextureParams(A,t){const e={scale:new g.Vector2(1,1),offset:new g.Vector2(0,0)},B=A.split(/\s+/);let i;return i=B.indexOf("-bm"),i>=0&&(t.bumpScale=parseFloat(B[i+1]),B.splice(i,2)),i=B.indexOf("-s"),i>=0&&(e.scale.set(parseFloat(B[i+1]),parseFloat(B[i+2])),B.splice(i,4)),i=B.indexOf("-o"),i>=0&&(e.offset.set(parseFloat(B[i+1]),parseFloat(B[i+2])),B.splice(i,4)),e.url=B.join(" ").trim(),e}loadTexture(A,t,e,B,i){const I=void 0!==this.manager?this.manager:g.DefaultLoadingManager;let Q=I.getHandler(A);null===Q&&(Q=new g.TextureLoader(I)),Q.setCrossOrigin&&Q.setCrossOrigin(this.crossOrigin);const o=Q.load(A,e,B,i);return void 0!==t&&(o.mapping=t),o}}},702:(A,t,e)=>{"use strict";e.d(t,{t:()=>B});var g=e(437);class B extends g.Loader{constructor(A){super(A)}load(A,t,e,B){const i=this,I=new g.FileLoader(this.manager);I.setPath(this.path),I.setResponseType("arraybuffer"),I.setRequestHeader(this.requestHeader),I.setWithCredentials(this.withCredentials),I.load(A,(function(e){try{t(i.parse(e))}catch(t){B?B(t):console.error(t),i.manager.itemError(A)}}),e,B)}parse(A){function t(A,t,e){for(let g=0,B=A.length;g>5&31)/31,I=(A>>10&31)/31)}for(let o=1;o<=3;o++){const E=e+12*o,s=3*A*3+3*(o-1);r[s]=t.getFloat32(E,!0),r[s+1]=t.getFloat32(E+4,!0),r[s+2]=t.getFloat32(E+8,!0),c[s]=g,c[s+1]=n,c[s+2]=a,C&&(l.set(B,i,I).convertSRGBToLinear(),Q[s]=l.r,Q[s+1]=l.g,Q[s+2]=l.b)}}return a.setAttribute("position",new g.BufferAttribute(r,3)),a.setAttribute("normal",new g.BufferAttribute(c,3)),C&&(a.setAttribute("color",new g.BufferAttribute(Q,3)),a.hasColors=!0,a.alpha=n),a}(e):function(A){const t=new g.BufferGeometry,e=/solid([\s\S]*?)endsolid/g,B=/facet([\s\S]*?)endfacet/g,i=/solid\s(.+)/;let I=0;const Q=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,o=new RegExp("vertex"+Q+Q+Q,"g"),E=new RegExp("normal"+Q+Q+Q,"g"),s=[],n=[],C=[],a=new g.Vector3;let r,c=0,l=0,h=0;for(;null!==(r=e.exec(A));){l=h;const A=r[0],e=null!==(r=i.exec(A))?r[1]:"";for(C.push(e);null!==(r=B.exec(A));){let A=0,t=0;const e=r[0];for(;null!==(r=E.exec(e));)a.x=parseFloat(r[1]),a.y=parseFloat(r[2]),a.z=parseFloat(r[3]),t++;for(;null!==(r=o.exec(e));)s.push(parseFloat(r[1]),parseFloat(r[2]),parseFloat(r[3])),n.push(a.x,a.y,a.z),A++,h++;1!==t&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+I),3!==A&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+I),I++}const g=l,Q=h-l;t.userData.groupNames=C,t.addGroup(g,Q,c),c++}return t.setAttribute("position",new g.Float32BufferAttribute(s,3)),t.setAttribute("normal",new g.Float32BufferAttribute(n,3)),t}("string"!=typeof(B=A)?(new TextDecoder).decode(B):B);var B}}},566:(A,t,e)=>{"use strict";e.d(t,{_c:()=>I,pP:()=>B});var g=e(437);function B(A,t=!1){const e=null!==A[0].index,B=new Set(Object.keys(A[0].attributes)),I=new Set(Object.keys(A[0].morphAttributes)),Q={},o={},E=A[0].morphTargetsRelative,s=new g.BufferGeometry;let n=0;for(let g=0;g{"use strict";e.d(t,{Z:()=>g});class g{static createButton(A,t={}){const e=document.createElement("button");function B(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function i(A){A.style.position="absolute",A.style.bottom="20px",A.style.padding="12px 6px",A.style.border="1px solid #fff",A.style.borderRadius="4px",A.style.background="rgba(0,0,0,0.1)",A.style.color="#fff",A.style.font="normal 13px sans-serif",A.style.textAlign="center",A.style.opacity="0.5",A.style.outline="none",A.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",i(e),navigator.xr.isSessionSupported("immersive-vr").then((function(i){i?function(){let g=null;async function B(t){t.addEventListener("end",i),await A.xr.setSession(t),e.textContent="EXIT VR",g=t}function i(){g.removeEventListener("end",i),e.textContent="ENTER VR",g=null}e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR";const I={...t,optionalFeatures:["local-floor","bounded-floor","layers",...t.optionalFeatures||[]]};e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){null===g?navigator.xr.requestSession("immersive-vr",I).then(B):(g.end(),void 0!==navigator.xr.offerSession&&navigator.xr.offerSession("immersive-vr",I).then(B).catch((A=>{console.warn(A)})))},void 0!==navigator.xr.offerSession&&navigator.xr.offerSession("immersive-vr",I).then(B).catch((A=>{console.warn(A)}))}():(B(),e.textContent="VR NOT SUPPORTED"),i&&g.xrSessionIsGranted&&e.click()})).catch((function(A){B(),console.warn("Exception when trying to call xr.isSessionSupported",A),e.textContent="VR NOT ALLOWED"})),e;{const A=document.createElement("a");return!1===window.isSecureContext?(A.href=document.location.href.replace(/^http:/,"https:"),A.innerHTML="WEBXR NEEDS HTTPS"):(A.href="https://immersiveweb.dev/",A.innerHTML="WEBXR NOT AVAILABLE"),A.style.left="calc(50% - 90px)",A.style.width="180px",A.style.textDecoration="none",i(A),A}}static registerSessionGrantedListener(){if("undefined"!=typeof navigator&&"xr"in navigator){if(/WebXRViewer\//i.test(navigator.userAgent))return;navigator.xr.addEventListener("sessiongranted",(()=>{g.xrSessionIsGranted=!0}))}}}g.xrSessionIsGranted=!1,g.registerSessionGrantedListener()},404:(A,t,e)=>{"use strict";e.d(t,{j:()=>g});class g{static createButton(A,t={}){const e=document.createElement("button");function g(g){let B=null;async function i(t){t.addEventListener("end",I),await A.xr.setSession(t),e.textContent="STOP XR",B=t}function I(){B.removeEventListener("end",I),e.textContent="START XR",B=null}e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="START XR";const Q={...t,optionalFeatures:["local-floor","bounded-floor","layers",...t.optionalFeatures||[]]};e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){null===B?navigator.xr.requestSession(g,Q).then(i):(B.end(),void 0!==navigator.xr.offerSession&&navigator.xr.offerSession(g,Q).then(i).catch((A=>{console.warn(A)})))},void 0!==navigator.xr.offerSession&&navigator.xr.offerSession(g,Q).then(i).catch((A=>{console.warn(A)}))}function B(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function i(A){B(),console.warn("Exception when trying to call xr.isSessionSupported",A),e.textContent="XR NOT ALLOWED"}function I(A){A.style.position="absolute",A.style.bottom="20px",A.style.padding="12px 6px",A.style.border="1px solid #fff",A.style.borderRadius="4px",A.style.background="rgba(0,0,0,0.1)",A.style.color="#fff",A.style.font="normal 13px sans-serif",A.style.textAlign="center",A.style.opacity="0.5",A.style.outline="none",A.style.zIndex="999"}if("xr"in navigator)return e.id="XRButton",e.style.display="none",I(e),navigator.xr.isSessionSupported("immersive-ar").then((function(A){A?g("immersive-ar"):navigator.xr.isSessionSupported("immersive-vr").then((function(A){A?g("immersive-vr"):(B(),e.textContent="XR NOT SUPPORTED")})).catch(i)})).catch(i),e;{const A=document.createElement("a");return!1===window.isSecureContext?(A.href=document.location.href.replace(/^http:/,"https:"),A.innerHTML="WEBXR NEEDS HTTPS"):(A.href="https://immersiveweb.dev/",A.innerHTML="WEBXR NOT AVAILABLE"),A.style.left="calc(50% - 90px)",A.style.width="180px",A.style.textDecoration="none",I(A),A}}}},386:(A,t,e)=>{"use strict";e.d(t,{S:()=>a});var g=e(437),B=e(888);const i={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};async function I(A){const t=await fetch(A);if(t.ok)return t.json();throw new Error(t.statusText)}const Q={xAxis:0,yAxis:0,button:0,state:i.ComponentState.DEFAULT};class o{constructor(A){this.componentProperty=A.componentProperty,this.states=A.states,this.valueNodeName=A.valueNodeName,this.valueNodeProperty=A.valueNodeProperty,this.valueNodeProperty===i.VisualResponseProperty.TRANSFORM&&(this.minNodeName=A.minNodeName,this.maxNodeName=A.maxNodeName),this.value=0,this.updateFromComponent(Q)}updateFromComponent({xAxis:A,yAxis:t,button:e,state:g}){const{normalizedXAxis:B,normalizedYAxis:I}=function(A=0,t=0){let e=A,g=t;if(Math.sqrt(A*A+t*t)>1){const B=Math.atan2(t,A);e=Math.cos(B),g=Math.sin(B)}return{normalizedXAxis:.5*e+.5,normalizedYAxis:.5*g+.5}}(A,t);switch(this.componentProperty){case i.ComponentProperty.X_AXIS:this.value=this.states.includes(g)?B:.5;break;case i.ComponentProperty.Y_AXIS:this.value=this.states.includes(g)?I:.5;break;case i.ComponentProperty.BUTTON:this.value=this.states.includes(g)?e:0;break;case i.ComponentProperty.STATE:this.valueNodeProperty===i.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(g):this.value=this.states.includes(g)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class E{constructor(A,t){if(!(A&&t&&t.visualResponses&&t.gamepadIndices&&0!==Object.keys(t.gamepadIndices).length))throw new Error("Invalid arguments supplied");this.id=A,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach((A=>{const e=new o(t.visualResponses[A]);this.visualResponses[A]=e})),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:i.ComponentState.DEFAULT,button:void 0!==this.gamepadIndices.button?0:void 0,xAxis:void 0!==this.gamepadIndices.xAxis?0:void 0,yAxis:void 0!==this.gamepadIndices.yAxis?0:void 0}}get data(){return{id:this.id,...this.values}}updateFromGamepad(A){if(this.values.state=i.ComponentState.DEFAULT,void 0!==this.gamepadIndices.button&&A.buttons.length>this.gamepadIndices.button){const t=A.buttons[this.gamepadIndices.button];this.values.button=t.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,t.pressed||1===this.values.button?this.values.state=i.ComponentState.PRESSED:(t.touched||this.values.button>i.ButtonTouchThreshold)&&(this.values.state=i.ComponentState.TOUCHED)}void 0!==this.gamepadIndices.xAxis&&A.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=A.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===i.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>i.AxisTouchThreshold&&(this.values.state=i.ComponentState.TOUCHED)),void 0!==this.gamepadIndices.yAxis&&A.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=A.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===i.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>i.AxisTouchThreshold&&(this.values.state=i.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach((A=>{A.updateFromComponent(this.values)}))}}class s{constructor(A,t,e){if(!A)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=A,this.assetUrl=e,this.id=t.profileId,this.layoutDescription=t.layouts[A.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach((A=>{const t=this.layoutDescription.components[A];this.components[A]=new E(A,t)})),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const A=[];return Object.values(this.components).forEach((t=>{A.push(t.data)})),A}updateFromGamepad(){Object.values(this.components).forEach((A=>{A.updateFromGamepad(this.xrInputSource.gamepad)}))}}class n extends g.Object3D{constructor(){super(),this.motionController=null,this.envMap=null}setEnvironmentMap(A){return this.envMap==A||(this.envMap=A,this.traverse((A=>{A.isMesh&&(A.material.envMap=this.envMap,A.material.needsUpdate=!0)}))),this}updateMatrixWorld(A){super.updateMatrixWorld(A),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach((A=>{Object.values(A.visualResponses).forEach((A=>{const{valueNode:t,minNode:e,maxNode:g,value:B,valueNodeProperty:I}=A;t&&(I===i.VisualResponseProperty.VISIBILITY?t.visible=B:I===i.VisualResponseProperty.TRANSFORM&&(t.quaternion.slerpQuaternions(e.quaternion,g.quaternion,B),t.position.lerpVectors(e.position,g.position,B)))}))})))}}function C(A,t){!function(A,t){Object.values(A.components).forEach((A=>{const{type:e,touchPointNodeName:B,visualResponses:I}=A;if(e===i.ComponentType.TOUCHPAD)if(A.touchPointNode=t.getObjectByName(B),A.touchPointNode){const t=new g.SphereGeometry(.001),e=new g.MeshBasicMaterial({color:255}),B=new g.Mesh(t,e);A.touchPointNode.add(B)}else console.warn(`Could not find touch dot, ${A.touchPointNodeName}, in touchpad component ${A.id}`);Object.values(I).forEach((A=>{const{valueNodeName:e,minNodeName:g,maxNodeName:B,valueNodeProperty:I}=A;if(I===i.VisualResponseProperty.TRANSFORM){if(A.minNode=t.getObjectByName(g),A.maxNode=t.getObjectByName(B),!A.minNode)return void console.warn(`Could not find ${g} in the model`);if(!A.maxNode)return void console.warn(`Could not find ${B} in the model`)}A.valueNode=t.getObjectByName(e),A.valueNode||console.warn(`Could not find ${e} in the model`)}))}))}(A.motionController,t),A.envMap&&t.traverse((t=>{t.isMesh&&(t.material.envMap=A.envMap,t.material.needsUpdate=!0)})),A.add(t)}class a{constructor(A=null,t=null){this.gltfLoader=A,this.path="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",this._assetCache={},this.onLoad=t,this.gltfLoader||(this.gltfLoader=new B.B)}setPath(A){return this.path=A,this}createControllerModel(A){const t=new n;let e=null;return A.addEventListener("connected",(A=>{const g=A.data;"tracked-pointer"===g.targetRayMode&&g.gamepad&&async function(A,t,e=null,g=!0){if(!A)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");const B=await async function(A){if(!A)throw new Error("No basePath supplied");return await I(`${A}/profilesList.json`)}(t);let i;if(A.profiles.some((A=>{const e=B[A];return e&&(i={profileId:A,profilePath:`${t}/${e.path}`,deprecated:!!e.deprecated}),!!i})),!i){if(!e)throw new Error("No matching profile name found");const A=B[e];if(!A)throw new Error(`No matching profile name found and default profile "${e}" missing.`);i={profileId:e,profilePath:`${t}/${A.path}`,deprecated:!!A.deprecated}}const Q=await I(i.profilePath);let o;if(g){let t;if(t="any"===A.handedness?Q.layouts[Object.keys(Q.layouts)[0]]:Q.layouts[A.handedness],!t)throw new Error(`No matching handedness, ${A.handedness}, in profile ${i.profileId}`);t.assetPath&&(o=i.profilePath.replace("profile.json",t.assetPath))}return{profile:Q,assetPath:o}}(g,this.path,"generic-trigger").then((({profile:A,assetPath:B})=>{t.motionController=new s(g,A,B);const i=this._assetCache[t.motionController.assetUrl];if(i)e=i.scene.clone(),C(t,e),this.onLoad&&this.onLoad(e);else{if(!this.gltfLoader)throw new Error("GLTFLoader not set.");this.gltfLoader.setPath(""),this.gltfLoader.load(t.motionController.assetUrl,(A=>{this._assetCache[t.motionController.assetUrl]=A,e=A.scene.clone(),C(t,e),this.onLoad&&this.onLoad(e)}),null,(()=>{throw new Error(`Asset ${t.motionController.assetUrl} missing or malformed.`)}))}})).catch((A=>{console.warn(A)}))})),A.addEventListener("disconnected",(()=>{t.motionController=null,t.remove(e),e=null})),t}}},751:(A,t,e)=>{"use strict";e.d(t,{Cc:()=>y,DJ:()=>f});var g,B,i,I,Q,o,E,s,n=e(437);class C{static addMaterial(A,t,e,g,B){let i;e.name=t,g?(A.set(t,e),B&&console.info('Material with name "'+t+'" was forcefully overridden.')):(i=A.get(t),i?i.uuid!=i.uuid&&B&&console.log('Same material name "'+i.name+'" different uuid ['+i.uuid+"|"+e.uuid+"]"):(A.set(t,e),B&&console.info('Material with name "'+t+'" was added.')))}static getMaterialsJSON(A){const t=new Map;for(const e of A.entries())"function"==typeof e[1].toJSON&&t.set(e[0],e[1].toJSON());return t}static cloneMaterial(A,t,e){if(t){let g=t.materialNameOrg;g=null!=g?g:"";const B=A.get(g);if(B){const g=B.clone();return Object.assign(g,t.materialProperties),C.addMaterial(A,t.materialProperties.name,g,!0,e),g}e&&console.info('Requested material "'+g+'" is not available!')}}}class a{materials;constructor(A){if(this.materials=new Map,A){const A=new n.MeshStandardMaterial({color:14479871});A.name="defaultMaterial";const t=new n.MeshStandardMaterial({color:14479871});t.name="defaultVertexColorMaterial",t.vertexColors=!0;const e=new n.LineBasicMaterial;e.name="defaultLineMaterial";const g=new n.PointsMaterial({size:.1});g.name="defaultPointMaterial",this.materials.set(A.name,A),this.materials.set(t.name,t),this.materials.set(e.name,e),this.materials.set(g.name,g)}}addMaterials(A,t){if(A&&null!==A&&A.size>0)for(const e of A.entries())C.addMaterial(this.materials,e[0],e[1],!0===t)}addMaterialsFromObject(A,t){if(A&&null!==A&&Object.keys(A).length>0)for(const[e,g]of Object.entries(A))C.addMaterial(this.materials,e,g,!0===t)}getMaterials(){return this.materials}getMaterial(A){return this.materials.get(A)}clearMaterials(){this.materials.clear()}}(I=g||(g={})).INIT="init",I.INIT_CHANNEL="initChannel",I.INTERMEDIATE="intermediate",I.EXECUTE="execute",I.INTERCOM_INIT="interComInit",I.INTERCOM_INTERMEDIATE="interComIntermediate",I.INTERCOM_EXECUTE="interComExecute",(i=B||(B={})).INIT_COMPLETE="initComplete",i.INIT_CHANNEL_COMPLETE="initChannelComplete",i.INTERMEDIATE_CONFIRM="intermediateConfirm",i.EXECUTE_COMPLETE="executeComplete",i.INTERCOM_INIT_COMPLETE="interComInitComplete",i.INTERCOM_INTERMEDIATE_CONFIRM="interComIntermediateConfirm",i.INTERCOM_EXECUTE_COMPLETE="interComExecuteComplete",(s=Q||(Q={})).INIT_OFFSCREEN_CANVAS="initOffscreenCanvas",s.PROXY_START="proxyStart",s.PROXY_EVENT="proxyEvent",s.RESIZE="resize",(E=o||(o={})).INIT_OFFSCREEN_CANVAS_COMPLETE="initOffscreenCanvasComplete",E.PROXY_START_COMPLETE="proxyStartComplete",E.PROXY_EVENT_COMPLETE="proxyEventComplete",E.RESIZE_COMPLETE="resizeComplete";class r{static handler=new Map}const c=(A,t,e)=>{for(const g of A){const A=e?g.slice(0):g,B=A.buffer;B?t.push(B):t.push(A)}};class l{$type="DataPayload";message={buffers:new Map,params:{}};progress=0}class h{pack(A,t,e){const g=A;return g.message.buffers&&c(g.message.buffers?.values(),t,e),t}unpack(A,t){const e=A,g=Object.assign(new l,A);if(e.message.buffers)for(const[A,B]of e.message.buffers.entries())g.message.buffers&&g.message.buffers.set(A,t?B.slice(0):B);return g}}r.handler.set("DataPayload",new h);class d{$type="MaterialsPayload";message={buffers:new Map,params:{},materials:new Map,materialsJson:new Map,multiMaterialNames:new Map,cloneInstructions:[]};setMaterials(A){for(const[t,e]of A.entries())this.message.materials.set(t,e)}cleanMaterials(){const A=new Map;for(const t of this.message.materials.values())if("function"==typeof t.clone){const e=t.clone();A.set(e.name,this.cleanMaterial(e))}this.message.materials=A}cleanMaterial(A){const t=A;for(const[e,g]of Object.entries(t))(g instanceof n.Texture||null===g)&&Object.prototype.hasOwnProperty.call(A,e)&&(t[e]=void 0);return A}hasMultiMaterial(){return this.message.multiMaterialNames.size>0}getSingleMaterial(){return this.message.materials.size>0?this.message.materials.values().next().value:void 0}processMaterialTransport(A,t){for(const e of this.message.cloneInstructions)C.cloneMaterial(A,e,t);if(this.hasMultiMaterial()){const t=[];for(const[e,g]of this.message.multiMaterialNames.entries()){const B=A.get(g);B&&(t[e]=B)}return t}{const t=this.getSingleMaterial();if(t){return A.get(t.name)||t}}}}var u;r.handler.set("MaterialsPayload",new class{pack(A,t,e){const g=A;return g.message.buffers&&c(g.message.buffers.values(),t,e),g.message.materialsJson=C.getMaterialsJSON(g.message.materials),t}unpack(A,t){const e=A,g=Object.assign(new d,A);(new h).unpack(e,t);for(const[A,t]of e.message.multiMaterialNames.entries())g.message.multiMaterialNames.set(A,t);const B=new n.MaterialLoader;for(const[A,t]of e.message.materialsJson.entries())g.message.materials.set(A,B.parse(t));return g}}),function(A){A[A.MESH=0]="MESH",A[A.LINE=1]="LINE",A[A.POINT=2]="POINT"}(u||(u={}));class w{$type="MeshPayload";message={params:{},buffers:new Map,geometryType:u.MESH,bufferGeometry:new n.BufferGeometry,meshName:""};setBufferGeometry(A,t){this.message.bufferGeometry=A,this.message.geometryType=t}setMesh(A,t){this.message.meshName=A.name,this.setBufferGeometry(A.geometry,t)}}const D=(A,t,e,g)=>{if(t&&null!==t){const B=t.array;g.set(A,e?B.slice(0):B)}},p=(A,t,e,g)=>{if(t){const B=g?t.array.slice(0):t.array;A.setAttribute(e,new n.BufferAttribute(B,t.itemSize,t.normalized))}};r.handler.set("MeshPayload",new class{pack(A,t,e){const g=A;return g.message.buffers&&(((A,t,e)=>{if(!(t instanceof n.BufferGeometry))return;const g=t.getAttribute("position"),B=t.getAttribute("normal"),i=t.getAttribute("uv"),I=t.getAttribute("color"),Q=t.getAttribute("skinIndex"),o=t.getAttribute("skinWeight"),E=t.getIndex();D("position",g,A,e),D("normal",B,A,e),D("uv",i,A,e),D("color",I,A,e),D("skinIndex",Q,A,e),D("skinWeight",o,A,e),D("index",E,A,e)})(e,g.message.bufferGeometry,g.message.buffers),c(g.message.buffers.values(),t,e)),t}unpack(A,t){const e=A,g=Object.assign(new w,e);return g.message.bufferGeometry&&(g.message.bufferGeometry=((A,t)=>{const e=new n.BufferGeometry;if(!t)return e;if(t instanceof n.BufferGeometry)return t;if(t.attributes){const g=t.attributes;p(e,g.position,"position",A),p(e,g.normal,"normal",A),p(e,g.uv,"uv",A),p(e,g.color,"color",A),p(e,g.skinIndex,"skinIndex",A),p(e,g.skinWeight,"skinWeight",A)}if(null!==t.index){const g=t.index;if(g){const t=A?g.array.slice(0):g.array;e.setIndex(new n.BufferAttribute(t,g.itemSize,g.normalized))}}const g=t.boundingBox;null!==g&&(e.boundingBox=Object.assign(new n.Box3,g));const B=t.boundingSphere;return null!==B&&(e.boundingSphere=Object.assign(new n.Sphere,B)),e.uuid=t.uuid,e.name=t.name,e.groups=t.groups,e.drawRange=t.drawRange,e.userData=t.userData,e})(t,g.message.bufferGeometry)),g}}),n.EventDispatcher;class m{logging;usedBefore=!1;contentRef="";legacyMode=!1;materialNames=new Set;modelName="noname";materialPerSmoothingGroup=!1;useOAsMesh=!1;useIndices=!1;disregardNormals=!1;vertices=[];colors=[];normals=[];uvs=[];rawMesh;inputObjectCount=1;outputObjectCount=1;globalCounts;constructor(){this.logging=this.buildDefaultLogging(),this.rawMesh=this.buildDefaultRawMesh(),this.globalCounts=this.buildDefaultGlobalsCount()}buildDefaultLogging(){return{enabled:!1,debug:!1}}buildDefaultRawMesh(){return{objectName:"",groupName:"",activeMtlName:"",mtllibName:"",faceType:-1,subGroups:new Map,subGroupInUse:void 0,smoothingGroup:{splitMaterials:!1,normalized:-1,real:-1},counts:{doubleIndicesCount:0,faceCount:0,mtlCount:0,smoothingGroupCount:0}}}buildDefaultGlobalsCount(){return{vertices:0,faces:0,doubleIndicesCount:0,lineByte:0,currentByte:0,totalBytes:0}}setBulkConfig(A){this.materialPerSmoothingGroup=A.materialPerSmoothingGroup,this.useOAsMesh=A.useOAsMesh,this.useIndices=A.useIndices,this.disregardNormals=A.disregardNormals,this.modelName=A.modelName,this.materialNames=A.materialNames}setLogging(A,t){this.logging.enabled=!0===A,this.logging.debug=!0===t}setMaterialNames(A){this.materialNames=A}isLoggingEnabled(){return this.logging.enabled}isDebugLoggingEnabled(){return this.logging.enabled&&this.logging.debug}isUsedBefore(){return this.usedBefore}configure(){if(this.usedBefore=!0,this.pushSmoothingGroup("1"),this.logging.enabled){const A="OBJLoader2 Parser configuration:"+(this.materialNames.size>0?"\n\tmaterialNames:\n\t\t- "+Array.from(this.materialNames).join("\n\t\t- "):"\n\tmaterialNames: None")+"\n\tmaterialPerSmoothingGroup: "+this.materialPerSmoothingGroup+"\n\tuseOAsMesh: "+this.useOAsMesh+"\n\tuseIndices: "+this.useIndices+"\n\tdisregardNormals: "+this.disregardNormals;console.info(A)}}execute(A){this.logging.enabled&&console.time("OBJLoader2Parser.execute"),this.configure();const t=new Uint8Array(A);this.contentRef=t;const e=t.byteLength;this.globalCounts.totalBytes=e;const g=new Array(128);let B=0,i=0,I="",Q=0;for(let A;Q0&&(g[B++]=I),I="";break;case 47:I.length>0&&(g[B++]=I),i++,I="";break;case 10:this.processLine(g,B,i,I,Q),I="",B=0,i=0;break;case 13:break;default:I+=String.fromCharCode(A)}this.processLine(g,B,i,I,Q),this.finalizeParsing(),this.logging.enabled&&console.timeEnd("OBJLoader2Parser.execute")}executeLegacy(A){this.logging.enabled&&console.time("OBJLoader2Parser.executeLegacy"),this.configure(),this.legacyMode=!0,this.contentRef=A;const t=A.length;this.globalCounts.totalBytes=t;const e=new Array(128);let g=0,B=0,i="",I=0;for(let Q;I0&&(e[g++]=i),i="";break;case"/":i.length>0&&(e[g++]=i),B++,i="";break;case"\n":this.processLine(e,g,B,i,I),i="",g=0,B=0;break;case"\r":break;default:i+=Q}this.processLine(e,g,B,i,I),this.finalizeParsing(),this.logging.enabled&&console.timeEnd("OBJLoader2Parser.executeLegacy")}processLine(A,t,e,g,B){if(this.globalCounts.lineByte=this.globalCounts.currentByte,this.globalCounts.currentByte=B,t<1)return;g.length>0&&(A[t++]=g);const i=(A,t,e,g)=>{let B="";if(g>e){let i;if(t)for(i=e;i4){const t=new n.Color;t.setRGB(parseFloat(A[4]),parseFloat(A[5]),parseFloat(A[6])).convertSRGBToLinear(),this.colors.push(t.r),this.colors.push(t.g),this.colors.push(t.b)}break;case"vt":this.uvs.push(parseFloat(A[1])),this.uvs.push(parseFloat(A[2]));break;case"vn":this.normals.push(parseFloat(A[1])),this.normals.push(parseFloat(A[2])),this.normals.push(parseFloat(A[3]));break;case"f":if(I=t-1,0===e)for(this.checkFaceType(0),o=2,Q=I;o{const B=parseInt(A);let i=3*(B>0?B-1:B+this.vertices.length/3),I=this.colors.length>0?i:null;const Q=g.vertices;if(Q.push(this.vertices[i++]),Q.push(this.vertices[i++]),Q.push(this.vertices[i]),null!==I){const A=g.colors;A.push(this.colors[I++]),A.push(this.colors[I++]),A.push(this.colors[I])}if(t){const A=parseInt(t);let e=2*(A>0?A-1:A+this.uvs.length/2);const B=g.uvs;B.push(this.uvs[e++]),B.push(this.uvs[e])}if(e&&!this.disregardNormals){const A=parseInt(e);let t=3*(A>0?A-1:A+this.normals.length/3);const B=g.normals;B.push(this.normals[t++]),B.push(this.normals[t++]),B.push(this.normals[t])}};if(this.useIndices){this.disregardNormals&&(e=void 0);const i=A+(t?"_"+t:"_n")+(e?"_"+e:"_n");let I=g.indexMappings.get(i);null==I?(I=this.rawMesh.subGroupInUse.vertices.length/3,B(),g.indexMappings.set(i,I),g.indexMappingsCount++):this.rawMesh.counts.doubleIndicesCount++,g.indices.push(I)}else B();this.rawMesh.counts.faceCount++}createRawMeshReport(A){return`Input Object number: ${A}\n\tObject name: ${this.rawMesh.objectName}\n\tGroup name: ${this.rawMesh.groupName}\n\tMtllib name: ${this.rawMesh.mtllibName}\n\tVertex count: ${this.vertices.length/3}\n\tNormal count: ${this.normals.length/3}\n\tUV count: ${this.uvs.length/2}\n\tSmoothingGroup count: ${this.rawMesh.counts.smoothingGroupCount}\n\tMaterial count: ${this.rawMesh.counts.mtlCount}\n\tReal MeshOutputGroup count: ${this.rawMesh.subGroups.size}`}finalizeRawMesh(){const A=[];let t,e,g=0,B=0,i=0,I=0,Q=0,o=0;for(const E of this.rawMesh.subGroups.entries())if(t=this.rawMesh.subGroups.get(E[0]),t&&t.vertices.length>0){if(e=t.indices,e.length>0&&B>0)for(let A=0;A0?{name:""!==this.rawMesh.groupName?this.rawMesh.groupName:this.rawMesh.objectName,subGroups:A,absoluteVertexCount:g,absoluteIndexCount:i,absoluteColorCount:I,absoluteNormalCount:Q,absoluteUvCount:o,faceCount:this.rawMesh.counts.faceCount,doubleIndicesCount:this.rawMesh.counts.doubleIndicesCount}:void 0}processCompletedMesh(){const A=this.finalizeRawMesh();if(A){this.colors.length>0&&this.colors.length!==this.vertices.length&&this._onError("Vertex Colors were detected, but vertex count and color count do not match!"),this.logging.enabled&&this.logging.debug&&console.debug(this.createRawMeshReport(this.inputObjectCount)),this.inputObjectCount++;const t=this.createPreparedMesh(A);this._onAssetAvailable(t);const e=this.globalCounts.currentByte/this.globalCounts.totalBytes;return this._onProgress("Completed [o: "+this.rawMesh.objectName+" g:"+this.rawMesh.groupName+"] Total progress: "+(100*e).toFixed(2)+"%"),this.resetRawMesh(),!0}return!1}resetRawMesh(){this.rawMesh.subGroups=new Map,this.rawMesh.subGroupInUse=void 0,this.rawMesh.smoothingGroup.normalized=-1,this.rawMesh.smoothingGroup.real=-1,this.pushSmoothingGroup("1"),this.rawMesh.counts.doubleIndicesCount=0,this.rawMesh.counts.faceCount=0,this.rawMesh.counts.mtlCount=0,this.rawMesh.counts.smoothingGroupCount=0}createPreparedMesh(A){const t=A.subGroups;if(this.globalCounts.vertices+=A.absoluteVertexCount/3,this.globalCounts.faces+=A.faceCount,this.globalCounts.doubleIndicesCount+=A.doubleIndicesCount,A.absoluteVertexCount<=0)throw new Error(`Invalid vertex count: ${A.absoluteVertexCount}`);const e=new Float32Array(A.absoluteVertexCount),g=A.absoluteIndexCount>0?new Uint32Array(A.absoluteIndexCount):null,B=A.absoluteColorCount>0?new Float32Array(A.absoluteColorCount):null,i=A.absoluteNormalCount>0?new Float32Array(A.absoluteNormalCount):null,I=A.absoluteUvCount>0?new Float32Array(A.absoluteUvCount):null;let Q,o=0,E=0,s=0,n=0,C=0;const a=[];let r=0,c=0;const l=t.length>1,h=[],d=null!==B;let u=0;const w={materialCloneInstructions:[],materialName:"",multiMaterialNames:new Map,modelName:this.modelName,geometryType:this.rawMesh.faceType<4?0:6===this.rawMesh.faceType?2:1};for(const A in t){if(!Object.prototype.hasOwnProperty.call(t,A))continue;let D;Q=t[A];const p=Q.materialName,m=0===Q.smoothingGroup;this.rawMesh.faceType<4?(D=p,d&&(D+="_vertexColor"),m&&(D+="_flat")):D=6===this.rawMesh.faceType?"defaultPointMaterial":"defaultLineMaterial",w.materialName=D;const f=this.materialNames.has(p),y=this.materialNames.has(D),F=!f&&!y,R=!F&&!y;if(F&&(D=d?"defaultVertexColorMaterial":"defaultMaterial",this.logging.enabled&&console.info('object_group "'+Q.objectName+"_"+Q.groupName+'" was defined with unresolvable material "'+p+'"! Assigning "'+D+'".'),w.materialName=D),R){const A={materialNameOrg:p,materialProperties:{name:D,vertexColors:d?2:0,flatShading:m}};w.materialCloneInstructions.push(A)}if(l&&(c=this.useIndices?Q.indices.length:Q.vertices.length/3,a.push({materialGroupOffset:r,materialGroupLength:c,materialIndex:u}),h[u]=D,w.multiMaterialNames.set(u,D),r+=c,u++),null!==e&&(e.set(Q.vertices,o),o+=Q.vertices.length),null!==g&&(g.set(Q.indices,E),E+=Q.indices.length),null!==B&&(B.set(Q.colors,s),s+=Q.colors.length),null!==i&&(i.set(Q.normals,n),n+=Q.normals.length),null!==I&&(I.set(Q.uvs,C),C+=Q.uvs.length),this.logging.enabled&&this.logging.debug){let A="";u>0&&(A="\n\t\tmaterialIndex: "+u);const t="\tOutput Object no.: "+this.outputObjectCount+"\n\t\tgroupName: "+Q.groupName+"\n\t\tIndex: "+Q.index+"\n\t\tfaceType: "+this.rawMesh.faceType+"\n\t\tmaterialName: "+Q.materialName+"\n\t\tsmoothingGroup: "+Q.smoothingGroup+A+"\n\t\tobjectName: "+Q.objectName+"\n\t\t#vertices: "+Q.vertices.length/3+"\n\t\t#indices: "+Q.indices.length+"\n\t\t#colors: "+Q.colors.length/3+"\n\t\t#uvs: "+Q.uvs.length/2+"\n\t\t#normals: "+Q.normals.length/3;console.debug(t)}}return this.outputObjectCount++,{meshName:A.name,vertexFA:e,normalFA:i,uvFA:I,colorFA:B,indexUA:g,createMultiMaterial:l,geometryGroups:a,multiMaterial:h,materialMetaInfo:w,progress:this.globalCounts.currentByte/this.globalCounts.totalBytes}}finalizeParsing(){if(this.logging.enabled&&console.info("Global output object count: "+this.outputObjectCount),this.processCompletedMesh()&&this.logging.enabled){const A="Overall counts: \n\tVertices: "+this.globalCounts.vertices+"\n\tFaces: "+this.globalCounts.faces+"\n\tMultiple definitions: "+this.globalCounts.doubleIndicesCount;console.info(A)}this._onLoad()}_onProgress(A){const t=A||"";this.logging.enabled&&this.logging.debug&&console.log(t)}_onError(A){this.logging.enabled&&this.logging.debug&&console.error(A)}_onAssetAvailable(A,t){}_onLoad(){}}class f extends n.Loader{static OBJLOADER2_VERSION="6.0.0";parser=new m;baseObject3d=new n.Object3D;materialStore=new a(!0);materialPerSmoothingGroup=!1;useOAsMesh=!1;useIndices=!1;disregardNormals=!1;modelName="noname";callbacks;constructor(A){super(A),this.callbacks={onLoad:void 0,onError:void 0,onProgress:void 0,onMeshAlter:void 0}}setLogging(A,t){return this.parser.setLogging(A,t),this}setMaterialPerSmoothingGroup(A){return this.materialPerSmoothingGroup=!0===A,this}setUseOAsMesh(A){return this.useOAsMesh=!0===A,this}setUseIndices(A){return this.useIndices=!0===A,this}setDisregardNormals(A){return this.disregardNormals=!0===A,this}setModelName(A){return A.length>0&&(this.modelName=A),this}getModelName(){return this.modelName}setBaseObject3d(A){return this.baseObject3d=A,this}setMaterials(A){return this.materialStore.addMaterialsFromObject(A,!1),this}setCallbackOnLoad(A){return this.callbacks.onLoad=A,this}setCallbackOnProgress(A){return this.callbacks.onProgress=A,this}setCallbackOnError(A){return this.callbacks.onError=A,this}setCallbackOnMeshAlter(A){return this.callbacks.onMeshAlter=A,this}load(A,t,e,g,B){if(!(t instanceof Function)){const A=new Error("onLoad is not a function! Aborting...");throw this._onError(A),A}this.setCallbackOnLoad(t),g&&g instanceof Function||(g=A=>{if(Object.hasOwn(A,"currentTarget")){const t="Error occurred while downloading!\nurl: "+A.currentTarget;this._onError(new Error(t))}}),void 0===A&&g(new ErrorEvent("An invalid url was provided. Unable to continue!"));let i="";try{i=new URL(A).href}catch(t){i=new URL(A,window.location.href).href}let I=i;const Q=i.split("/");if(Q.length>2){I=Q[Q.length-1];const A=Q.slice(0,Q.length-1).join("/")+"/";void 0!==A&&(this.path=A)}if(!(e&&e instanceof Function)){let t=0,g=0;e=e=>{if(e.lengthComputable&&(g=e.loaded/e.total,g>t)){t=g;const e=`Download of "${A}": ${(100*g).toFixed(2)}%`;this._onProgress(e)}}}B&&this.setCallbackOnMeshAlter(B);const o=new n.FileLoader(this.manager);o.setPath(this.path||this.resourcePath),o.setResponseType("arraybuffer"),o.load(I,(A=>{this.parse(A)}),e,g)}loadAsync(A,t,e){return new Promise(((g,B)=>{this.load(A,g,t,B,e)}))}parse(A){return this.parser.isLoggingEnabled()&&(console.info("Using OBJLoader2 version: "+f.OBJLOADER2_VERSION),console.time("OBJLoader parse: "+this.modelName)),A instanceof ArrayBuffer?(this.parser.isLoggingEnabled()&&console.info("Parsing arrayBuffer..."),this.configure(),this.parser.execute(A)):"string"==typeof A?(this.parser.isLoggingEnabled()&&console.info("Parsing text..."),this.configure(),this.parser.executeLegacy(A)):this._onError(new Error("Provided objToParse was neither of type String nor Uint8Array! Aborting...")),this.parser.isLoggingEnabled()&&console.timeEnd("OBJLoader parse: "+this.modelName),this.baseObject3d}configure(){this.parser.setBulkConfig({materialPerSmoothingGroup:this.materialPerSmoothingGroup,useOAsMesh:this.useOAsMesh,useIndices:this.useIndices,disregardNormals:this.disregardNormals,modelName:this.modelName,materialNames:new Set(Array.from(this.materialStore.getMaterials().keys()))}),this.parser._onAssetAvailable=A=>{const t=f.buildThreeMesh(A,this.materialStore.getMaterials(),this.parser.isDebugLoggingEnabled());t&&(this._onMeshAlter(t,A.materialMetaInfo),this.baseObject3d.add(t))},this.parser._onLoad=()=>{this._onLoad()},this.printCallbackConfig()}printCallbackConfig(){if(this.parser.isLoggingEnabled()){let A="OBJLoader2 callback configuration:";null!==this.callbacks.onProgress&&(A+=`\n\tcallbacks.onProgress: ${this.callbacks.onProgress?.name??void 0}`),null!==this.callbacks.onError&&(A+=`\n\tcallbacks.onError: ${this.callbacks.onError?.name??void 0}`),null!==this.callbacks.onMeshAlter&&(A+=`\n\tcallbacks.onMeshAlter: ${this.callbacks.onMeshAlter?.name??void 0}`),null!==this.callbacks.onLoad&&(A+=`\n\tcallbacks.onLoad: ${this.callbacks.onLoad?.name??void 0}`),console.info(A)}}static buildThreeMesh({meshName:A,vertexFA:t,normalFA:e,uvFA:g,colorFA:B,indexUA:i,createMultiMaterial:I,geometryGroups:Q,multiMaterial:o,materialMetaInfo:E},s,a){const r=new n.BufferGeometry;if(r.setAttribute("position",new n.BufferAttribute(t,3,!1)),null!==e&&r.setAttribute("normal",new n.BufferAttribute(e,3,!1)),null!==g&&r.setAttribute("uv",new n.BufferAttribute(g,2,!1)),null!==B&&r.setAttribute("color",new n.BufferAttribute(B,3,!1)),null!==i&&r.setIndex(new n.BufferAttribute(i,1,!1)),Q.length>0)for(const A of Q)r.addGroup(A.materialGroupOffset,A.materialGroupLength,A.materialIndex);let c;if(null===e&&r.computeVertexNormals(),E.materialCloneInstructions.length>0)for(const A of E.materialCloneInstructions)c=C.cloneMaterial(s,A,a);else c=s.get(E.materialName);const l=[];if(I)for(let A=0;A{for(var e in t)__webpack_require__.o(t,e)&&!__webpack_require__.o(A,e)&&Object.defineProperty(A,e,{enumerable:!0,get:t[e]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),__webpack_require__.o=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),__webpack_require__.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},__webpack_require__.nmd=A=>(A.paths=[],A.children||(A.children=[]),A),__webpack_require__.b=document.baseURI||self.location.href;var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{THREE:()=>three__WEBPACK_IMPORTED_MODULE_1__,Viewer:()=>Viewer,msgpack:()=>msgpack});var three__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(437),three_examples_jsm_utils_BufferGeometryUtils_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(566),wwobjloader2__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(751),three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(541),three_examples_jsm_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(728),three_examples_jsm_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(888),three_examples_jsm_loaders_KTX2Loader_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(263),three_examples_jsm_loaders_MTLLoader_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(880),three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(702),three_examples_jsm_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(24),three_examples_jsm_webxr_VRButton_js__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(246),three_examples_jsm_webxr_XRButton_js__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(404),three_examples_jsm_webxr_XRControllerModelFactory__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(386),msgpack=__webpack_require__(986),dat=__webpack_require__(924).Ay;__webpack_require__(775);const meshcat_inline_assets={"basis_transcoder.js":new URL(__webpack_require__(762),__webpack_require__.b).href,"basis_transcoder.wasm":new URL(__webpack_require__(627),__webpack_require__.b).href,"draco_decoder.wasm":new URL(__webpack_require__(930),__webpack_require__.b).href,"draco_wasm_wrapper.js":new URL(__webpack_require__(11),__webpack_require__.b).href},meshcat_loading_manager=new three__WEBPACK_IMPORTED_MODULE_1__.LoadingManager;meshcat_loading_manager.setURLModifier((A=>A in meshcat_inline_assets?meshcat_inline_assets[A]:MeshCat.THREE.DefaultLoadingManager.resolveURL(A)));const extensionCodec=new msgpack.ExtensionCodec;function merge_geometries(A,t=!1){let e=[],g=[],B=A.matrix.clone();!function A(t,B){let i=B.clone().multiply(t.matrix);"Mesh"===t.type&&(t.geometry.applyMatrix4(i),g.push(t.geometry),e.push(t.material));for(let e of t.children)A(e,i)}(A,B);let i=null;return 1==g.length?(i=g[0],t&&(i.material=e[0])):g.length>1?(i=(0,three_examples_jsm_utils_BufferGeometryUtils_js__WEBPACK_IMPORTED_MODULE_2__.pP)(g,!0),t&&(i.material=e)):i=new three__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry,i}function handle_special_texture(A){if("_text"==A.type){let t=document.createElement("canvas");t.width=256,t.height=256;let e=t.getContext("2d");e.textAlign="center";let g=A.font_size;for(e.font=g+"px "+A.font_face;e.measureText(A.text).width>t.width;)g--,e.font=g+"px "+A.font_face;e.fillText(A.text,t.width/2,t.height/2);let B=new three__WEBPACK_IMPORTED_MODULE_1__.CanvasTexture(t);return B.uuid=A.uuid,B}return null}function handle_special_geometry(A){if("_meshfile"==A.type&&(console.warn("_meshfile is deprecated. Please use _meshfile_geometry for geometries and _meshfile_object for objects with geometry and material"),A.type="_meshfile_geometry"),"_meshfile_geometry"==A.type){if("obj"==A.format){let t=merge_geometries((new wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.DJ).parse(A.data+"\n"));return t.uuid=A.uuid,t}if("dae"==A.format){let t=merge_geometries((new three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__.q).parse(A.data).scene);return t.uuid=A.uuid,t}if("stl"==A.format){let t=(new three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__.t).parse(A.data.buffer);return t.uuid=A.uuid,t}return console.error("Unsupported mesh type:",A),null}return null}extensionCodec.register({type:18,encode:A=>(console.error("Uint8Array encode not implemented"),null),decode:A=>{const t=new Uint8Array(A.byteLength);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Int32Array encode not implemented"),null),decode:A=>{const t=new Int32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Uint32Array encode not implemented"),null),decode:A=>{const t=new Uint32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Float32Array encode not implemented"),null),decode:A=>{const t=new Float32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;Avoid 0!==A.resources[t]?A.resources[t]:t)),"obj"==A.format){let i=new wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.DJ(g);if(A.mtl_library){let t=new three_examples_jsm_loaders_MTLLoader_js__WEBPACK_IMPORTED_MODULE_5__.V(g).parse(A.mtl_library+"\n",""),e=wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.Cc.addMaterialsFromMtlLoader(t);i.setMaterials(e),this.onTextureLoad()}t=merge_geometries(i.parse(A.data+"\n",B),!0),t.uuid=A.uuid,e=t.material}else if("dae"==A.format){let i=new three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__.q(g);i.onTextureLoad=this.onTextureLoad,t=merge_geometries(i.parse(A.data,B).scene,!0),t.uuid=A.uuid,e=t.material}else{if("stl"!=A.format)return console.error("Unsupported mesh type:",A),null;t=(new three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__.t).parse(A.data.buffer,B),t.uuid=A.uuid,e=t.material}let i=new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(t,e);return i.uuid=A.uuid,void 0!==A.name&&(i.name=A.name),void 0!==A.matrix?(i.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(i.matrixAutoUpdate=A.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==A.position&&i.position.fromArray(A.position),void 0!==A.rotation&&i.rotation.fromArray(A.rotation),void 0!==A.quaternion&&i.quaternion.fromArray(A.quaternion),void 0!==A.scale&&i.scale.fromArray(A.scale)),void 0!==A.castShadow&&(i.castShadow=A.castShadow),void 0!==A.receiveShadow&&(i.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(i.shadow.bias=A.shadow.bias),void 0!==A.shadow.radius&&(i.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&i.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(i.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(i.visible=A.visible),void 0!==A.frustumCulled&&(i.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(i.renderOrder=A.renderOrder),void 0!==A.userjson&&(i.userjson=A.userData),void 0!==A.layers&&(i.layers.mask=A.layers),i}return super.parseObject(A,t,e)}}class Background extends three__WEBPACK_IMPORTED_MODULE_1__.Object3D{constructor(){super(),this.isBackground=!0,this.type="Background",this.top_color=new dat.color.Color(135,206,250),this.bottom_color=new dat.color.Color(25,25,112),this.render_environment_map=!0,this.environment_map=null,this.visible=!0,this.use_ar_background=!1,this.textures={env_map:null,round:{gradient:env_texture(this.top_color,this.bottom_color,!0),white:env_texture([255,255,255],[255,255,255],!0)},flat:{gradient:env_texture(this.top_color,this.bottom_color,!1),white:env_texture([255,255,255],[255,255,255],!1)}},this.state={top_color:null,bottom_color:null,environment_map:null,render_map:null,visible:!0}}update(A,t,e){this.state.visible=t,this.state.render_map=this.render_environment_map,this.environment_map!==this.state.environment_map&&(""==this.environment_map||null==this.environment_map?(this.environment_map=this.state.environment_map=null,this.textures.env_map=null):(this.textures.env_map=load_env_texture(this.environment_map,this,A,t,e),null==this.textures.env_map?this.state.environment_map=this.environment_map=null:this.state.environment_map=this.environment_map));let g=!e||!this.render_environment_map||null==this.textures.env_map;if(t&&g&&(this.top_color!==this.state.top_color||this.bottom_color!==this.state.bottom_color)){this.state.top_color=this.top_color,this.state.bottom_color=this.bottom_color;let A=[this.state.top_color.r,this.state.top_color.g,this.state.top_color.b],t=[this.state.bottom_color.r,this.state.bottom_color.g,this.state.bottom_color.b];this.textures.flat.gradient=env_texture(A,t,!1),this.textures.round.gradient=env_texture(A,t,!0)}let B=e?"round":"flat";A.background=this.use_ar_background?null:this.state.visible?this.state.render_map&&null!=this.textures.env_map&&e?this.textures.env_map:this.textures[B].gradient:this.textures[B].white,A.environment=this.state.visible?null!=this.textures.env_map?this.textures.env_map:this.textures.round.gradient:this.textures.round.white}}class SceneNode{constructor(A,t,e){this.object=A,this.folder=t,this.children={},this.controllers=[],this.on_update=e,this.create_controls();for(let A of this.object.children)this.add_child(A)}add_child(A){let t=this.folder.addFolder(A.name),e=new SceneNode(A,t,this.on_update);return this.children[A.name]=e,e}create_child(A){let t=new three__WEBPACK_IMPORTED_MODULE_1__.Group;return t.name=A,this.object.add(t),this.add_child(t)}find(A){if(0==A.length)return this;{let t=A[0],e=this.children[t];return void 0===e&&(e=this.create_child(t)),e.find(A.slice(1))}}create_controls(){for(let A of this.controllers)this.folder.remove(A);if(this.controllers=[],void 0!==this.vis_controller&&this.folder.domElement.removeChild(this.vis_controller.domElement),this.vis_controller=new dat.controllers.BooleanController(this.object,"visible"),this.vis_controller.onChange((()=>this.on_update())),this.folder.domElement.prepend(this.vis_controller.domElement),this.vis_controller.domElement.style.height="0",this.vis_controller.domElement.style.float="right",this.vis_controller.domElement.classList.add("meshcat-visibility-checkbox"),this.vis_controller.domElement.children[0].addEventListener("change",(A=>{A.target.checked?this.folder.domElement.classList.remove("meshcat-hidden-scene-element"):this.folder.domElement.classList.add("meshcat-hidden-scene-element")})),this.object.isLight){let A=this.folder.add(this.object,"intensity").min(0).step(.01).name("intensity (cd)");if(A.onChange((()=>this.on_update())),this.controllers.push(A),void 0!==this.object.castShadow){let A=this.folder.add(this.object,"castShadow");if(A.onChange((()=>this.on_update())),this.controllers.push(A),void 0!==this.object.shadow){let A=this.folder.add(this.object.shadow,"radius").min(0).step(.05).max(3);A.onChange((()=>this.on_update())),this.controllers.push(A)}}if(void 0!==this.object.distance){let A=this.folder.add(this.object,"distance").min(0).step(.1).max(100);A.onChange((()=>this.on_update())),this.controllers.push(A)}}if(this.object.isCamera){let A=this.folder.add(this.object,"zoom").min(0).step(.1);A.onChange((()=>{this.on_update()})),this.controllers.push(A)}if(this.object.isEnvironment){let A=this.folder.add(this.object,"intensity").min(0).step(.1).max(100);A.onChange((()=>this.on_update())),this.controllers.push(A)}if(this.object.isBackground){let A=this.folder.addColor(this.object,"top_color");A.onChange((()=>this.on_update())),this.controllers.push(A);let t=this.folder.addColor(this.object,"bottom_color");t.onChange((()=>this.on_update())),this.controllers.push(t);let e=this.folder.add(this.object,"render_environment_map");e.onChange((()=>this.on_update())),this.controllers.push(e)}}cache_original_opacity(A){void 0===A.meshcat_base_opacity&&(A.meshcat_base_opacity=A.opacity)}set_opacity(A,t){this.cache_original_opacity(A),A.opacity=t,A.transparent=t<1,A.depthWrite=!0,A.needsUpdate=!0}visit_materials(A,t){A.isMaterial?t(A):A.material&&t(A.material);for(let e of A.children)this.visit_materials(e,t)}set_property(A,t,e){if("position"===A)this.object.position.set(t[0],t[1],t[2]);else if("quaternion"===A)this.object.quaternion.set(t[0],t[1],t[2],t[3]);else if("scale"===A)this.object.scale.set(t[0],t[1],t[2]);else if("color"===A){var g=this;function B(A){A.color.setRGB(t[0],t[1],t[2]),g.set_opacity(A,t[3])}this.visit_materials(this.object,B)}else if("opacity"==A){function i(A){g.set_opacity(A,t)}g=this,this.visit_materials(this.object,i)}else if("modulated_opacity"==A){function I(A){g.cache_original_opacity(A),g.set_opacity(A,A.meshcat_base_opacity*t)}g=this,this.visit_materials(this.object,I)}else"top_color"==A||"bottom_color"==A?this.object[A]=new dat.color.Color(t.map((A=>255*A))):this.set_property_chain(A,t,e);this.object.isBackground&&this.on_update(),this.vis_controller.updateDisplay(),this.controllers.forEach((A=>A.updateDisplay()))}set_property_chain(A,t,e){var g=(A=(A=A.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split(".");const B=g.pop();var i=null,I=this.object,Q=this.folder.name;for(const A of g){if(A in I){if(Q+="."+A,"object"==typeof I[A]){I=I[A];continue}i=`'${Q}' is not an Object and has no properties`}else i=`'${Q}' has no property '${A}'`;break}if(null!==i||B in I||(i=`'${Q}' has no property '${B}'`),null==i)I[B]=t;else{const g="/"+e.join("/"),B=JSON.stringify(t);console.error(`Error in set_property("${g}", "${A}", ${B})\n${i}. The value will not be set.`)}}set_transform(A){let t=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;t.fromArray(A),t.decompose(this.object.position,this.object.quaternion,this.object.scale)}set_object(A){let t=this.object.parent;this.dispose_recursive(),this.object.parent.remove(this.object),this.object=A,t.add(A),this.create_controls()}dispose_recursive(){for(let A of Object.keys(this.children))this.children[A].dispose_recursive();dispose(this.object)}delete(A){if(0==A.length)console.error("Can't delete an empty path");else{let t=this.find(A.slice(0,A.length-1)),e=A[A.length-1],g=t.children[e];void 0!==g&&(g.dispose_recursive(),t.object.remove(g.object),remove_folders(g.folder),t.folder.removeFolder(g.folder),delete t.children[e])}}}function remove_folders(A){for(let t of Object.keys(A.__folders)){let e=A.__folders[t];remove_folders(e),dat.dom.dom.unbind(window,"resize",e.__resizeHandler),A.removeFolder(e)}}function dispose(A){if(A&&(A.geometry&&A.geometry.dispose(),A.material))if(Array.isArray(A.material))for(let t of A.material)t.map&&t.map.dispose(),t.dispose();else A.material.map&&A.material.map.dispose(),A.material.dispose()}function create_default_scene(){var A=new three__WEBPACK_IMPORTED_MODULE_1__.Scene;return A.name="Scene",A.rotateX(-Math.PI/2),A}function download_data_uri(A,t){let e=document.createElement("a");e.download=A,e.href=t,document.body.appendChild(e),e.click(),document.body.removeChild(e)}function download_file(A,t,e){e=e||"text/plain";let g=new Blob([t],{type:e}),B=document.createElement("a");document.body.appendChild(B),B.download=A,B.href=window.URL.createObjectURL(g),B.onclick=function(A){let t=this;setTimeout((function(){window.URL.revokeObjectURL(t.href)}),1500)},B.click(),B.remove()}class Animator{constructor(A){this.viewer=A,this.folder=this.viewer.gui.addFolder("Animations"),this.mixer=new three__WEBPACK_IMPORTED_MODULE_1__.AnimationMixer,this.loader=new three__WEBPACK_IMPORTED_MODULE_1__.ObjectLoader,this.clock=new three__WEBPACK_IMPORTED_MODULE_1__.Clock,this.actions=[],this.playing=!1,this.time=0,this.time_scrubber=null,this.setup_capturer("png"),this.duration=0}setup_capturer(A){this.capturer=new window.CCapture({format:A,name:"meshcat_"+String(Date.now())}),this.capturer.format=A}play(){this.clock.start();for(let A of this.actions)A.play();this.playing=!0}record(){this.reset(),this.play(),this.recording=!0,this.capturer.start()}pause(){this.clock.stop(),this.playing=!1,this.recording&&(this.stop_capture(),this.save_capture())}stop_capture(){this.recording=!1,this.capturer.stop(),this.viewer.animate()}save_capture(){this.capturer.save(),"png"===this.capturer.format?alert("To convert the still frames into a video, extract the `.tar` file and run: \nffmpeg -r 60 -i %07d.png \\\n\t -vcodec libx264 \\\n\t -preset slow \\\n\t -crf 18 \\\n\t output.mp4"):"jpg"===this.capturer.format&&alert("To convert the still frames into a video, extract the `.tar` file and run: \nffmpeg -r 60 -i %07d.jpg \\\n\t -vcodec libx264 \\\n\t -preset slow \\\n\t -crf 18 \\\n\t output.mp4")}display_progress(A){this.time=A,null!==this.time_scrubber&&this.time_scrubber.updateDisplay()}seek(A){this.actions.forEach((t=>{t.time=Math.max(0,Math.min(t._clip.duration,A))})),this.mixer.update(0),this.viewer.set_dirty()}reset(){for(let A of this.actions)A.reset();this.display_progress(0),this.mixer.update(0),this.setup_capturer(this.capturer.format),this.viewer.set_dirty()}clear(){remove_folders(this.folder),this.mixer.stopAllAction(),this.actions=[],this.duration=0,this.display_progress(0),this.mixer=new three__WEBPACK_IMPORTED_MODULE_1__.AnimationMixer}load(A,t){this.clear(),this.folder.open();let e=this.folder.addFolder("default");e.open(),e.add(this,"play"),e.add(this,"pause"),e.add(this,"reset"),this.time_scrubber=e.add(this,"time",0,1e9,.001),this.time_scrubber.onChange((A=>this.seek(A))),e.add(this.mixer,"timeScale").step(.01).min(0);let g=e.addFolder("Recording");g.add(this,"record"),g.add({format:"png"},"format",["png","jpg"]).onChange((A=>{this.setup_capturer(A)})),void 0===t.play&&(t.play=!0),void 0===t.loopMode&&(t.loopMode=three__WEBPACK_IMPORTED_MODULE_1__.LoopRepeat),void 0===t.repetitions&&(t.repetitions=1),void 0===t.clampWhenFinished&&(t.clampWhenFinished=!0),this.duration=0,this.progress=0;for(let e of A){let A=this.viewer.scene_tree.find(e.path).object,g=three__WEBPACK_IMPORTED_MODULE_1__.AnimationClip.parse(e.clip);g.uuid=three__WEBPACK_IMPORTED_MODULE_1__.MathUtils.generateUUID();let B=this.mixer.clipAction(g,A);B.clampWhenFinished=t.clampWhenFinished,B.setLoop(t.loopMode,t.repetitions),this.actions.push(B),this.duration=Math.max(this.duration,g.duration)}this.time_scrubber.min(0),this.time_scrubber.max(this.duration),this.reset(),t.play&&this.play()}update(){if(this.playing){if(this.mixer.update(this.clock.getDelta()),this.viewer.set_dirty(),0!=this.duration){let A=this.actions.reduce(((A,t)=>Math.max(A,t.time)),0);this.display_progress(A)}else this.display_progress(0);if(this.actions.every((A=>A.paused))){this.pause();for(let A of this.actions)A.reset()}}}after_render(){this.recording&&this.capturer.capture(this.viewer.renderer.domElement)}}function env_texture(A,t,e){if(null==A||null==t)return null;let g=new Uint8Array(512),B=0,i=256;for(let e=0;e<64;++e){for(let e=0;e<3;++e)g[B+e]=t[e],g[i+e]=A[e];g[B+3]=255,g[i+3]=255,B+=4,i+=4}let I=e?three__WEBPACK_IMPORTED_MODULE_1__.EquirectangularReflectionMapping:three__WEBPACK_IMPORTED_MODULE_1__.UVMapping,Q=new three__WEBPACK_IMPORTED_MODULE_1__.DataTexture(g,64,2,three__WEBPACK_IMPORTED_MODULE_1__.RGBAFormat,three__WEBPACK_IMPORTED_MODULE_1__.UnsignedByteType,I,three__WEBPACK_IMPORTED_MODULE_1__.RepeatWrapping,three__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping,three__WEBPACK_IMPORTED_MODULE_1__.LinearFilter,three__WEBPACK_IMPORTED_MODULE_1__.LinearFilter,1,three__WEBPACK_IMPORTED_MODULE_1__.SRGBColorSpace);return e||(Q.matrixAutoUpdate=!1,Q.matrix.set(.5,0,.25,0,.5,.25,0,0,1),Q.needsUpdate=!0),Q.needsUpdate=!0,Q}function load_env_texture(A,t,e,g,B){let i=(new three__WEBPACK_IMPORTED_MODULE_1__.TextureLoader).load(A,void 0,void 0,(()=>{console.error("Failure to load the requested environment map; reverting to none.",t.environment_map),t.environment_map=null,t.update(e,g,B)}));return null!=i&&(i.colorSpace=three__WEBPACK_IMPORTED_MODULE_1__.SRGBColorSpace,i.mapping=three__WEBPACK_IMPORTED_MODULE_1__.EquirectangularReflectionMapping),i}function wait_for_property(A,t,e){return new Promise((g=>{const B=new MutationObserver((()=>{var i=A[t];null!=i&&e(i)&&(B.disconnect(),g())}));B.observe(A,{childList:!0});var i=A[t];if(null!=i&&e(i))return B.disconnect(),g()}))}class Viewer{constructor(A,t,e){this.dom_element=A,void 0===e?(this.renderer=new three__WEBPACK_IMPORTED_MODULE_1__.WebGLRenderer({antialias:!0,alpha:!0}),this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=three__WEBPACK_IMPORTED_MODULE_1__.PCFSoftShadowMap,this.dom_element.appendChild(this.renderer.domElement)):this.renderer=e,this.renderer.setPixelRatio(window.devicePixelRatio),this.webxr_session_active=!1,this.xr_button=null,this.scene=create_default_scene(),this.gui_controllers={},this.keydown_callbacks={},this.render_callback=()=>{},this.create_scene_tree(),this.add_default_scene_elements(),this.set_dirty(),this.create_camera(),this.num_messages_received=0,this.draco_loader=new three_examples_jsm_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_6__.Z(meshcat_loading_manager),this.ktx2_loader=new three_examples_jsm_loaders_KTX2Loader_js__WEBPACK_IMPORTED_MODULE_7__.p(meshcat_loading_manager),this.ktx2_loader.detectSupport(this.renderer),window.onload=A=>this.set_3d_pane_size(),window.addEventListener("resize",(A=>this.set_3d_pane_size()),!1),window.addEventListener("keydown",(A=>{this.on_keydown(A)})),requestAnimationFrame((()=>this.set_3d_pane_size())),(t||void 0===t)&&this.animate()}on_keydown(A){if(A.code in this.keydown_callbacks)for(const t of this.keydown_callbacks[A.code])t.callback(A)}update_background(){let A=this.scene_tree.find(["Background"]),t=this.scene_tree.find(["Background",""]),e=A.object.visible&&t.object.visible;t.object.update(this.scene,e,this.is_perspective()),this.set_dirty()}is_perspective(){return this.camera&&this.camera.isPerspectiveCamera}hide_background(){this.set_property(["Background"],"visible",!1)}show_background(){this.set_property(["Background"],"visible",!0),this.set_property(["Background",""],"visible",!0)}set_dirty(){this.needs_render=!0}create_camera(){let A=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;A.makeRotationX(Math.PI/2),this.set_transform(["Cameras","default","rotated"],A.toArray());let t=new three__WEBPACK_IMPORTED_MODULE_1__.PerspectiveCamera(75,1,.01,100);this.set_camera(t),this.set_object(["Cameras","default","rotated"],t),t.position.set(3,1,0)}upgrade_intensity(A){return A*Math.PI}create_default_spot_light(){var A=new three__WEBPACK_IMPORTED_MODULE_1__.SpotLight(16777215,this.upgrade_intensity(.8));return A.position.set(1.5,1.5,2),A.castShadow=!1,A.shadow.mapSize.width=1024,A.shadow.mapSize.height=1024,A.shadow.camera.near=.5,A.shadow.camera.far=50,A.shadow.bias=-.001,A}add_default_scene_elements(){var A=this.create_default_spot_light();this.set_object(["Lights","SpotLight"],A),this.set_property(["Lights","SpotLight"],"visible",!1);var t=new three__WEBPACK_IMPORTED_MODULE_1__.PointLight(16777215,this.upgrade_intensity(.4));t.position.set(1.5,1.5,2),t.castShadow=!1,t.distance=10,t.shadow.mapSize.width=1024,t.shadow.mapSize.height=1024,t.shadow.camera.near=.5,t.shadow.camera.far=10,t.shadow.bias=-.001,this.set_object(["Lights","PointLightNegativeX"],t);var e=new three__WEBPACK_IMPORTED_MODULE_1__.PointLight(16777215,this.upgrade_intensity(.4));e.position.set(-1.5,-1.5,2),e.castShadow=!1,e.distance=10,e.shadow.mapSize.width=1024,e.shadow.mapSize.height=1024,e.shadow.camera.near=.5,e.shadow.camera.far=10,e.shadow.bias=-.001,this.set_object(["Lights","PointLightPositiveX"],e);var g=new three__WEBPACK_IMPORTED_MODULE_1__.AmbientLight(16777215,this.upgrade_intensity(.3));g.intensity=.6,this.set_object(["Lights","AmbientLight"],g);var B=new three__WEBPACK_IMPORTED_MODULE_1__.DirectionalLight(16777215,this.upgrade_intensity(.4));B.position.set(-10,-10,0),this.set_object(["Lights","FillLight"],B);var i=new three__WEBPACK_IMPORTED_MODULE_1__.GridHelper(20,40);i.rotateX(Math.PI/2),this.set_object(["Grid"],i);var I=new three__WEBPACK_IMPORTED_MODULE_1__.AxesHelper(.5);this.set_object(["Axes"],I)}create_scene_tree(){this.gui&&this.gui.destroy(),this.gui=new dat.GUI({autoPlace:!1,resizable:!0}),this.dom_element.parentElement.appendChild(this.gui.domElement),this.gui.domElement.style.position="absolute",this.gui.domElement.style.right=0,this.gui.domElement.style.top=0;let A=this.gui.addFolder("Scene");A.open(),this.scene_tree=new SceneNode(this.scene,A,(()=>this.set_dirty()));let t=this.gui.addFolder("Save / Load / Capture");t.add(this,"save_scene"),t.add(this,"load_scene"),t.add(this,"save_image"),this.animator=new Animator(this),this.gui.close(),this.set_object(["Background"],new Background);let e=this.scene_tree.find(["Background"]);e.object.isBackground=!0,e.on_update=()=>{this.update_background()},this.scene_tree.find(["Background",""]).on_update=()=>{this.update_background()},this.update_background()}set_3d_pane_size(A,t){void 0===A&&(A=this.dom_element.offsetWidth),void 0===t&&(t=this.dom_element.offsetHeight),"OrthographicCamera"==this.camera.type?this.camera.right=this.camera.left+A*(this.camera.top-this.camera.bottom)/t:this.camera.aspect=A/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(A,t),this.set_dirty()}render(){this.controls.update(),this.camera.updateProjectionMatrix(),this.render_callback(),this.renderer.render(this.scene,this.camera),this.animator.after_render(),this.needs_render=!1}animate(){requestAnimationFrame((()=>this.animate())),this.animator.update(),this.needs_render&&this.render()}capture_image(A,t){let e=this.dom_element.offsetWidth,g=this.dom_element.offsetHeight;this.set_3d_pane_size(A,t),this.render();let B=this.renderer.domElement.toDataURL();return this.set_3d_pane_size(e,g),B}save_image(){download_data_uri("meshcat.png",this.capture_image())}set_camera(A){this.webxr_session_active?console.warn("Can't set camera during an active WebXR session."):(this.camera=A,this.controls=new three_examples_jsm_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_8__.N(A,this.dom_element),this.controls.enableKeys=!1,this.controls.addEventListener("start",(()=>{this.set_dirty()})),this.controls.addEventListener("change",(()=>{this.set_dirty()})),this.update_webxr_buttons(),this.update_background())}set_render_callback(callback){var my_callback=eval(callback);this.render_callback=null==my_callback?()=>{}:my_callback}set_camera_target(A){this.controls.target.set(A[0],A[1],A[2])}set_camera_from_json(A){(new ExtensibleObjectLoader).parse(A,(A=>{this.set_camera(A)}))}set_transform(A,t){this.scene_tree.find(A).set_transform(t)}set_object(A,t){this.scene_tree.find(A.concat([""])).set_object(t)}set_object_from_json(A,t){let e=A=>{"Mesh"===A.type&&(A.castShadow=!0,A.receiveShadow=!0);for(let t=0;t{e(t),this.set_object(A,t),this.set_dirty()};if("_meshfile_object"==t.object.type&&"gltf"==t.object.format){let A=new three_examples_jsm_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_9__.B;A.setDRACOLoader(this.draco_loader),A.setKTX2Loader(this.ktx2_loader),A.parse(t.object.data,null,(A=>{let e=A.scene;if(null===e)console.error("Gltf parsed with no scene!");else{let A=t.object;if(void 0!==A.matrix){e.matrix.fromArray(A.matrix);let t=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;t=t.makeRotationX(Math.PI/2),e.matrix.multiply(t),void 0!==A.matrixAutoUpdate&&(e.matrixAutoUpdate=A.matrixAutoUpdate),e.matrixAutoUpdate&&e.matrix.decompose(e.position,e.quaternion,e.scale)}g(e)}}))}else{let A=new ExtensibleObjectLoader;A.onTextureLoad=()=>{this.set_dirty()},A.parse(t,(A=>{void 0!==A.geometry&&"BufferGeometry"==A.geometry.type?void 0!==A.geometry.attributes.normal&&0!==A.geometry.attributes.normal.count||A.geometry.computeVertexNormals():A.type.includes("Camera")&&(this.set_camera(A),this.set_3d_pane_size()),g(A)}))}}delete_path(A){0==A.length?console.error("Deleting the entire scene is not implemented"):this.scene_tree.delete(A)}set_property(A,t,e){1===A.length&&"Background"===A[0]&&"visible"!==t&&(console.warn("To set the Background property "+t+', use the path "/Background/" instead of just "/Background".'),A=[A[0],""]),this.scene_tree.find(A).set_property(t,e,A)}set_animation(A,t){t=t||{},this.animator.load(A,t)}set_control(name,callback,value,min,max,step,keycode1,keycode2){let my_callback=eval(callback),handler={};if(name in this.gui_controllers&&this.gui.remove(this.gui_controllers[name]),void 0!==value){function A(A,t,e){if(null!=t){let g={name,callback:()=>{value=A.gui_controllers[name].getValue();let t=Math.min(Math.max(value+e,min),max);A.gui_controllers[name].setValue(t)}};t in A.keydown_callbacks?A.keydown_callbacks[t].push(g):A.keydown_callbacks[t]=[g]}}handler[name]=value,this.gui_controllers[name]=this.gui.add(handler,name,min,max,step),this.gui_controllers[name].onChange(my_callback),A(this,keycode1,-step),A(this,keycode2,+step)}else if(handler[name]=my_callback,this.gui_controllers[name]=this.gui.add(handler,name),this.gui_controllers[name].domElement.parentElement.querySelector(".property-name").style.width="100%",null!=keycode1){let t={name,callback:my_callback};keycode1 in this.keydown_callbacks?this.keydown_callbacks[keycode1].push(t):this.keydown_callbacks[keycode1]=[t]}}set_control_value(A,t,e=!0){A in this.gui_controllers&&this.gui_controllers[A]instanceof dat.controllers.NumberController&&(e?this.gui_controllers[A].setValue(t):(this.gui_controllers[A].object[A]=t,this.gui_controllers[A].updateDisplay()))}delete_control(A){A in this.gui_controllers&&(this.gui.remove(this.gui_controllers[A]),delete this.gui_controllers[A]);for(let t in this.keydown_callbacks){let e=this.keydown_callbacks[t].length;for(;e--;)this.keydown_callbacks[t][e].name==A&&this.keydown_callbacks[t].splice(e,1)}}handle_command(A){if("set_transform"==A.type){let t=split_path(A.path);this.set_transform(t,A.matrix)}else if("delete"==A.type){let t=split_path(A.path);this.delete_path(t)}else if("set_object"==A.type){let t=split_path(A.path);this.set_object_from_json(t,A.object)}else if("set_property"==A.type){let t=split_path(A.path);this.set_property(t,A.property,A.value)}else if("set_animation"==A.type)A.animations.forEach((A=>{A.path=split_path(A.path)})),this.set_animation(A.animations,A.options);else if("set_target"==A.type)this.set_camera_target(A.value);else if("set_control"==A.type)this.set_control(A.name,A.callback,A.value,A.min,A.max,A.step,A.keycode1,A.keycode2);else if("set_control_value"==A.type)this.set_control_value(A.name,A.value,A.invoke_callback);else if("delete_control"==A.type)this.delete_control(A.name);else if("capture_image"==A.type){let t=A.xres||1920,e=A.yres||1080;t/=this.renderer.getPixelRatio(),e/=this.renderer.getPixelRatio();let g=this.capture_image(t,e);this.connection.send(JSON.stringify({type:"img",data:g}))}else"save_image"==A.type?this.save_image():"enable_webxr"==A.type?this.enable_webxr(A.mode):"visualize_vr_controller"==A.type?this.visualize_vr_controllers():"set_render_callback"==A.type&&this.set_render_callback(A.callback);this.set_dirty()}decode(A){return msgpack.decode(new Uint8Array(A.data),{extensionCodec})}handle_command_bytearray(A){let t=msgpack.decode(A,{extensionCodec});this.handle_command(t)}handle_command_message(A){this.num_messages_received++;let t=this.decode(A);this.handle_command(t)}connect(A){void 0===A&&(A=`ws://${location.host}`),"https:"==location.protocol&&(A=A.replace("ws:","wss:")),this.connection=new WebSocket(A),this.connection.binaryType="arraybuffer",this.connection.onmessage=A=>this.handle_command_message(A),this.connection.onclose=function(A){console.log("onclose:",A)}}save_scene(){download_file("scene.json",JSON.stringify(this.scene.toJSON()))}load_scene_from_json(A){let t=new ExtensibleObjectLoader;t.onTextureLoad=()=>{this.set_dirty()},this.scene_tree.dispose_recursive(),this.scene=t.parse(A),this.show_background(),this.create_scene_tree();let e=this.scene_tree.find(["Cameras","default","rotated",""]);e.object.isCamera?this.set_camera(e.object):this.create_camera()}handle_load_file(A){let t=A.files[0];if(!t)return;let e=new FileReader,g=this;e.onload=function(A){let t=this.result,e=JSON.parse(t);g.load_scene_from_json(e)},e.readAsText(t)}load_scene(){let A=document.createElement("input");A.type="file",document.body.appendChild(A);let t=this;A.addEventListener("change",(function(){console.log(this,t),t.handle_load_file(this)}),!1),A.click(),A.remove()}update_webxr_buttons(){const A=document.getElementById("XRButton"),t=document.getElementById("VRButton"),e=A||t;null!=e&&null!=e.textContent&&0!=e.textContent.length&&(null==e.original_content&&(e.original_content=e.textContent,e.original_disabled=e.disabled),this.is_perspective()?null!=e.original_content&&(e.textContent=e.original_content,e.disabled=e.original_disabled,e.original_content=null,e.original_disabled=null):(e.disabled=!0,e.textContent="AR/VR Disabled for Orthographic Cameras"))}visualize_vr_controllers(){const A=new three_examples_jsm_webxr_XRControllerModelFactory__WEBPACK_IMPORTED_MODULE_10__.S,t=(new three__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry).setFromPoints([new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,0),new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,-1)]),e=new three__WEBPACK_IMPORTED_MODULE_1__.Line(t);e.scale.z=5;const g=[];for(let t=0;t<2;t++){const B=this.renderer.xr.getController(t);B.add(e.clone());const i=new three__WEBPACK_IMPORTED_MODULE_1__.Group;i.rotation.x=Math.PI/2,i.add(B),this.scene.add(i),g.push(i);const I=this.renderer.xr.getControllerGrip(t),Q=new three__WEBPACK_IMPORTED_MODULE_1__.Group;Q.rotation.x=Math.PI/2,Q.add(I),this.scene.add(Q);const o=A.createControllerModel(I);I.add(o)}return g}enable_webxr(A="ar"){if(this.renderer.xr.enabled)console.warn("WebXR/VR has already been enabled.");else{if("vr"==A)this.xr_button=three_examples_jsm_webxr_VRButton_js__WEBPACK_IMPORTED_MODULE_11__.Z.createButton(this.renderer);else{if("ar"!=A)return void console.error(`enable_webxr takes either "ar" or "vr" as arguments. Given "${A}".`);this.xr_button=three_examples_jsm_webxr_XRButton_js__WEBPACK_IMPORTED_MODULE_12__.j.createButton(this.renderer)}this.renderer.xr.enabled=!0,document.body.appendChild(this.xr_button),wait_for_property(this.xr_button,"textContent",(A=>A.length>0)).then((()=>{this.update_webxr_buttons()}));var t=null;this.renderer.xr.addEventListener("sessionstart",(()=>{t=this.camera.updateProjectionMatrix,"ar"==A&&this.set_property(["Background"],"use_ar_background",!0),this.webxr_session_active=!0,console.info("Immersive session starting, controls are being removed."),this.renderer.xr.getSession().requestReferenceSpace("local").then((A=>{let t=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3;t.setFromMatrixColumn(this.camera.matrixWorld,2),Math.abs(t.y)>.5&&console.warn("The view camera was pointed up or down a significant amount when entering XR mode. Tilt the headset the same amount to see the camera's original target.");let e=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(t.x,0,t.z);e.normalize();let g=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,1),B=new three__WEBPACK_IMPORTED_MODULE_1__.Quaternion;B.setFromUnitVectors(e,g);const i=this.camera.position.clone().negate();i.applyQuaternion(B);let I=new XRRigidTransform(i,B);this.renderer.xr.setReferenceSpace(A.getOffsetReferenceSpace(I))})),this.camera.updateProjectionMatrix=()=>{console.warn("Updating the camera projection matrix is disallowed in immersive mode.")},this.renderer.setAnimationLoop((()=>{this.renderer.render(this.scene,this.camera)}))})),this.renderer.xr.addEventListener("sessionend",(()=>{this.webxr_session_active=!1,"ar"==A&&this.set_property(["Background"],"use_ar_background",!1),this.renderer.setAnimationLoop(null),this.camera.updateProjectionMatrix=t}))}}}function split_path(A){return A.split("/").filter((A=>A.length>0))}let style=document.createElement("style");style.appendChild(document.createTextNode("")),document.head.appendChild(style),style.sheet.insertRule("\n .meshcat-visibility-checkbox > input {\n float: right;\n }"),style.sheet.insertRule("\n .meshcat-hidden-scene-element li .meshcat-visibility-checkbox {\n opacity: 0.25;\n pointer-events: none;\n }"),style.sheet.insertRule("\n .meshcat-visibility-checkbox > input[type=checkbox] {\n height: 16px;\n width: 16px;\n display:inline-block;\n padding: 0 0 0 0px;\n }")})(),__webpack_exports__})())); \ No newline at end of file +!function(A,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MeshCat=t():A.MeshCat=t()}(self,(()=>(()=>{var __webpack_modules__={583:(A,t,e)=>{var i;A=e.nmd(A),function(){if(void 0!==A.exports)var n=e(617),g=e(549),o=e(468);var s={function:!0,object:!0};function a(A){return A&&A.Object===Object?A:null}parseFloat,parseInt;var r=s[typeof t]&&t&&!t.nodeType?t:void 0,B=s.object&&A&&!A.nodeType?A:void 0,I=(B&&B.exports,a(r&&B&&"object"==typeof e.g&&e.g)),Q=a(s[typeof self]&&self),E=a(s[typeof window]&&window),C=a(s[typeof this]&&this);function c(A){return String("0000000"+A).slice(-7)}I||E!==(C&&C.window)&&E||Q||C||Function("return this")(),"gc"in window||(window.gc=function(){}),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(A,t,e){for(var i=atob(this.toDataURL(t,e).split(",")[1]),n=i.length,g=new Uint8Array(n),o=0;o=r.frameLimit||r.timeLimit&&A>=r.timeLimit)&&(J(),W());var t=new Date(null);t.setSeconds(A),r.motionBlurFrames>2?d.textContent="CCapture "+r.format+" | "+Q+" frames ("+E+" inter) | "+t.toISOString().substr(11,8):d.textContent="CCapture "+r.format+" | "+Q+" frames | "+t.toISOString().substr(11,8)}(),K("Frame: "+Q+" "+E);for(var g=0;g=B[g].triggerTime&&(_(B[g].callback),B.splice(g,1));for(g=0;g=I[g].triggerTime&&(_(I[g].callback),I[g].triggerTime+=I[g].time);C.forEach((function(A){_(A,e-l)})),C=[]}function W(A){A||(A=function(A){return g(A,a.filename+a.extension,a.mimeType),!1}),a.save(A)}function K(A){t&&console.log(A)}return{start:function(){!function(){function A(){return this._hooked||(this._hooked=!0,this._hookedTime=this.currentTime||0,this.pause(),T.push(this)),this._hookedTime+r.startTime}K("Capturer start"),i=window.Date.now(),e=i+r.startTime,o=window.performance.now(),n=o+r.startTime,window.Date.prototype.getTime=function(){return e},window.Date.now=function(){return e},window.setTimeout=function(A,t){var i={callback:A,time:t,triggerTime:e+t};return B.push(i),K("Timeout set to "+i.time),i},window.clearTimeout=function(A){for(var t=0;t2?(function(A){F.width===A.width&&F.height===A.height||(F.width=A.width,F.height=A.height,y=new Uint16Array(F.height*F.width*4),M.fillStyle="#0",M.fillRect(0,0,F.width,F.height))}(A),function(A){M.drawImage(A,0,0),R=M.getImageData(0,0,F.width,F.height);for(var t=0;t=.5*r.motionBlurFrames?function(){for(var A=R.data,t=0;t0&&this.frames.length/this.settings.framerate>=this.settings.autoSaveTime?this.save(function(A){this.filename=this.baseFilename+"-part-"+c(this.part),g(A,this.filename+this.extension,this.mimeType),this.dispose(),this.part++,this.filename=this.baseFilename+"-part-"+c(this.part),this.step()}.bind(this)):this.step()},f.prototype.save=function(A){this.videoWriter.complete().then(A)},f.prototype.dispose=function(A){this.frames=[]},m.prototype=Object.create(h.prototype),m.prototype.start=function(){this.encoder.start(this.settings)},m.prototype.add=function(A){this.encoder.add(A)},m.prototype.save=function(A){this.callback=A,this.encoder.end()},m.prototype.safeToProceed=function(){return this.encoder.safeToProceed()},w.prototype=Object.create(h.prototype),w.prototype.add=function(A){this.stream||(this.stream=A.captureStream(this.framerate),this.mediaRecorder=new MediaRecorder(this.stream),this.mediaRecorder.start(),this.mediaRecorder.ondataavailable=function(A){this.chunks.push(A.data)}.bind(this)),this.step()},w.prototype.save=function(A){this.mediaRecorder.onstop=function(t){var e=new Blob(this.chunks,{type:"video/webm"});this.chunks=[],A(e)}.bind(this),this.mediaRecorder.stop()},D.prototype=Object.create(h.prototype),D.prototype.add=function(A){this.sizeSet||(this.encoder.setOption("width",A.width),this.encoder.setOption("height",A.height),this.sizeSet=!0),this.canvas.width=A.width,this.canvas.height=A.height,this.ctx.drawImage(A,0,0),this.encoder.addFrame(this.ctx,{copy:!0,delay:this.settings.step}),this.step()},D.prototype.save=function(A){this.callback=A,this.encoder.render()},(E||Q||{}).CCapture=y,void 0===(i=function(){return y}.call(t,e,t,A))||(A.exports=i)}()},549:A=>{void 0!==A.exports&&(A.exports=function(A,t,e){var i,n,g,o=window,s="application/octet-stream",a=e||s,r=A,B=document,I=B.createElement("a"),Q=function(A){return String(A)},E=o.Blob||o.MozBlob||o.WebKitBlob||Q,C=o.MSBlobBuilder||o.WebKitBlobBuilder||o.BlobBuilder,c=t||"download";if("true"===String(this)&&(a=(r=[r,a])[0],r=r[1]),String(r).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(function(A){for(var t=A.split(/[:;,]/),e=t[1],i=("base64"==t[2]?atob:decodeURIComponent)(t.pop()),n=i.length,g=0,o=new Uint8Array(n);g{A.exports=function A(t,e,i){function n(o,s){if(!e[o]){if(!t[o]){if(g)return g(o,!0);var a=new Error("Cannot find module '"+o+"'");throw a.code="MODULE_NOT_FOUND",a}var r=e[o]={exports:{}};t[o][0].call(r.exports,(function(A){return n(t[o][1][A]||A)}),r,r.exports,A,t,e,i)}return e[o].exports}for(var g=void 0,o=0;o0&&this._events[A].length>e&&(this._events[A].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[A].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(A,t){if(!n(t))throw TypeError("listener must be a function");var e=!1;function i(){this.removeListener(A,i),e||(e=!0,t.apply(this,arguments))}return i.listener=t,this.on(A,i),this},i.prototype.removeListener=function(A,t){var e,i,o,s;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[A])return this;if(o=(e=this._events[A]).length,i=-1,e===t||n(e.listener)&&e.listener===t)delete this._events[A],this._events.removeListener&&this.emit("removeListener",A,t);else if(g(e)){for(s=o;s-- >0;)if(e[s]===t||e[s].listener&&e[s].listener===t){i=s;break}if(i<0)return this;1===e.length?(e.length=0,delete this._events[A]):e.splice(i,1),this._events.removeListener&&this.emit("removeListener",A,t)}return this},i.prototype.removeAllListeners=function(A){var t,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[A]&&delete this._events[A],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n(e=this._events[A]))this.removeListener(A,e);else if(e)for(;e.length;)this.removeListener(A,e[e.length-1]);return delete this._events[A],this},i.prototype.listeners=function(A){return this._events&&this._events[A]?n(this._events[A])?[this._events[A]]:this._events[A].slice():[]},i.prototype.listenerCount=function(A){if(this._events){var t=this._events[A];if(n(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(A,t){return A.listenerCount(t)}},{}],2:[function(A,t,e){var i=A("./TypedNeuQuant.js"),n=A("./LZWEncoder.js");function g(){this.page=-1,this.pages=[],this.newPage()}g.pageSize=4096,g.charMap={};for(var o=0;o<256;o++)g.charMap[o]=String.fromCharCode(o);function s(A,t){this.width=~~A,this.height=~~t,this.transparent=null,this.transIndex=0,this.repeat=-1,this.delay=0,this.image=null,this.pixels=null,this.indexedPixels=null,this.colorDepth=null,this.colorTab=null,this.neuQuant=null,this.usedEntry=new Array,this.palSize=7,this.dispose=-1,this.firstFrame=!0,this.sample=10,this.dither=!1,this.globalPalette=!1,this.out=new g}g.prototype.newPage=function(){this.pages[++this.page]=new Uint8Array(g.pageSize),this.cursor=0},g.prototype.getData=function(){for(var A="",t=0;t=g.pageSize&&this.newPage(),this.pages[this.page][this.cursor++]=A},g.prototype.writeUTFBytes=function(A){for(var t=A.length,e=0;e=0&&(this.dispose=A)},s.prototype.setRepeat=function(A){this.repeat=A},s.prototype.setTransparent=function(A){this.transparent=A},s.prototype.addFrame=function(A){this.image=A,this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null,this.getImagePixels(),this.analyzePixels(),!0===this.globalPalette&&(this.globalPalette=this.colorTab),this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.globalPalette||this.writePalette(),this.writePixels(),this.firstFrame=!1},s.prototype.finish=function(){this.out.writeByte(59)},s.prototype.setQuality=function(A){A<1&&(A=1),this.sample=A},s.prototype.setDither=function(A){!0===A&&(A="FloydSteinberg"),this.dither=A},s.prototype.setGlobalPalette=function(A){this.globalPalette=A},s.prototype.getGlobalPalette=function(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette},s.prototype.writeHeader=function(){this.out.writeUTFBytes("GIF89a")},s.prototype.analyzePixels=function(){this.colorTab||(this.neuQuant=new i(this.pixels,this.sample),this.neuQuant.buildColormap(),this.colorTab=this.neuQuant.getColormap()),this.dither?this.ditherPixels(this.dither.replace("-serpentine",""),null!==this.dither.match(/-serpentine/)):this.indexPixels(),this.pixels=null,this.colorDepth=8,this.palSize=7,null!==this.transparent&&(this.transIndex=this.findClosest(this.transparent,!0))},s.prototype.indexPixels=function(A){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);for(var e=0,i=0;i=0&&f+B=0&&m+r>16,(65280&A)>>8,255&A,t)},s.prototype.findClosestRGB=function(A,t,e,i){if(null===this.colorTab)return-1;if(this.neuQuant&&!i)return this.neuQuant.lookupRGB(A,t,e);for(var n=0,g=16777216,o=this.colorTab.length,s=0,a=0;s=0&&(t=7&this.dispose),t<<=2,this.out.writeByte(t|A),this.writeShort(this.delay),this.out.writeByte(this.transIndex),this.out.writeByte(0)},s.prototype.writeImageDesc=function(){this.out.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame||this.globalPalette?this.out.writeByte(0):this.out.writeByte(128|this.palSize)},s.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.out.writeByte(240|this.palSize),this.out.writeByte(0),this.out.writeByte(0)},s.prototype.writeNetscapeExt=function(){this.out.writeByte(33),this.out.writeByte(255),this.out.writeByte(11),this.out.writeUTFBytes("NETSCAPE2.0"),this.out.writeByte(3),this.out.writeByte(1),this.writeShort(this.repeat),this.out.writeByte(0)},s.prototype.writePalette=function(){this.out.writeBytes(this.colorTab);for(var A=768-this.colorTab.length,t=0;t>8&255)},s.prototype.writePixels=function(){new n(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this.out)},s.prototype.stream=function(){return this.out},t.exports=s},{"./LZWEncoder.js":3,"./TypedNeuQuant.js":4}],3:[function(A,t,e){var i=5003,n=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];t.exports=function(A,t,e,g){var o,s,a,r,B,I,Q=Math.max(2,g),E=new Uint8Array(256),C=new Int32Array(i),c=new Int32Array(i),l=0,h=0,d=!1;function u(A,t){E[s++]=A,s>=254&&m(t)}function p(A){f(i),h=B+2,d=!0,y(B,A)}function f(A){for(var t=0;t0&&(A.writeByte(s),A.writeBytes(E,0,s),s=0)}function w(A){return(1<0?o|=A<=8;)u(255&o,t),o>>=8,l-=8;if((h>a||d)&&(d?(a=w(n_bits=r),d=!1):(++n_bits,a=12==n_bits?4096:w(n_bits))),A==I){for(;l>0;)u(255&o,t),o>>=8,l-=8;m(t)}}this.encode=function(e){e.writeByte(Q),remaining=A*t,curPixel=0,function(A,t){var e,n,g,o,Q,E,l;for(r=A,d=!1,n_bits=r,a=w(n_bits),I=1+(B=1<=0){Q=E-g,0===g&&(Q=1);do{if((g-=Q)<0&&(g+=E),C[g]===e){o=c[g];continue A}}while(C[g]>=0)}y(o,t),o=n,h<4096?(c[g]=h++,C[g]=e):p(t)}else o=c[g];y(o,t),y(I,t)}(Q+1,e),e.writeByte(0)}}},{}],4:[function(A,t,e){var i=256,n=1024,g=1<<18;t.exports=function(A,t){var e,o,s,a,r;function B(A,t,i,g,o){e[t][0]-=A*(e[t][0]-i)/n,e[t][1]-=A*(e[t][1]-g)/n,e[t][2]-=A*(e[t][2]-o)/n}function I(A,t,n,o,s){for(var a,B,I=Math.abs(t-A),Q=Math.min(t+A,i),E=t+1,C=t-1,c=1;EI;)B=r[c++],EI&&((a=e[C--])[0]-=B*(a[0]-n)/g,a[1]-=B*(a[1]-o)/g,a[2]-=B*(a[2]-s)/g)}function Q(A,t,n){var g,o,r,B,I,Q=~(1<<31),E=Q,C=-1,c=C;for(g=0;g>12))>10,a[g]-=I,s[g]+=I<<10;return a[C]+=64,s[C]-=65536,c}this.buildColormap=function(){(function(){var A,t;for(e=[],o=new Int32Array(256),s=new Int32Array(i),a=new Int32Array(i),r=new Int32Array(32),A=0;A>6;for(u<=1&&(u=0),e=0;e=E&&(p-=E),0===l&&(l=1),++e%l==0)for(h-=h/C,(u=(d-=d/30)>>6)<=1&&(u=0),a=0;a>=4,e[A][1]>>=4,e[A][2]>>=4,e[A][3]=A}(),function(){var A,t,n,g,s,a,r=0,B=0;for(A=0;A>1,t=r+1;t>1,t=r+1;t<256;t++)o[t]=255}()},this.getColormap=function(){for(var A=[],t=[],n=0;n=0;)I=r?I=i:(I++,a<0&&(a=-a),(g=s[0]-A)<0&&(g=-g),(a+=g)=0&&((a=t-(s=e[Q])[1])>=r?Q=-1:(Q--,a<0&&(a=-a),(g=s[0]-A)<0&&(g=-g),(a+=g)t;0<=t?++A:--A)e.push(null);return e}.call(this),t=this.spawnWorkers(),!0===this.options.globalPalette)this.renderNextFrame();else for(A=0,e=t;0<=e?Ae;0<=e?++A:--A)this.renderNextFrame();return this.emit("start"),this.emit("progress",0)},i.prototype.abort=function(){for(var A;null!=(A=this.activeWorkers.shift());)this.log("killing active worker"),A.terminate();return this.running=!1,this.emit("abort")},i.prototype.spawnWorkers=function(){var A,t,e,i;return A=Math.min(this.options.workers,this.frames.length),function(){e=[];for(var i=t=this.freeWorkers.length;t<=A?iA;t<=A?i++:i--)e.push(i);return e}.apply(this).forEach((i=this,function(A){var t;return i.log("spawning worker "+A),(t=new Worker(i.options.workerScript)).onmessage=function(A){return i.activeWorkers.splice(i.activeWorkers.indexOf(t),1),i.freeWorkers.push(t),i.frameFinished(A.data)},i.freeWorkers.push(t)})),A},i.prototype.frameFinished=function(A){var t,e;if(this.log("frame "+A.index+" finished - "+this.activeWorkers.length+" active"),this.finishedFrames++,this.emit("progress",this.finishedFrames/this.frames.length),this.imageParts[A.index]=A,!0===this.options.globalPalette&&(this.options.globalPalette=A.globalPalette,this.log("global palette analyzed"),this.frames.length>2))for(t=1,e=this.freeWorkers.length;1<=e?te;1<=e?++t:--t)this.renderNextFrame();return o.call(this.imageParts,null)>=0?this.renderNextFrame():this.finishRendering()},i.prototype.finishRendering=function(){var A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c;for(s=0,n=0,a=(E=this.imageParts).length;n=this.frames.length))return A=this.frames[this.nextFrame++],e=this.freeWorkers.shift(),t=this.getTask(A),this.log("starting frame "+(t.index+1)+" of "+this.frames.length),this.activeWorkers.push(e),e.postMessage(t)},i.prototype.getContextData=function(A){return A.getImageData(0,0,this.options.width,this.options.height).data},i.prototype.getImageData=function(A){var t;return null==this._canvas&&(this._canvas=document.createElement("canvas"),this._canvas.width=this.options.width,this._canvas.height=this.options.height),(t=this._canvas.getContext("2d")).setFill=this.options.background,t.fillRect(0,0,this.options.width,this.options.height),t.drawImage(A,0,0),this.getContextData(t)},i.prototype.getTask=function(A){var t,e;if(e={index:t=this.frames.indexOf(A),last:t===this.frames.length-1,delay:A.delay,dispose:A.dispose,transparent:A.transparent,width:this.options.width,height:this.options.height,quality:this.options.quality,dither:this.options.dither,globalPalette:this.options.globalPalette,repeat:this.options.repeat,canTransfer:"chrome"===n.name},null!=A.data)e.data=A.data;else if(null!=A.context)e.data=this.getContextData(A.context);else{if(null==A.image)throw new Error("Invalid frame");e.data=this.getImageData(A.image)}return e},i.prototype.log=function(){var A;if(A=1<=arguments.length?s.call(arguments,0):[],this.options.debug)return console.log.apply(console,A)},i}(i)},{"./GIFEncoder.js":2,"./browser.coffee":5,"./gif.worker.coffee":7,events:1}],7:[function(A,t,e){var i,n;i=A("./GIFEncoder.js"),n=function(A){var t,e,n,g;return t=new i(A.width,A.height),0===A.index?t.writeHeader():t.firstFrame=!1,t.setTransparent(A.transparent),t.setDispose(A.dispose),t.setRepeat(A.repeat),t.setDelay(A.delay),t.setQuality(A.quality),t.setDither(A.dither),t.setGlobalPalette(A.globalPalette),t.addFrame(A.data),A.last&&t.finish(),!0===A.globalPalette&&(A.globalPalette=t.getGlobalPalette()),n=t.stream(),A.data=n.pages,A.cursor=n.cursor,A.pageSize=n.constructor.pageSize,A.canTransfer?(g=function(){var t,i,n,g;for(g=[],t=0,i=(n=A.data).length;t{!function(){"use strict";var A=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"];function t(A){var t,e=new Uint8Array(A);for(t=0;t>18&63]+A[g>>12&63]+A[g>>6&63]+A[63&g];switch(s.length%4){case 1:s+="=";break;case 2:s+="=="}return s}}(),function(){"use strict";var A,t=window.utils;A=[{field:"fileName",length:100},{field:"fileMode",length:8},{field:"uid",length:8},{field:"gid",length:8},{field:"fileSize",length:12},{field:"mtime",length:12},{field:"checksum",length:8},{field:"type",length:1},{field:"linkName",length:100},{field:"ustar",length:8},{field:"owner",length:32},{field:"group",length:32},{field:"majorNumber",length:8},{field:"minorNumber",length:8},{field:"filenamePrefix",length:155},{field:"padding",length:12}],window.header={},window.header.structure=A,window.header.format=function(e,i){var n=t.clean(512),g=0;return A.forEach((function(A){var t,i,o=e[A.field]||"";for(t=0,i=o.length;ti&&(t.push({blocks:n,length:e}),n=[],e=0),n.push(A),e+=A.headerLength+A.inputLength})),t.push({blocks:n,length:e}),t.forEach((function(t){var e=new Uint8Array(t.length),i=0;t.blocks.forEach((function(A){e.set(A.header,i),i+=A.headerLength,e.set(A.input,i),i+=A.inputLength})),A.push(e)})),A.push(new Uint8Array(1024)),new Blob(A,{type:"octet/stream"})},g.prototype.clear=function(){this.written=0,this.out=i.clean(t)},void 0!==A.exports?A.exports=g:window.Tar=g}()},376:(A,t,e)=>{"use strict";function i(A,t){var e=A.__state.conversionName.toString(),i=Math.round(A.r),n=Math.round(A.g),g=Math.round(A.b),o=A.a,s=Math.round(A.h),a=A.s.toFixed(1),r=A.v.toFixed(1);if(t||"THREE_CHAR_HEX"===e||"SIX_CHAR_HEX"===e){for(var B=A.hex.toString(16);B.length<6;)B="0"+B;return"#"+B}return"CSS_RGB"===e?"rgb("+i+","+n+","+g+")":"CSS_RGBA"===e?"rgba("+i+","+n+","+g+","+o+")":"HEX"===e?"0x"+A.hex.toString(16):"RGB_ARRAY"===e?"["+i+","+n+","+g+"]":"RGBA_ARRAY"===e?"["+i+","+n+","+g+","+o+"]":"RGB_OBJ"===e?"{r:"+i+",g:"+n+",b:"+g+"}":"RGBA_OBJ"===e?"{r:"+i+",g:"+n+",b:"+g+",a:"+o+"}":"HSV_OBJ"===e?"{h:"+s+",s:"+a+",v:"+r+"}":"HSVA_OBJ"===e?"{h:"+s+",s:"+a+",v:"+r+",a:"+o+"}":"unknown format"}e.d(t,{ZP:()=>aA});var n=Array.prototype.forEach,g=Array.prototype.slice,o={BREAK:{},extend:function(A){return this.each(g.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(t[e])||(A[e]=t[e])}.bind(this))}),this),A},defaults:function(A){return this.each(g.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(e){this.isUndefined(A[e])&&(A[e]=t[e])}.bind(this))}),this),A},compose:function(){var A=g.call(arguments);return function(){for(var t=g.call(arguments),e=A.length-1;e>=0;e--)t=[A[e].apply(this,t)];return t[0]}},each:function(A,t,e){if(A)if(n&&A.forEach&&A.forEach===n)A.forEach(t,e);else if(A.length===A.length+0){var i,g=void 0;for(g=0,i=A.length;g1?o.toArray(arguments):arguments[0];return o.each(s,(function(t){if(t.litmus(A))return o.each(t.conversions,(function(t,e){if(a=t.read(A),!1===r&&!1!==a)return r=a,a.conversionName=e,a.conversion=t,o.BREAK})),o.BREAK})),r},I=void 0,Q={hsv_to_rgb:function(A,t,e){var i=Math.floor(A/60)%6,n=A/60-Math.floor(A/60),g=e*(1-t),o=e*(1-n*t),s=e*(1-(1-n)*t),a=[[e,s,g],[o,e,g],[g,e,s],[g,o,e],[s,g,e],[e,g,o]][i];return{r:255*a[0],g:255*a[1],b:255*a[2]}},rgb_to_hsv:function(A,t,e){var i=Math.min(A,t,e),n=Math.max(A,t,e),g=n-i,o=void 0;return 0===n?{h:NaN,s:0,v:0}:(o=A===n?(t-e)/g:t===n?2+(e-A)/g:4+(A-t)/g,(o/=6)<0&&(o+=1),{h:360*o,s:g/n,v:n/255})},rgb_to_hex:function(A,t,e){var i=this.hex_with_component(0,2,A);return i=this.hex_with_component(i,1,t),this.hex_with_component(i,0,e)},component_from_hex:function(A,t){return A>>8*t&255},hex_with_component:function(A,t,e){return e<<(I=8*t)|A&~(255<-1?t.length-t.indexOf(".")-1:0}var U=function(A){function t(A,e,i){C(this,t);var n=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e)),g=i||{};return n.__min=g.min,n.__max=g.max,n.__step=g.step,o.isUndefined(n.__step)?0===n.initialValue?n.__impliedStep=1:n.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(n.initialValue))/Math.LN10))/10:n.__impliedStep=n.__step,n.__precision=S(n.__impliedStep),n}return h(t,A),c(t,[{key:"setValue",value:function(A){var e=A;return void 0!==this.__min&&ethis.__max&&(e=this.__max),void 0!==this.__step&&e%this.__step!=0&&(e=Math.round(e/this.__step)*this.__step),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e)}},{key:"min",value:function(A){return this.__min=A,this}},{key:"max",value:function(A){return this.__max=A,this}},{key:"step",value:function(A){return this.__step=A,this.__impliedStep=A,this.__precision=S(A),this}}]),t}(m),b=function(A){function t(A,e,i){C(this,t);var n=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e,i));n.__truncationSuspended=!1;var g=n,s=void 0;function a(){g.__onFinishChange&&g.__onFinishChange.call(g,g.getValue())}function r(A){var t=s-A.clientY;g.setValue(g.getValue()+t*g.__impliedStep),s=A.clientY}function B(){R.unbind(window,"mousemove",r),R.unbind(window,"mouseup",B),a()}return n.__input=document.createElement("input"),n.__input.setAttribute("type","text"),R.bind(n.__input,"change",(function(){var A=parseFloat(g.__input.value);o.isNaN(A)||g.setValue(A)})),R.bind(n.__input,"blur",(function(){a()})),R.bind(n.__input,"mousedown",(function(A){R.bind(window,"mousemove",r),R.bind(window,"mouseup",B),s=A.clientY})),R.bind(n.__input,"keydown",(function(A){13===A.keyCode&&(g.__truncationSuspended=!0,this.blur(),g.__truncationSuspended=!1,a())})),n.updateDisplay(),n.domElement.appendChild(n.__input),n}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A,e,i;return this.__input.value=this.__truncationSuspended?this.getValue():(A=this.getValue(),e=this.__precision,i=Math.pow(10,e),Math.round(A*i)/i),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(U);function x(A,t,e,i,n){return i+(A-t)/(e-t)*(n-i)}var N=function(A){function t(A,e,i,n,g){C(this,t);var o=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e,{min:i,max:n,step:g})),s=o;function a(A){A.preventDefault();var t=s.__background.getBoundingClientRect();return s.setValue(x(A.clientX,t.left,t.right,s.__min,s.__max)),!1}function r(){R.unbind(window,"mousemove",a),R.unbind(window,"mouseup",r),s.__onFinishChange&&s.__onFinishChange.call(s,s.getValue())}function B(A){var t=A.touches[0].clientX,e=s.__background.getBoundingClientRect();s.setValue(x(t,e.left,e.right,s.__min,s.__max))}function I(){R.unbind(window,"touchmove",B),R.unbind(window,"touchend",I),s.__onFinishChange&&s.__onFinishChange.call(s,s.getValue())}return o.__background=document.createElement("div"),o.__foreground=document.createElement("div"),R.bind(o.__background,"mousedown",(function(A){document.activeElement.blur(),R.bind(window,"mousemove",a),R.bind(window,"mouseup",r),a(A)})),R.bind(o.__background,"touchstart",(function(A){1===A.touches.length&&(R.bind(window,"touchmove",B),R.bind(window,"touchend",I),B(A))})),R.addClass(o.__background,"slider"),R.addClass(o.__foreground,"slider-fg"),o.updateDisplay(),o.__background.appendChild(o.__foreground),o.domElement.appendChild(o.__background),o}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*A+"%",l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(U),H=function(A){function t(A,e,i){C(this,t);var n=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e)),g=n;return n.__button=document.createElement("div"),n.__button.innerHTML=void 0===i?"Fire":i,R.bind(n.__button,"click",(function(A){return A.preventDefault(),g.fire(),!1})),R.addClass(n.__button,"button"),n.domElement.appendChild(n.__button),n}return h(t,A),c(t,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),t}(m),L=function(A){function t(A,e){C(this,t);var i=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,A,e));i.__color=new u(i.getValue()),i.__temp=new u(0);var n=i;i.domElement=document.createElement("div"),R.makeSelectable(i.domElement,!1),i.__selector=document.createElement("div"),i.__selector.className="selector",i.__saturation_field=document.createElement("div"),i.__saturation_field.className="saturation-field",i.__field_knob=document.createElement("div"),i.__field_knob.className="field-knob",i.__field_knob_border="2px solid ",i.__hue_knob=document.createElement("div"),i.__hue_knob.className="hue-knob",i.__hue_field=document.createElement("div"),i.__hue_field.className="hue-field",i.__input=document.createElement("input"),i.__input.type="text",i.__input_textShadow="0 1px 1px ",R.bind(i.__input,"keydown",(function(A){13===A.keyCode&&E.call(this)})),R.bind(i.__input,"blur",E),R.bind(i.__selector,"mousedown",(function(){R.addClass(this,"drag").bind(window,"mouseup",(function(){R.removeClass(n.__selector,"drag")}))})),R.bind(i.__selector,"touchstart",(function(){R.addClass(this,"drag").bind(window,"touchend",(function(){R.removeClass(n.__selector,"drag")}))}));var g,s=document.createElement("div");function a(A){l(A),R.bind(window,"mousemove",l),R.bind(window,"touchmove",l),R.bind(window,"mouseup",I),R.bind(window,"touchend",I)}function r(A){h(A),R.bind(window,"mousemove",h),R.bind(window,"touchmove",h),R.bind(window,"mouseup",Q),R.bind(window,"touchend",Q)}function I(){R.unbind(window,"mousemove",l),R.unbind(window,"touchmove",l),R.unbind(window,"mouseup",I),R.unbind(window,"touchend",I),c()}function Q(){R.unbind(window,"mousemove",h),R.unbind(window,"touchmove",h),R.unbind(window,"mouseup",Q),R.unbind(window,"touchend",Q),c()}function E(){var A=B(this.value);!1!==A?(n.__color.__state=A,n.setValue(n.__color.toOriginal())):this.value=n.__color.toString()}function c(){n.__onFinishChange&&n.__onFinishChange.call(n,n.__color.toOriginal())}function l(A){-1===A.type.indexOf("touch")&&A.preventDefault();var t=n.__saturation_field.getBoundingClientRect(),e=A.touches&&A.touches[0]||A,i=e.clientX,g=e.clientY,o=(i-t.left)/(t.right-t.left),s=1-(g-t.top)/(t.bottom-t.top);return s>1?s=1:s<0&&(s=0),o>1?o=1:o<0&&(o=0),n.__color.v=s,n.__color.s=o,n.setValue(n.__color.toOriginal()),!1}function h(A){-1===A.type.indexOf("touch")&&A.preventDefault();var t=n.__hue_field.getBoundingClientRect(),e=1-((A.touches&&A.touches[0]||A).clientY-t.top)/(t.bottom-t.top);return e>1?e=1:e<0&&(e=0),n.__color.h=360*e,n.setValue(n.__color.toOriginal()),!1}return o.extend(i.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),o.extend(i.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:i.__field_knob_border+(i.__color.v<.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),o.extend(i.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),o.extend(i.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),o.extend(s.style,{width:"100%",height:"100%",background:"none"}),v(s,"top","rgba(0,0,0,0)","#000"),o.extend(i.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),(g=i.__hue_field).style.background="",g.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",g.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",g.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",g.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",g.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",o.extend(i.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:i.__input_textShadow+"rgba(0,0,0,0.7)"}),R.bind(i.__saturation_field,"mousedown",a),R.bind(i.__saturation_field,"touchstart",a),R.bind(i.__field_knob,"mousedown",a),R.bind(i.__field_knob,"touchstart",a),R.bind(i.__hue_field,"mousedown",r),R.bind(i.__hue_field,"touchstart",r),i.__saturation_field.appendChild(s),i.__selector.appendChild(i.__field_knob),i.__selector.appendChild(i.__saturation_field),i.__selector.appendChild(i.__hue_field),i.__hue_field.appendChild(i.__hue_knob),i.domElement.appendChild(i.__input),i.domElement.appendChild(i.__selector),i.updateDisplay(),i}return h(t,A),c(t,[{key:"updateDisplay",value:function(){var A=B(this.getValue());if(!1!==A){var t=!1;o.each(u.COMPONENTS,(function(e){if(!o.isUndefined(A[e])&&!o.isUndefined(this.__color.__state[e])&&A[e]!==this.__color.__state[e])return t=!0,{}}),this),t&&o.extend(this.__color.__state,A)}o.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var e=this.__color.v<.5||this.__color.s>.5?255:0,i=255-e;o.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+e+","+e+","+e+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,v(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),o.extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+e+","+e+","+e+")",textShadow:this.__input_textShadow+"rgba("+i+","+i+","+i+",.7)"})}}]),t}(m),k=["-moz-","-o-","-webkit-","-ms-",""];function v(A,t,e,i){A.style.background="",o.each(k,(function(n){A.style.cssText+="background: "+n+"linear-gradient("+t+", "+e+" 0%, "+i+" 100%); "}))}var Y=function(A,t){var e=A[t];return o.isArray(arguments[2])||o.isObject(arguments[2])?new M(A,t,arguments[2]):o.isNumber(e)?o.isNumber(arguments[2])&&o.isNumber(arguments[3])?o.isNumber(arguments[4])?new N(A,t,arguments[2],arguments[3],arguments[4]):new N(A,t,arguments[2],arguments[3]):o.isNumber(arguments[4])?new b(A,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new b(A,t,{min:arguments[2],max:arguments[3]}):o.isString(e)?new G(A,t):o.isFunction(e)?new H(A,t,""):o.isBoolean(e)?new F(A,t):null},T=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(A){setTimeout(A,1e3/60)},J=function(){function A(){C(this,A),this.backgroundElement=document.createElement("div"),o.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),R.makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),o.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var t=this;R.bind(this.backgroundElement,"click",(function(){t.hide()}))}return c(A,[{key:"show",value:function(){var A=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),o.defer((function(){A.backgroundElement.style.opacity=1,A.domElement.style.opacity=1,A.domElement.style.webkitTransform="scale(1)"}))}},{key:"hide",value:function(){var A=this,t=function t(){A.domElement.style.display="none",A.backgroundElement.style.display="none",R.unbind(A.domElement,"webkitTransitionEnd",t),R.unbind(A.domElement,"transitionend",t),R.unbind(A.domElement,"oTransitionEnd",t)};R.bind(this.domElement,"webkitTransitionEnd",t),R.bind(this.domElement,"transitionend",t),R.bind(this.domElement,"oTransitionEnd",t),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"}},{key:"layout",value:function(){this.domElement.style.left=window.innerWidth/2-R.getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-R.getHeight(this.domElement)/2+"px"}}]),A}();!function(A,t){var e=t||document,i=document.createElement("style");i.type="text/css",i.innerHTML=A;var n=e.getElementsByTagName("head")[0];try{n.appendChild(i)}catch(A){}}(function(A){if(A&&"undefined"!=typeof window){var t=document.createElement("style");return t.setAttribute("type","text/css"),t.innerHTML=A,document.head.appendChild(t),A}}(".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-y:visible}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .cr.function .property-name{width:100%}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n"));var _="Default",V=function(){try{return!!window.localStorage}catch(A){return!1}}(),W=void 0,K=!0,Z=void 0,X=!1,P=[],O=function A(t){var e=this,i=t||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),R.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],i=o.defaults(i,{closeOnTop:!1,autoPlace:!0,width:A.DEFAULT_WIDTH}),i=o.defaults(i,{resizable:i.autoPlace,hideable:i.autoPlace}),o.isUndefined(i.load)?i.load={preset:_}:i.preset&&(i.load.preset=i.preset),o.isUndefined(i.parent)&&i.hideable&&P.push(this),i.resizable=o.isUndefined(i.parent)&&i.resizable,i.autoPlace&&o.isUndefined(i.scrollable)&&(i.scrollable=!0);var n,g=V&&"true"===localStorage.getItem(tA(0,"isLocal")),s=void 0,a=void 0;if(Object.defineProperties(this,{parent:{get:function(){return i.parent}},scrollable:{get:function(){return i.scrollable}},autoPlace:{get:function(){return i.autoPlace}},closeOnTop:{get:function(){return i.closeOnTop}},preset:{get:function(){return e.parent?e.getRoot().preset:i.load.preset},set:function(A){e.parent?e.getRoot().preset=A:i.load.preset=A,function(A){for(var t=0;t1){var i=e.__li.nextElementSibling;return e.remove(),AA(A,e.object,e.property,{before:i,factoryArgs:[o.toArray(arguments)]})}if(o.isArray(t)||o.isObject(t)){var n=e.__li.nextElementSibling;return e.remove(),AA(A,e.object,e.property,{before:n,factoryArgs:[t]})}},name:function(A){return e.__li.firstElementChild.firstElementChild.innerHTML=A,e},listen:function(){return e.__gui.listen(e),e},remove:function(){return e.__gui.remove(e),e}}),e instanceof N){var i=new b(e.object,e.property,{min:e.__min,max:e.__max,step:e.__step});o.each(["updateDisplay","onChange","onFinishChange","step","min","max"],(function(A){var t=e[A],n=i[A];e[A]=i[A]=function(){var A=Array.prototype.slice.call(arguments);return n.apply(i,A),t.apply(e,A)}})),R.addClass(t,"has-slider"),e.domElement.insertBefore(i.domElement,e.domElement.firstElementChild)}else if(e instanceof b){var n=function(t){if(o.isNumber(e.__min)&&o.isNumber(e.__max)){var i=e.__li.firstElementChild.firstElementChild.innerHTML,n=e.__gui.__listening.indexOf(e)>-1;e.remove();var g=AA(A,e.object,e.property,{before:e.__li.nextElementSibling,factoryArgs:[e.__min,e.__max,e.__step]});return g.name(i),n&&g.listen(),g}return t};e.min=o.compose(n,e.min),e.max=o.compose(n,e.max)}else e instanceof F?(R.bind(t,"click",(function(){R.fakeEvent(e.__checkbox,"click")})),R.bind(e.__checkbox,"click",(function(A){A.stopPropagation()}))):e instanceof H?(R.bind(t,"click",(function(){R.fakeEvent(e.__button,"click")})),R.bind(t,"mouseover",(function(){R.addClass(e.__button,"hover")})),R.bind(t,"mouseout",(function(){R.removeClass(e.__button,"hover")}))):e instanceof L&&(R.addClass(t,"color"),e.updateDisplay=o.compose((function(A){return t.style.borderLeftColor=e.__color.toString(),A}),e.updateDisplay),e.updateDisplay());e.setValue=o.compose((function(t){return A.getRoot().__preset_select&&e.isModified()&&j(A.getRoot(),!0),t}),e.setValue)}(A,r,n),A.__controllers.push(n),n}function tA(A,t){return document.location.href+"."+t}function eA(A,t,e){var i=document.createElement("option");i.innerHTML=t,i.value=t,A.__preset_select.appendChild(i),e&&(A.__preset_select.selectedIndex=A.__preset_select.length-1)}function iA(A,t){t.style.display=A.useLocalStorage?"block":"none"}function nA(A){var t=void 0;function e(e){return e.preventDefault(),A.width+=t-e.clientX,A.onResize(),t=e.clientX,!1}function i(){R.removeClass(A.__closeButton,O.CLASS_DRAG),R.unbind(window,"mousemove",e),R.unbind(window,"mouseup",i)}function n(n){return n.preventDefault(),t=n.clientX,R.addClass(A.__closeButton,O.CLASS_DRAG),R.bind(window,"mousemove",e),R.bind(window,"mouseup",i),!1}A.__resize_handle=document.createElement("div"),o.extend(A.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),R.bind(A.__resize_handle,"mousedown",n),R.bind(A.__closeButton,"mousedown",n),A.domElement.insertBefore(A.__resize_handle,A.domElement.firstElementChild)}function gA(A,t){A.domElement.style.width=t+"px",A.__save_row&&A.autoPlace&&(A.__save_row.style.width=t+"px"),A.__closeButton&&(A.__closeButton.style.width=t+"px")}function oA(A,t){var e={};return o.each(A.__rememberedObjects,(function(i,n){var g={},s=A.__rememberedObjectIndecesToControllers[n];o.each(s,(function(A,e){g[e]=t?A.initialValue:A.getValue()})),e[n]=g})),e}function sA(A){0!==A.length&&T.call(window,(function(){sA(A)})),o.each(A,(function(A){A.updateDisplay()}))}O.toggleHide=function(){X=!X,o.each(P,(function(A){A.domElement.style.display=X?"none":""}))},O.CLASS_AUTO_PLACE="a",O.CLASS_AUTO_PLACE_CONTAINER="ac",O.CLASS_MAIN="main",O.CLASS_CONTROLLER_ROW="cr",O.CLASS_TOO_TALL="taller-than-window",O.CLASS_CLOSED="closed",O.CLASS_CLOSE_BUTTON="close-button",O.CLASS_CLOSE_TOP="close-top",O.CLASS_CLOSE_BOTTOM="close-bottom",O.CLASS_DRAG="drag",O.DEFAULT_WIDTH=245,O.TEXT_CLOSED="Close Controls",O.TEXT_OPEN="Open Controls",O._keydownHandler=function(A){"text"===document.activeElement.type||72!==A.which&&72!==A.keyCode||O.toggleHide()},R.bind(window,"keydown",O._keydownHandler,!1),o.extend(O.prototype,{add:function(A,t){return AA(this,A,t,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(A,t){return AA(this,A,t,{color:!0})},remove:function(A){this.__ul.removeChild(A.__li),this.__controllers.splice(this.__controllers.indexOf(A),1);var t=this;o.defer((function(){t.onResize()}))},destroy:function(){if(this.parent)throw new Error("Only the root GUI should be removed with .destroy(). For subfolders, use gui.removeFolder(folder) instead.");this.autoPlace&&Z.removeChild(this.domElement);var A=this;o.each(this.__folders,(function(t){A.removeFolder(t)})),R.unbind(window,"keydown",O._keydownHandler,!1),q(this)},addFolder:function(A){if(void 0!==this.__folders[A])throw new Error('You already have a folder in this GUI by the name "'+A+'"');var t={name:A,parent:this};t.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[A]&&(t.closed=this.load.folders[A].closed,t.load=this.load.folders[A]);var e=new O(t);this.__folders[A]=e;var i=z(this,e.domElement);return R.addClass(i,"folder"),e},removeFolder:function(A){this.__ul.removeChild(A.domElement.parentElement),delete this.__folders[A.name],this.load&&this.load.folders&&this.load.folders[A.name]&&delete this.load.folders[A.name],q(A);var t=this;o.each(A.__folders,(function(t){A.removeFolder(t)})),o.defer((function(){t.onResize()}))},open:function(){this.closed=!1},close:function(){this.closed=!0},hide:function(){this.domElement.style.display="none"},show:function(){this.domElement.style.display=""},onResize:function(){var A=this.getRoot();if(A.scrollable){var t=R.getOffset(A.__ul).top,e=0;o.each(A.__ul.childNodes,(function(t){A.autoPlace&&t===A.__save_row||(e+=R.getHeight(t))})),window.innerHeight-t-20GUI\'s constructor:\n\n \n\n
\n\n Automatically save\n values to localStorage on exit.\n\n
The values saved to localStorage will\n override those passed to dat.GUI\'s constructor. This makes it\n easier to work incrementally, but localStorage is fragile,\n and your friends may not see the same values you do.\n\n
\n\n
\n\n'),this.parent)throw new Error("You can only call remember on a top level GUI.");var A=this;o.each(Array.prototype.slice.call(arguments),(function(t){0===A.__rememberedObjects.length&&function(A){var t=A.__save_row=document.createElement("li");R.addClass(A.domElement,"has-save"),A.__ul.insertBefore(t,A.__ul.firstChild),R.addClass(t,"save-row");var e=document.createElement("span");e.innerHTML=" ",R.addClass(e,"button gears");var i=document.createElement("span");i.innerHTML="Save",R.addClass(i,"button"),R.addClass(i,"save");var n=document.createElement("span");n.innerHTML="New",R.addClass(n,"button"),R.addClass(n,"save-as");var g=document.createElement("span");g.innerHTML="Revert",R.addClass(g,"button"),R.addClass(g,"revert");var s=A.__preset_select=document.createElement("select");if(A.load&&A.load.remembered?o.each(A.load.remembered,(function(t,e){eA(A,e,e===A.preset)})):eA(A,_,!1),R.bind(s,"change",(function(){for(var t=0;t0&&(A.preset=this.preset,A.remembered||(A.remembered={}),A.remembered[this.preset]=oA(this)),A.folders={},o.each(this.__folders,(function(t,e){A.folders[e]=t.getSaveObject()})),A},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=oA(this),j(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(A){this.load.remembered||(this.load.remembered={},this.load.remembered[_]=oA(this,!0)),this.load.remembered[A]=oA(this),this.preset=A,eA(this,A,!0),this.saveToLocalStorageIfPossible()},revert:function(A){o.each(this.__controllers,(function(t){this.getRoot().load.remembered?$(A||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())}),this),o.each(this.__folders,(function(A){A.revert(A)})),A||j(this.getRoot(),!1)},listen:function(A){var t=0===this.__listening.length;this.__listening.push(A),t&&sA(this.__listening)},updateDisplay:function(){o.each(this.__controllers,(function(A){A.updateDisplay()})),o.each(this.__folders,(function(A){A.updateDisplay()}))}});const aA={color:{Color:u,math:Q,interpret:B},controllers:{Controller:m,BooleanController:F,OptionController:M,StringController:G,NumberController:U,NumberControllerBox:b,NumberControllerSlider:N,FunctionController:H,ColorController:L},dom:{dom:R},gui:{GUI:O},GUI:O}},896:A=>{"use strict";A.exports="data:application/javascript;base64,CnZhciBCQVNJUyA9IChmdW5jdGlvbigpIHsKICB2YXIgX3NjcmlwdERpciA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCA/IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjIDogdW5kZWZpbmVkOwogIGlmICh0eXBlb2YgX19maWxlbmFtZSAhPT0gJ3VuZGVmaW5lZCcpIF9zY3JpcHREaXIgPSBfc2NyaXB0RGlyIHx8IF9fZmlsZW5hbWU7CiAgcmV0dXJuICgKZnVuY3Rpb24oQkFTSVMpIHsKICBCQVNJUyA9IEJBU0lTIHx8IHt9OwoKdmFyIE1vZHVsZT10eXBlb2YgQkFTSVMhPT0idW5kZWZpbmVkIj9CQVNJUzp7fTt2YXIgcmVhZHlQcm9taXNlUmVzb2x2ZSxyZWFkeVByb21pc2VSZWplY3Q7TW9kdWxlWyJyZWFkeSJdPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtyZWFkeVByb21pc2VSZXNvbHZlPXJlc29sdmU7cmVhZHlQcm9taXNlUmVqZWN0PXJlamVjdH0pO3ZhciBtb2R1bGVPdmVycmlkZXM9e307dmFyIGtleTtmb3Ioa2V5IGluIE1vZHVsZSl7aWYoTW9kdWxlLmhhc093blByb3BlcnR5KGtleSkpe21vZHVsZU92ZXJyaWRlc1trZXldPU1vZHVsZVtrZXldfX12YXIgYXJndW1lbnRzXz1bXTt2YXIgdGhpc1Byb2dyYW09Ii4vdGhpcy5wcm9ncmFtIjt2YXIgcXVpdF89ZnVuY3Rpb24oc3RhdHVzLHRvVGhyb3cpe3Rocm93IHRvVGhyb3d9O3ZhciBFTlZJUk9OTUVOVF9JU19XRUI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1dPUktFUj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfTk9ERT1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfU0hFTEw9ZmFsc2U7RU5WSVJPTk1FTlRfSVNfV0VCPXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0IjtFTlZJUk9OTUVOVF9JU19XT1JLRVI9dHlwZW9mIGltcG9ydFNjcmlwdHM9PT0iZnVuY3Rpb24iO0VOVklST05NRU5UX0lTX05PREU9dHlwZW9mIHByb2Nlc3M9PT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM9PT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZT09PSJzdHJpbmciO0VOVklST05NRU5UX0lTX1NIRUxMPSFFTlZJUk9OTUVOVF9JU19XRUImJiFFTlZJUk9OTUVOVF9JU19OT0RFJiYhRU5WSVJPTk1FTlRfSVNfV09SS0VSO3ZhciBzY3JpcHREaXJlY3Rvcnk9IiI7ZnVuY3Rpb24gbG9jYXRlRmlsZShwYXRoKXtpZihNb2R1bGVbImxvY2F0ZUZpbGUiXSl7cmV0dXJuIE1vZHVsZVsibG9jYXRlRmlsZSJdKHBhdGgsc2NyaXB0RGlyZWN0b3J5KX1yZXR1cm4gc2NyaXB0RGlyZWN0b3J5K3BhdGh9dmFyIHJlYWRfLHJlYWRBc3luYyxyZWFkQmluYXJ5LHNldFdpbmRvd1RpdGxlO3ZhciBub2RlRlM7dmFyIG5vZGVQYXRoO2lmKEVOVklST05NRU5UX0lTX05PREUpe2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7c2NyaXB0RGlyZWN0b3J5PXJlcXVpcmUoInBhdGgiKS5kaXJuYW1lKHNjcmlwdERpcmVjdG9yeSkrIi8ifWVsc2V7c2NyaXB0RGlyZWN0b3J5PV9fZGlybmFtZSsiLyJ9cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZChmaWxlbmFtZSxiaW5hcnkpe2lmKCFub2RlRlMpbm9kZUZTPXJlcXVpcmUoImZzIik7aWYoIW5vZGVQYXRoKW5vZGVQYXRoPXJlcXVpcmUoInBhdGgiKTtmaWxlbmFtZT1ub2RlUGF0aFsibm9ybWFsaXplIl0oZmlsZW5hbWUpO3JldHVybiBub2RlRlNbInJlYWRGaWxlU3luYyJdKGZpbGVuYW1lLGJpbmFyeT9udWxsOiJ1dGY4Iil9O3JlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeShmaWxlbmFtZSl7dmFyIHJldD1yZWFkXyhmaWxlbmFtZSx0cnVlKTtpZighcmV0LmJ1ZmZlcil7cmV0PW5ldyBVaW50OEFycmF5KHJldCl9YXNzZXJ0KHJldC5idWZmZXIpO3JldHVybiByZXR9O2lmKHByb2Nlc3NbImFyZ3YiXS5sZW5ndGg+MSl7dGhpc1Byb2dyYW09cHJvY2Vzc1siYXJndiJdWzFdLnJlcGxhY2UoL1xcL2csIi8iKX1hcmd1bWVudHNfPXByb2Nlc3NbImFyZ3YiXS5zbGljZSgyKTtwcm9jZXNzWyJvbiJdKCJ1bmNhdWdodEV4Y2VwdGlvbiIsZnVuY3Rpb24oZXgpe2lmKCEoZXggaW5zdGFuY2VvZiBFeGl0U3RhdHVzKSl7dGhyb3cgZXh9fSk7cHJvY2Vzc1sib24iXSgidW5oYW5kbGVkUmVqZWN0aW9uIixhYm9ydCk7cXVpdF89ZnVuY3Rpb24oc3RhdHVzKXtwcm9jZXNzWyJleGl0Il0oc3RhdHVzKX07TW9kdWxlWyJpbnNwZWN0Il09ZnVuY3Rpb24oKXtyZXR1cm4iW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF0ifX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1NIRUxMKXtpZih0eXBlb2YgcmVhZCE9InVuZGVmaW5lZCIpe3JlYWRfPWZ1bmN0aW9uIHNoZWxsX3JlYWQoZil7cmV0dXJuIHJlYWQoZil9fXJlYWRCaW5hcnk9ZnVuY3Rpb24gcmVhZEJpbmFyeShmKXt2YXIgZGF0YTtpZih0eXBlb2YgcmVhZGJ1ZmZlcj09PSJmdW5jdGlvbiIpe3JldHVybiBuZXcgVWludDhBcnJheShyZWFkYnVmZmVyKGYpKX1kYXRhPXJlYWQoZiwiYmluYXJ5Iik7YXNzZXJ0KHR5cGVvZiBkYXRhPT09Im9iamVjdCIpO3JldHVybiBkYXRhfTtpZih0eXBlb2Ygc2NyaXB0QXJncyE9InVuZGVmaW5lZCIpe2FyZ3VtZW50c189c2NyaXB0QXJnc31lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHMhPSJ1bmRlZmluZWQiKXthcmd1bWVudHNfPWFyZ3VtZW50c31pZih0eXBlb2YgcXVpdD09PSJmdW5jdGlvbiIpe3F1aXRfPWZ1bmN0aW9uKHN0YXR1cyl7cXVpdChzdGF0dXMpfX1pZih0eXBlb2YgcHJpbnQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGNvbnNvbGU9PT0idW5kZWZpbmVkIiljb25zb2xlPXt9O2NvbnNvbGUubG9nPXByaW50O2NvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPXR5cGVvZiBwcmludEVyciE9PSJ1bmRlZmluZWQiP3ByaW50RXJyOnByaW50fX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKXtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIpe3NjcmlwdERpcmVjdG9yeT1zZWxmLmxvY2F0aW9uLmhyZWZ9ZWxzZSBpZih0eXBlb2YgZG9jdW1lbnQhPT0idW5kZWZpbmVkIiYmZG9jdW1lbnQuY3VycmVudFNjcmlwdCl7c2NyaXB0RGlyZWN0b3J5PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjfWlmKF9zY3JpcHREaXIpe3NjcmlwdERpcmVjdG9yeT1fc2NyaXB0RGlyfWlmKHNjcmlwdERpcmVjdG9yeS5pbmRleE9mKCJibG9iOiIpIT09MCl7c2NyaXB0RGlyZWN0b3J5PXNjcmlwdERpcmVjdG9yeS5zdWJzdHIoMCxzY3JpcHREaXJlY3RvcnkubGFzdEluZGV4T2YoIi8iKSsxKX1lbHNle3NjcmlwdERpcmVjdG9yeT0iIn17cmVhZF89ZnVuY3Rpb24gc2hlbGxfcmVhZCh1cmwpe3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhyLnNlbmQobnVsbCk7cmV0dXJuIHhoci5yZXNwb25zZVRleHR9O2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7cmVhZEJpbmFyeT1mdW5jdGlvbiByZWFkQmluYXJ5KHVybCl7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7eGhyLnNlbmQobnVsbCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZSl9fXJlYWRBc3luYz1mdW5jdGlvbiByZWFkQXN5bmModXJsLG9ubG9hZCxvbmVycm9yKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsdHJ1ZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5vbmxvYWQ9ZnVuY3Rpb24geGhyX29ubG9hZCgpe2lmKHhoci5zdGF0dXM9PTIwMHx8eGhyLnN0YXR1cz09MCYmeGhyLnJlc3BvbnNlKXtvbmxvYWQoeGhyLnJlc3BvbnNlKTtyZXR1cm59b25lcnJvcigpfTt4aHIub25lcnJvcj1vbmVycm9yO3hoci5zZW5kKG51bGwpfX1zZXRXaW5kb3dUaXRsZT1mdW5jdGlvbih0aXRsZSl7ZG9jdW1lbnQudGl0bGU9dGl0bGV9fWVsc2V7fXZhciBvdXQ9TW9kdWxlWyJwcmludCJdfHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBlcnI9TW9kdWxlWyJwcmludEVyciJdfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3Ioa2V5IGluIG1vZHVsZU92ZXJyaWRlcyl7aWYobW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3BlcnR5KGtleSkpe01vZHVsZVtrZXldPW1vZHVsZU92ZXJyaWRlc1trZXldfX1tb2R1bGVPdmVycmlkZXM9bnVsbDtpZihNb2R1bGVbImFyZ3VtZW50cyJdKWFyZ3VtZW50c189TW9kdWxlWyJhcmd1bWVudHMiXTtpZihNb2R1bGVbInRoaXNQcm9ncmFtIl0pdGhpc1Byb2dyYW09TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdO2lmKE1vZHVsZVsicXVpdCJdKXF1aXRfPU1vZHVsZVsicXVpdCJdO3ZhciB0ZW1wUmV0MD0wO3ZhciBzZXRUZW1wUmV0MD1mdW5jdGlvbih2YWx1ZSl7dGVtcFJldDA9dmFsdWV9O3ZhciB3YXNtQmluYXJ5O2lmKE1vZHVsZVsid2FzbUJpbmFyeSJdKXdhc21CaW5hcnk9TW9kdWxlWyJ3YXNtQmluYXJ5Il07dmFyIG5vRXhpdFJ1bnRpbWU7aWYoTW9kdWxlWyJub0V4aXRSdW50aW1lIl0pbm9FeGl0UnVudGltZT1Nb2R1bGVbIm5vRXhpdFJ1bnRpbWUiXTtpZih0eXBlb2YgV2ViQXNzZW1ibHkhPT0ib2JqZWN0Iil7YWJvcnQoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKX12YXIgd2FzbU1lbW9yeTt2YXIgQUJPUlQ9ZmFsc2U7dmFyIEVYSVRTVEFUVVM7ZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbix0ZXh0KXtpZighY29uZGl0aW9uKXthYm9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIit0ZXh0KX19dmFyIFVURjhEZWNvZGVyPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnVuZGVmaW5lZDtmdW5jdGlvbiBVVEY4QXJyYXlUb1N0cmluZyhoZWFwLGlkeCxtYXhCeXRlc1RvUmVhZCl7dmFyIGVuZElkeD1pZHgrbWF4Qnl0ZXNUb1JlYWQ7dmFyIGVuZFB0cj1pZHg7d2hpbGUoaGVhcFtlbmRQdHJdJiYhKGVuZFB0cj49ZW5kSWR4KSkrK2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZoZWFwLnN1YmFycmF5JiZVVEY4RGVjb2Rlcil7cmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZShoZWFwLnN1YmFycmF5KGlkeCxlbmRQdHIpKX1lbHNle3ZhciBzdHI9IiI7d2hpbGUoaWR4PGVuZFB0cil7dmFyIHUwPWhlYXBbaWR4KytdO2lmKCEodTAmMTI4KSl7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKTtjb250aW51ZX12YXIgdTE9aGVhcFtpZHgrK10mNjM7aWYoKHUwJjIyNCk9PTE5Mil7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCh1MCYzMSk8PDZ8dTEpO2NvbnRpbnVlfXZhciB1Mj1oZWFwW2lkeCsrXSY2MztpZigodTAmMjQwKT09MjI0KXt1MD0odTAmMTUpPDwxMnx1MTw8Nnx1Mn1lbHNle3UwPSh1MCY3KTw8MTh8dTE8PDEyfHUyPDw2fGhlYXBbaWR4KytdJjYzfWlmKHUwPDY1NTM2KXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodTApfWVsc2V7dmFyIGNoPXUwLTY1NTM2O3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjaD4+MTAsNTYzMjB8Y2gmMTAyMyl9fX1yZXR1cm4gc3RyfWZ1bmN0aW9uIFVURjhUb1N0cmluZyhwdHIsbWF4Qnl0ZXNUb1JlYWQpe3JldHVybiBwdHI/VVRGOEFycmF5VG9TdHJpbmcoSEVBUFU4LHB0cixtYXhCeXRlc1RvUmVhZCk6IiJ9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4QXJyYXkoc3RyLGhlYXAsb3V0SWR4LG1heEJ5dGVzVG9Xcml0ZSl7aWYoIShtYXhCeXRlc1RvV3JpdGU+MCkpcmV0dXJuIDA7dmFyIHN0YXJ0SWR4PW91dElkeDt2YXIgZW5kSWR4PW91dElkeCttYXhCeXRlc1RvV3JpdGUtMTtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgdT1zdHIuY2hhckNvZGVBdChpKTtpZih1Pj01NTI5NiYmdTw9NTczNDMpe3ZhciB1MT1zdHIuY2hhckNvZGVBdCgrK2kpO3U9NjU1MzYrKCh1JjEwMjMpPDwxMCl8dTEmMTAyM31pZih1PD0xMjcpe2lmKG91dElkeD49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPXV9ZWxzZSBpZih1PD0yMDQ3KXtpZihvdXRJZHgrMT49ZW5kSWR4KWJyZWFrO2hlYXBbb3V0SWR4KytdPTE5Mnx1Pj42O2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2UgaWYodTw9NjU1MzUpe2lmKG91dElkeCsyPj1lbmRJZHgpYnJlYWs7aGVhcFtvdXRJZHgrK109MjI0fHU+PjEyO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2V7aWYob3V0SWR4KzM+PWVuZElkeClicmVhaztoZWFwW291dElkeCsrXT0yNDB8dT4+MTg7aGVhcFtvdXRJZHgrK109MTI4fHU+PjEyJjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1Pj42JjYzO2hlYXBbb3V0SWR4KytdPTEyOHx1JjYzfX1oZWFwW291dElkeF09MDtyZXR1cm4gb3V0SWR4LXN0YXJ0SWR4fWZ1bmN0aW9uIHN0cmluZ1RvVVRGOChzdHIsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl7cmV0dXJuIHN0cmluZ1RvVVRGOEFycmF5KHN0cixIRUFQVTgsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl9ZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEY4KHN0cil7dmFyIGxlbj0wO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl1PTY1NTM2KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29kZUF0KCsraSkmMTAyMztpZih1PD0xMjcpKytsZW47ZWxzZSBpZih1PD0yMDQ3KWxlbis9MjtlbHNlIGlmKHU8PTY1NTM1KWxlbis9MztlbHNlIGxlbis9NH1yZXR1cm4gbGVufXZhciBVVEYxNkRlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnVuZGVmaW5lZDtmdW5jdGlvbiBVVEYxNlRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7dmFyIGVuZFB0cj1wdHI7dmFyIGlkeD1lbmRQdHI+PjE7dmFyIG1heElkeD1pZHgrbWF4Qnl0ZXNUb1JlYWQvMjt3aGlsZSghKGlkeD49bWF4SWR4KSYmSEVBUFUxNltpZHhdKSsraWR4O2VuZFB0cj1pZHg8PDE7aWYoZW5kUHRyLXB0cj4zMiYmVVRGMTZEZWNvZGVyKXtyZXR1cm4gVVRGMTZEZWNvZGVyLmRlY29kZShIRUFQVTguc3ViYXJyYXkocHRyLGVuZFB0cikpfWVsc2V7dmFyIHN0cj0iIjtmb3IodmFyIGk9MDshKGk+PW1heEJ5dGVzVG9SZWFkLzIpOysraSl7dmFyIGNvZGVVbml0PUhFQVAxNltwdHIraSoyPj4xXTtpZihjb2RlVW5pdD09MClicmVhaztzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoY29kZVVuaXQpfXJldHVybiBzdHJ9fWZ1bmN0aW9uIHN0cmluZ1RvVVRGMTYoc3RyLG91dFB0cixtYXhCeXRlc1RvV3JpdGUpe2lmKG1heEJ5dGVzVG9Xcml0ZT09PXVuZGVmaW5lZCl7bWF4Qnl0ZXNUb1dyaXRlPTIxNDc0ODM2NDd9aWYobWF4Qnl0ZXNUb1dyaXRlPDIpcmV0dXJuIDA7bWF4Qnl0ZXNUb1dyaXRlLT0yO3ZhciBzdGFydFB0cj1vdXRQdHI7dmFyIG51bUNoYXJzVG9Xcml0ZT1tYXhCeXRlc1RvV3JpdGU8c3RyLmxlbmd0aCoyP21heEJ5dGVzVG9Xcml0ZS8yOnN0ci5sZW5ndGg7Zm9yKHZhciBpPTA7aTxudW1DaGFyc1RvV3JpdGU7KytpKXt2YXIgY29kZVVuaXQ9c3RyLmNoYXJDb2RlQXQoaSk7SEVBUDE2W291dFB0cj4+MV09Y29kZVVuaXQ7b3V0UHRyKz0yfUhFQVAxNltvdXRQdHI+PjFdPTA7cmV0dXJuIG91dFB0ci1zdGFydFB0cn1mdW5jdGlvbiBsZW5ndGhCeXRlc1VURjE2KHN0cil7cmV0dXJuIHN0ci5sZW5ndGgqMn1mdW5jdGlvbiBVVEYzMlRvU3RyaW5nKHB0cixtYXhCeXRlc1RvUmVhZCl7dmFyIGk9MDt2YXIgc3RyPSIiO3doaWxlKCEoaT49bWF4Qnl0ZXNUb1JlYWQvNCkpe3ZhciB1dGYzMj1IRUFQMzJbcHRyK2kqND4+Ml07aWYodXRmMzI9PTApYnJlYWs7KytpO2lmKHV0ZjMyPj02NTUzNil7dmFyIGNoPXV0ZjMyLTY1NTM2O3N0cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjaD4+MTAsNTYzMjB8Y2gmMTAyMyl9ZWxzZXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUodXRmMzIpfX1yZXR1cm4gc3RyfWZ1bmN0aW9uIHN0cmluZ1RvVVRGMzIoc3RyLG91dFB0cixtYXhCeXRlc1RvV3JpdGUpe2lmKG1heEJ5dGVzVG9Xcml0ZT09PXVuZGVmaW5lZCl7bWF4Qnl0ZXNUb1dyaXRlPTIxNDc0ODM2NDd9aWYobWF4Qnl0ZXNUb1dyaXRlPDQpcmV0dXJuIDA7dmFyIHN0YXJ0UHRyPW91dFB0cjt2YXIgZW5kUHRyPXN0YXJ0UHRyK21heEJ5dGVzVG9Xcml0ZS00O2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciBjb2RlVW5pdD1zdHIuY2hhckNvZGVBdChpKTtpZihjb2RlVW5pdD49NTUyOTYmJmNvZGVVbml0PD01NzM0Myl7dmFyIHRyYWlsU3Vycm9nYXRlPXN0ci5jaGFyQ29kZUF0KCsraSk7Y29kZVVuaXQ9NjU1MzYrKChjb2RlVW5pdCYxMDIzKTw8MTApfHRyYWlsU3Vycm9nYXRlJjEwMjN9SEVBUDMyW291dFB0cj4+Ml09Y29kZVVuaXQ7b3V0UHRyKz00O2lmKG91dFB0cis0PmVuZFB0cilicmVha31IRUFQMzJbb3V0UHRyPj4yXT0wO3JldHVybiBvdXRQdHItc3RhcnRQdHJ9ZnVuY3Rpb24gbGVuZ3RoQnl0ZXNVVEYzMihzdHIpe3ZhciBsZW49MDtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgY29kZVVuaXQ9c3RyLmNoYXJDb2RlQXQoaSk7aWYoY29kZVVuaXQ+PTU1Mjk2JiZjb2RlVW5pdDw9NTczNDMpKytpO2xlbis9NH1yZXR1cm4gbGVufWZ1bmN0aW9uIGFsaWduVXAoeCxtdWx0aXBsZSl7aWYoeCVtdWx0aXBsZT4wKXt4Kz1tdWx0aXBsZS14JW11bHRpcGxlfXJldHVybiB4fXZhciBidWZmZXIsSEVBUDgsSEVBUFU4LEhFQVAxNixIRUFQVTE2LEhFQVAzMixIRUFQVTMyLEhFQVBGMzIsSEVBUEY2NDtmdW5jdGlvbiB1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyhidWYpe2J1ZmZlcj1idWY7TW9kdWxlWyJIRUFQOCJdPUhFQVA4PW5ldyBJbnQ4QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVAxNiJdPUhFQVAxNj1uZXcgSW50MTZBcnJheShidWYpO01vZHVsZVsiSEVBUDMyIl09SEVBUDMyPW5ldyBJbnQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQVTgiXT1IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoYnVmKTtNb2R1bGVbIkhFQVBVMTYiXT1IRUFQVTE2PW5ldyBVaW50MTZBcnJheShidWYpO01vZHVsZVsiSEVBUFUzMiJdPUhFQVBVMzI9bmV3IFVpbnQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQRjMyIl09SEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGJ1Zik7TW9kdWxlWyJIRUFQRjY0Il09SEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGJ1Zil9dmFyIElOSVRJQUxfTUVNT1JZPU1vZHVsZVsiSU5JVElBTF9NRU1PUlkiXXx8MTY3NzcyMTY7dmFyIHdhc21UYWJsZTt2YXIgX19BVFBSRVJVTl9fPVtdO3ZhciBfX0FUSU5JVF9fPVtdO3ZhciBfX0FUTUFJTl9fPVtdO3ZhciBfX0FUUE9TVFJVTl9fPVtdO3ZhciBydW50aW1lSW5pdGlhbGl6ZWQ9ZmFsc2U7ZnVuY3Rpb24gcHJlUnVuKCl7aWYoTW9kdWxlWyJwcmVSdW4iXSl7aWYodHlwZW9mIE1vZHVsZVsicHJlUnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwcmVSdW4iXT1bTW9kdWxlWyJwcmVSdW4iXV07d2hpbGUoTW9kdWxlWyJwcmVSdW4iXS5sZW5ndGgpe2FkZE9uUHJlUnVuKE1vZHVsZVsicHJlUnVuIl0uc2hpZnQoKSl9fWNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQUkVSVU5fXyl9ZnVuY3Rpb24gaW5pdFJ1bnRpbWUoKXtydW50aW1lSW5pdGlhbGl6ZWQ9dHJ1ZTtjYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUSU5JVF9fKX1mdW5jdGlvbiBwcmVNYWluKCl7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyl9ZnVuY3Rpb24gcG9zdFJ1bigpe2lmKE1vZHVsZVsicG9zdFJ1biJdKXtpZih0eXBlb2YgTW9kdWxlWyJwb3N0UnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwb3N0UnVuIl09W01vZHVsZVsicG9zdFJ1biJdXTt3aGlsZShNb2R1bGVbInBvc3RSdW4iXS5sZW5ndGgpe2FkZE9uUG9zdFJ1bihNb2R1bGVbInBvc3RSdW4iXS5zaGlmdCgpKX19Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBPU1RSVU5fXyl9ZnVuY3Rpb24gYWRkT25QcmVSdW4oY2Ipe19fQVRQUkVSVU5fXy51bnNoaWZ0KGNiKX1mdW5jdGlvbiBhZGRPblBvc3RSdW4oY2Ipe19fQVRQT1NUUlVOX18udW5zaGlmdChjYil9dmFyIHJ1bkRlcGVuZGVuY2llcz0wO3ZhciBydW5EZXBlbmRlbmN5V2F0Y2hlcj1udWxsO3ZhciBkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9bnVsbDtmdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMrKztpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX19ZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5kZW5jeShpZCl7cnVuRGVwZW5kZW5jaWVzLS07aWYoTW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0pe01vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyl9aWYocnVuRGVwZW5kZW5jaWVzPT0wKXtpZihydW5EZXBlbmRlbmN5V2F0Y2hlciE9PW51bGwpe2NsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpO3J1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGx9aWYoZGVwZW5kZW5jaWVzRnVsZmlsbGVkKXt2YXIgY2FsbGJhY2s9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2NhbGxiYWNrKCl9fX1Nb2R1bGVbInByZWxvYWRlZEltYWdlcyJdPXt9O01vZHVsZVsicHJlbG9hZGVkQXVkaW9zIl09e307ZnVuY3Rpb24gYWJvcnQod2hhdCl7aWYoTW9kdWxlWyJvbkFib3J0Il0pe01vZHVsZVsib25BYm9ydCJdKHdoYXQpfXdoYXQrPSIiO2Vycih3aGF0KTtBQk9SVD10cnVlO0VYSVRTVEFUVVM9MTt3aGF0PSJhYm9ydCgiK3doYXQrIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjt2YXIgZT1uZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKHdoYXQpO3JlYWR5UHJvbWlzZVJlamVjdChlKTt0aHJvdyBlfWZ1bmN0aW9uIGhhc1ByZWZpeChzdHIscHJlZml4KXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP3N0ci5zdGFydHNXaXRoKHByZWZpeCk6c3RyLmluZGV4T2YocHJlZml4KT09PTB9dmFyIGRhdGFVUklQcmVmaXg9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIGlzRGF0YVVSSShmaWxlbmFtZSl7cmV0dXJuIGhhc1ByZWZpeChmaWxlbmFtZSxkYXRhVVJJUHJlZml4KX12YXIgZmlsZVVSSVByZWZpeD0iZmlsZTovLyI7ZnVuY3Rpb24gaXNGaWxlVVJJKGZpbGVuYW1lKXtyZXR1cm4gaGFzUHJlZml4KGZpbGVuYW1lLGZpbGVVUklQcmVmaXgpfXZhciB3YXNtQmluYXJ5RmlsZT0iYmFzaXNfdHJhbnNjb2Rlci53YXNtIjtpZighaXNEYXRhVVJJKHdhc21CaW5hcnlGaWxlKSl7d2FzbUJpbmFyeUZpbGU9bG9jYXRlRmlsZSh3YXNtQmluYXJ5RmlsZSl9ZnVuY3Rpb24gZ2V0QmluYXJ5KCl7dHJ5e2lmKHdhc21CaW5hcnkpe3JldHVybiBuZXcgVWludDhBcnJheSh3YXNtQmluYXJ5KX1pZihyZWFkQmluYXJ5KXtyZXR1cm4gcmVhZEJpbmFyeSh3YXNtQmluYXJ5RmlsZSl9ZWxzZXt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9fWNhdGNoKGVycil7YWJvcnQoZXJyKX19ZnVuY3Rpb24gZ2V0QmluYXJ5UHJvbWlzZSgpe2lmKCF3YXNtQmluYXJ5JiYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpJiZ0eXBlb2YgZmV0Y2g9PT0iZnVuY3Rpb24iJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSl7cmV0dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7aWYoIXJlc3BvbnNlWyJvayJdKXt0aHJvdyJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICciK3dhc21CaW5hcnlGaWxlKyInIn1yZXR1cm4gcmVzcG9uc2VbImFycmF5QnVmZmVyIl0oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGdldEJpbmFyeSgpfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZ2V0QmluYXJ5KX1mdW5jdGlvbiBjcmVhdGVXYXNtKCl7dmFyIGluZm89eyJhIjphc21MaWJyYXJ5QXJnfTtmdW5jdGlvbiByZWNlaXZlSW5zdGFuY2UoaW5zdGFuY2UsbW9kdWxlKXt2YXIgZXhwb3J0cz1pbnN0YW5jZS5leHBvcnRzO01vZHVsZVsiYXNtIl09ZXhwb3J0czt3YXNtTWVtb3J5PU1vZHVsZVsiYXNtIl1bIksiXTt1cGRhdGVHbG9iYWxCdWZmZXJBbmRWaWV3cyh3YXNtTWVtb3J5LmJ1ZmZlcik7d2FzbVRhYmxlPU1vZHVsZVsiYXNtIl1bIkwiXTtyZW1vdmVSdW5EZXBlbmRlbmN5KCJ3YXNtLWluc3RhbnRpYXRlIil9YWRkUnVuRGVwZW5kZW5jeSgid2FzbS1pbnN0YW50aWF0ZSIpO2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW50aWF0ZWRTb3VyY2Uob3V0cHV0KXtyZWNlaXZlSW5zdGFuY2Uob3V0cHV0WyJpbnN0YW5jZSJdKX1mdW5jdGlvbiBpbnN0YW50aWF0ZUFycmF5QnVmZmVyKHJlY2VpdmVyKXtyZXR1cm4gZ2V0QmluYXJ5UHJvbWlzZSgpLnRoZW4oZnVuY3Rpb24oYmluYXJ5KXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoYmluYXJ5LGluZm8pfSkudGhlbihyZWNlaXZlcixmdW5jdGlvbihyZWFzb24pe2VycigiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogIityZWFzb24pO2Fib3J0KHJlYXNvbil9KX1mdW5jdGlvbiBpbnN0YW50aWF0ZUFzeW5jKCl7aWYoIXdhc21CaW5hcnkmJnR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZz09PSJmdW5jdGlvbiImJiFpc0RhdGFVUkkod2FzbUJpbmFyeUZpbGUpJiYhaXNGaWxlVVJJKHdhc21CaW5hcnlGaWxlKSYmdHlwZW9mIGZldGNoPT09ImZ1bmN0aW9uIil7cmV0dXJuIGZldGNoKHdhc21CaW5hcnlGaWxlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyZXNwb25zZSl7dmFyIHJlc3VsdD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhyZXNwb25zZSxpbmZvKTtyZXR1cm4gcmVzdWx0LnRoZW4ocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSxmdW5jdGlvbihyZWFzb24pe2Vycigid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrcmVhc29uKTtlcnIoImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uIik7cmV0dXJuIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9KX0pfWVsc2V7cmV0dXJuIGluc3RhbnRpYXRlQXJyYXlCdWZmZXIocmVjZWl2ZUluc3RhbnRpYXRlZFNvdXJjZSl9fWlmKE1vZHVsZVsiaW5zdGFudGlhdGVXYXNtIl0pe3RyeXt2YXIgZXhwb3J0cz1Nb2R1bGVbImluc3RhbnRpYXRlV2FzbSJdKGluZm8scmVjZWl2ZUluc3RhbmNlKTtyZXR1cm4gZXhwb3J0c31jYXRjaChlKXtlcnIoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZSk7cmV0dXJuIGZhbHNlfX1pbnN0YW50aWF0ZUFzeW5jKCkuY2F0Y2gocmVhZHlQcm9taXNlUmVqZWN0KTtyZXR1cm57fX1mdW5jdGlvbiBjYWxsUnVudGltZUNhbGxiYWNrcyhjYWxsYmFja3Mpe3doaWxlKGNhbGxiYWNrcy5sZW5ndGg+MCl7dmFyIGNhbGxiYWNrPWNhbGxiYWNrcy5zaGlmdCgpO2lmKHR5cGVvZiBjYWxsYmFjaz09ImZ1bmN0aW9uIil7Y2FsbGJhY2soTW9kdWxlKTtjb250aW51ZX12YXIgZnVuYz1jYWxsYmFjay5mdW5jO2lmKHR5cGVvZiBmdW5jPT09Im51bWJlciIpe2lmKGNhbGxiYWNrLmFyZz09PXVuZGVmaW5lZCl7d2FzbVRhYmxlLmdldChmdW5jKSgpfWVsc2V7d2FzbVRhYmxlLmdldChmdW5jKShjYWxsYmFjay5hcmcpfX1lbHNle2Z1bmMoY2FsbGJhY2suYXJnPT09dW5kZWZpbmVkP251bGw6Y2FsbGJhY2suYXJnKX19fXZhciBzdHJ1Y3RSZWdpc3RyYXRpb25zPXt9O2Z1bmN0aW9uIHJ1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKXt3aGlsZShkZXN0cnVjdG9ycy5sZW5ndGgpe3ZhciBwdHI9ZGVzdHJ1Y3RvcnMucG9wKCk7dmFyIGRlbD1kZXN0cnVjdG9ycy5wb3AoKTtkZWwocHRyKX19ZnVuY3Rpb24gc2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIHRoaXNbImZyb21XaXJlVHlwZSJdKEhFQVBVMzJbcG9pbnRlcj4+Ml0pfXZhciBhd2FpdGluZ0RlcGVuZGVuY2llcz17fTt2YXIgcmVnaXN0ZXJlZFR5cGVzPXt9O3ZhciB0eXBlRGVwZW5kZW5jaWVzPXt9O3ZhciBjaGFyXzA9NDg7dmFyIGNoYXJfOT01NztmdW5jdGlvbiBtYWtlTGVnYWxGdW5jdGlvbk5hbWUobmFtZSl7aWYodW5kZWZpbmVkPT09bmFtZSl7cmV0dXJuIl91bmtub3duIn1uYW1lPW5hbWUucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLCIkIik7dmFyIGY9bmFtZS5jaGFyQ29kZUF0KDApO2lmKGY+PWNoYXJfMCYmZjw9Y2hhcl85KXtyZXR1cm4iXyIrbmFtZX1lbHNle3JldHVybiBuYW1lfX1mdW5jdGlvbiBjcmVhdGVOYW1lZEZ1bmN0aW9uKG5hbWUsYm9keSl7bmFtZT1tYWtlTGVnYWxGdW5jdGlvbk5hbWUobmFtZSk7cmV0dXJuIG5ldyBGdW5jdGlvbigiYm9keSIsInJldHVybiBmdW5jdGlvbiAiK25hbWUrIigpIHtcbiIrJyAgICAidXNlIHN0cmljdCI7JysiICAgIHJldHVybiBib2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4iKyJ9O1xuIikoYm9keSl9ZnVuY3Rpb24gZXh0ZW5kRXJyb3IoYmFzZUVycm9yVHlwZSxlcnJvck5hbWUpe3ZhciBlcnJvckNsYXNzPWNyZWF0ZU5hbWVkRnVuY3Rpb24oZXJyb3JOYW1lLGZ1bmN0aW9uKG1lc3NhZ2Upe3RoaXMubmFtZT1lcnJvck5hbWU7dGhpcy5tZXNzYWdlPW1lc3NhZ2U7dmFyIHN0YWNrPW5ldyBFcnJvcihtZXNzYWdlKS5zdGFjaztpZihzdGFjayE9PXVuZGVmaW5lZCl7dGhpcy5zdGFjaz10aGlzLnRvU3RyaW5nKCkrIlxuIitzdGFjay5yZXBsYWNlKC9eRXJyb3IoOlteXG5dKik/XG4vLCIiKX19KTtlcnJvckNsYXNzLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGJhc2VFcnJvclR5cGUucHJvdG90eXBlKTtlcnJvckNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lcnJvckNsYXNzO2Vycm9yQ2xhc3MucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5tZXNzYWdlPT09dW5kZWZpbmVkKXtyZXR1cm4gdGhpcy5uYW1lfWVsc2V7cmV0dXJuIHRoaXMubmFtZSsiOiAiK3RoaXMubWVzc2FnZX19O3JldHVybiBlcnJvckNsYXNzfXZhciBJbnRlcm5hbEVycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiB0aHJvd0ludGVybmFsRXJyb3IobWVzc2FnZSl7dGhyb3cgbmV3IEludGVybmFsRXJyb3IobWVzc2FnZSl9ZnVuY3Rpb24gd2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQobXlUeXBlcyxkZXBlbmRlbnRUeXBlcyxnZXRUeXBlQ29udmVydGVycyl7bXlUeXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUpe3R5cGVEZXBlbmRlbmNpZXNbdHlwZV09ZGVwZW5kZW50VHlwZXN9KTtmdW5jdGlvbiBvbkNvbXBsZXRlKHR5cGVDb252ZXJ0ZXJzKXt2YXIgbXlUeXBlQ29udmVydGVycz1nZXRUeXBlQ29udmVydGVycyh0eXBlQ29udmVydGVycyk7aWYobXlUeXBlQ29udmVydGVycy5sZW5ndGghPT1teVR5cGVzLmxlbmd0aCl7dGhyb3dJbnRlcm5hbEVycm9yKCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50Iil9Zm9yKHZhciBpPTA7aTxteVR5cGVzLmxlbmd0aDsrK2kpe3JlZ2lzdGVyVHlwZShteVR5cGVzW2ldLG15VHlwZUNvbnZlcnRlcnNbaV0pfX12YXIgdHlwZUNvbnZlcnRlcnM9bmV3IEFycmF5KGRlcGVuZGVudFR5cGVzLmxlbmd0aCk7dmFyIHVucmVnaXN0ZXJlZFR5cGVzPVtdO3ZhciByZWdpc3RlcmVkPTA7ZGVwZW5kZW50VHlwZXMuZm9yRWFjaChmdW5jdGlvbihkdCxpKXtpZihyZWdpc3RlcmVkVHlwZXMuaGFzT3duUHJvcGVydHkoZHQpKXt0eXBlQ29udmVydGVyc1tpXT1yZWdpc3RlcmVkVHlwZXNbZHRdfWVsc2V7dW5yZWdpc3RlcmVkVHlwZXMucHVzaChkdCk7aWYoIWF3YWl0aW5nRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KGR0KSl7YXdhaXRpbmdEZXBlbmRlbmNpZXNbZHRdPVtdfWF3YWl0aW5nRGVwZW5kZW5jaWVzW2R0XS5wdXNoKGZ1bmN0aW9uKCl7dHlwZUNvbnZlcnRlcnNbaV09cmVnaXN0ZXJlZFR5cGVzW2R0XTsrK3JlZ2lzdGVyZWQ7aWYocmVnaXN0ZXJlZD09PXVucmVnaXN0ZXJlZFR5cGVzLmxlbmd0aCl7b25Db21wbGV0ZSh0eXBlQ29udmVydGVycyl9fSl9fSk7aWYoMD09PXVucmVnaXN0ZXJlZFR5cGVzLmxlbmd0aCl7b25Db21wbGV0ZSh0eXBlQ29udmVydGVycyl9fWZ1bmN0aW9uIF9fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdChzdHJ1Y3RUeXBlKXt2YXIgcmVnPXN0cnVjdFJlZ2lzdHJhdGlvbnNbc3RydWN0VHlwZV07ZGVsZXRlIHN0cnVjdFJlZ2lzdHJhdGlvbnNbc3RydWN0VHlwZV07dmFyIHJhd0NvbnN0cnVjdG9yPXJlZy5yYXdDb25zdHJ1Y3Rvcjt2YXIgcmF3RGVzdHJ1Y3Rvcj1yZWcucmF3RGVzdHJ1Y3Rvcjt2YXIgZmllbGRSZWNvcmRzPXJlZy5maWVsZHM7dmFyIGZpZWxkVHlwZXM9ZmllbGRSZWNvcmRzLm1hcChmdW5jdGlvbihmaWVsZCl7cmV0dXJuIGZpZWxkLmdldHRlclJldHVyblR5cGV9KS5jb25jYXQoZmllbGRSZWNvcmRzLm1hcChmdW5jdGlvbihmaWVsZCl7cmV0dXJuIGZpZWxkLnNldHRlckFyZ3VtZW50VHlwZX0pKTt3aGVuRGVwZW5kZW50VHlwZXNBcmVSZXNvbHZlZChbc3RydWN0VHlwZV0sZmllbGRUeXBlcyxmdW5jdGlvbihmaWVsZFR5cGVzKXt2YXIgZmllbGRzPXt9O2ZpZWxkUmVjb3Jkcy5mb3JFYWNoKGZ1bmN0aW9uKGZpZWxkLGkpe3ZhciBmaWVsZE5hbWU9ZmllbGQuZmllbGROYW1lO3ZhciBnZXR0ZXJSZXR1cm5UeXBlPWZpZWxkVHlwZXNbaV07dmFyIGdldHRlcj1maWVsZC5nZXR0ZXI7dmFyIGdldHRlckNvbnRleHQ9ZmllbGQuZ2V0dGVyQ29udGV4dDt2YXIgc2V0dGVyQXJndW1lbnRUeXBlPWZpZWxkVHlwZXNbaStmaWVsZFJlY29yZHMubGVuZ3RoXTt2YXIgc2V0dGVyPWZpZWxkLnNldHRlcjt2YXIgc2V0dGVyQ29udGV4dD1maWVsZC5zZXR0ZXJDb250ZXh0O2ZpZWxkc1tmaWVsZE5hbWVdPXtyZWFkOmZ1bmN0aW9uKHB0cil7cmV0dXJuIGdldHRlclJldHVyblR5cGVbImZyb21XaXJlVHlwZSJdKGdldHRlcihnZXR0ZXJDb250ZXh0LHB0cikpfSx3cml0ZTpmdW5jdGlvbihwdHIsbyl7dmFyIGRlc3RydWN0b3JzPVtdO3NldHRlcihzZXR0ZXJDb250ZXh0LHB0cixzZXR0ZXJBcmd1bWVudFR5cGVbInRvV2lyZVR5cGUiXShkZXN0cnVjdG9ycyxvKSk7cnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpfX19KTtyZXR1cm5be25hbWU6cmVnLm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24ocHRyKXt2YXIgcnY9e307Zm9yKHZhciBpIGluIGZpZWxkcyl7cnZbaV09ZmllbGRzW2ldLnJlYWQocHRyKX1yYXdEZXN0cnVjdG9yKHB0cik7cmV0dXJuIHJ2fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsbyl7Zm9yKHZhciBmaWVsZE5hbWUgaW4gZmllbGRzKXtpZighKGZpZWxkTmFtZSBpbiBvKSl7dGhyb3cgbmV3IFR5cGVFcnJvcignTWlzc2luZyBmaWVsZDogICInK2ZpZWxkTmFtZSsnIicpfX12YXIgcHRyPXJhd0NvbnN0cnVjdG9yKCk7Zm9yKGZpZWxkTmFtZSBpbiBmaWVsZHMpe2ZpZWxkc1tmaWVsZE5hbWVdLndyaXRlKHB0cixvW2ZpZWxkTmFtZV0pfWlmKGRlc3RydWN0b3JzIT09bnVsbCl7ZGVzdHJ1Y3RvcnMucHVzaChyYXdEZXN0cnVjdG9yLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOnJhd0Rlc3RydWN0b3J9XX0pfWZ1bmN0aW9uIGdldFNoaWZ0RnJvbVNpemUoc2l6ZSl7c3dpdGNoKHNpemUpe2Nhc2UgMTpyZXR1cm4gMDtjYXNlIDI6cmV0dXJuIDE7Y2FzZSA0OnJldHVybiAyO2Nhc2UgODpyZXR1cm4gMztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gdHlwZSBzaXplOiAiK3NpemUpfX1mdW5jdGlvbiBlbWJpbmRfaW5pdF9jaGFyQ29kZXMoKXt2YXIgY29kZXM9bmV3IEFycmF5KDI1Nik7Zm9yKHZhciBpPTA7aTwyNTY7KytpKXtjb2Rlc1tpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfWVtYmluZF9jaGFyQ29kZXM9Y29kZXN9dmFyIGVtYmluZF9jaGFyQ29kZXM9dW5kZWZpbmVkO2Z1bmN0aW9uIHJlYWRMYXRpbjFTdHJpbmcocHRyKXt2YXIgcmV0PSIiO3ZhciBjPXB0cjt3aGlsZShIRUFQVThbY10pe3JldCs9ZW1iaW5kX2NoYXJDb2Rlc1tIRUFQVThbYysrXV19cmV0dXJuIHJldH12YXIgQmluZGluZ0Vycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiB0aHJvd0JpbmRpbmdFcnJvcihtZXNzYWdlKXt0aHJvdyBuZXcgQmluZGluZ0Vycm9yKG1lc3NhZ2UpfWZ1bmN0aW9uIHJlZ2lzdGVyVHlwZShyYXdUeXBlLHJlZ2lzdGVyZWRJbnN0YW5jZSxvcHRpb25zKXtvcHRpb25zPW9wdGlvbnN8fHt9O2lmKCEoImFyZ1BhY2tBZHZhbmNlImluIHJlZ2lzdGVyZWRJbnN0YW5jZSkpe3Rocm93IG5ldyBUeXBlRXJyb3IoInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2UiKX12YXIgbmFtZT1yZWdpc3RlcmVkSW5zdGFuY2UubmFtZTtpZighcmF3VHlwZSl7dGhyb3dCaW5kaW5nRXJyb3IoJ3R5cGUgIicrbmFtZSsnIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyl9aWYocmVnaXN0ZXJlZFR5cGVzLmhhc093blByb3BlcnR5KHJhd1R5cGUpKXtpZihvcHRpb25zLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpe3JldHVybn1lbHNle3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnIituYW1lKyInIHR3aWNlIil9fXJlZ2lzdGVyZWRUeXBlc1tyYXdUeXBlXT1yZWdpc3RlcmVkSW5zdGFuY2U7ZGVsZXRlIHR5cGVEZXBlbmRlbmNpZXNbcmF3VHlwZV07aWYoYXdhaXRpbmdEZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocmF3VHlwZSkpe3ZhciBjYWxsYmFja3M9YXdhaXRpbmdEZXBlbmRlbmNpZXNbcmF3VHlwZV07ZGVsZXRlIGF3YWl0aW5nRGVwZW5kZW5jaWVzW3Jhd1R5cGVdO2NhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKGNiKXtjYigpfSl9fWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2Jvb2wocmF3VHlwZSxuYW1lLHNpemUsdHJ1ZVZhbHVlLGZhbHNlVmFsdWUpe3ZhciBzaGlmdD1nZXRTaGlmdEZyb21TaXplKHNpemUpO25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKHd0KXtyZXR1cm4hIXd0fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsbyl7cmV0dXJuIG8/dHJ1ZVZhbHVlOmZhbHNlVmFsdWV9LCJhcmdQYWNrQWR2YW5jZSI6OCwicmVhZFZhbHVlRnJvbVBvaW50ZXIiOmZ1bmN0aW9uKHBvaW50ZXIpe3ZhciBoZWFwO2lmKHNpemU9PT0xKXtoZWFwPUhFQVA4fWVsc2UgaWYoc2l6ZT09PTIpe2hlYXA9SEVBUDE2fWVsc2UgaWYoc2l6ZT09PTQpe2hlYXA9SEVBUDMyfWVsc2V7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogIituYW1lKX1yZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oaGVhcFtwb2ludGVyPj5zaGlmdF0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIENsYXNzSGFuZGxlX2lzQWxpYXNPZihvdGhlcil7aWYoISh0aGlzIGluc3RhbmNlb2YgQ2xhc3NIYW5kbGUpKXtyZXR1cm4gZmFsc2V9aWYoIShvdGhlciBpbnN0YW5jZW9mIENsYXNzSGFuZGxlKSl7cmV0dXJuIGZhbHNlfXZhciBsZWZ0Q2xhc3M9dGhpcy4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgbGVmdD10aGlzLiQkLnB0cjt2YXIgcmlnaHRDbGFzcz1vdGhlci4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcmlnaHQ9b3RoZXIuJCQucHRyO3doaWxlKGxlZnRDbGFzcy5iYXNlQ2xhc3Mpe2xlZnQ9bGVmdENsYXNzLnVwY2FzdChsZWZ0KTtsZWZ0Q2xhc3M9bGVmdENsYXNzLmJhc2VDbGFzc313aGlsZShyaWdodENsYXNzLmJhc2VDbGFzcyl7cmlnaHQ9cmlnaHRDbGFzcy51cGNhc3QocmlnaHQpO3JpZ2h0Q2xhc3M9cmlnaHRDbGFzcy5iYXNlQ2xhc3N9cmV0dXJuIGxlZnRDbGFzcz09PXJpZ2h0Q2xhc3MmJmxlZnQ9PT1yaWdodH1mdW5jdGlvbiBzaGFsbG93Q29weUludGVybmFsUG9pbnRlcihvKXtyZXR1cm57Y291bnQ6by5jb3VudCxkZWxldGVTY2hlZHVsZWQ6by5kZWxldGVTY2hlZHVsZWQscHJlc2VydmVQb2ludGVyT25EZWxldGU6by5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSxwdHI6by5wdHIscHRyVHlwZTpvLnB0clR5cGUsc21hcnRQdHI6by5zbWFydFB0cixzbWFydFB0clR5cGU6by5zbWFydFB0clR5cGV9fWZ1bmN0aW9uIHRocm93SW5zdGFuY2VBbHJlYWR5RGVsZXRlZChvYmope2Z1bmN0aW9uIGdldEluc3RhbmNlVHlwZU5hbWUoaGFuZGxlKXtyZXR1cm4gaGFuZGxlLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLm5hbWV9dGhyb3dCaW5kaW5nRXJyb3IoZ2V0SW5zdGFuY2VUeXBlTmFtZShvYmopKyIgaW5zdGFuY2UgYWxyZWFkeSBkZWxldGVkIil9dmFyIGZpbmFsaXphdGlvbkdyb3VwPWZhbHNlO2Z1bmN0aW9uIGRldGFjaEZpbmFsaXplcihoYW5kbGUpe31mdW5jdGlvbiBydW5EZXN0cnVjdG9yKCQkKXtpZigkJC5zbWFydFB0cil7JCQuc21hcnRQdHJUeXBlLnJhd0Rlc3RydWN0b3IoJCQuc21hcnRQdHIpfWVsc2V7JCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MucmF3RGVzdHJ1Y3RvcigkJC5wdHIpfX1mdW5jdGlvbiByZWxlYXNlQ2xhc3NIYW5kbGUoJCQpeyQkLmNvdW50LnZhbHVlLT0xO3ZhciB0b0RlbGV0ZT0wPT09JCQuY291bnQudmFsdWU7aWYodG9EZWxldGUpe3J1bkRlc3RydWN0b3IoJCQpfX1mdW5jdGlvbiBhdHRhY2hGaW5hbGl6ZXIoaGFuZGxlKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBGaW5hbGl6YXRpb25Hcm91cCl7YXR0YWNoRmluYWxpemVyPWZ1bmN0aW9uKGhhbmRsZSl7cmV0dXJuIGhhbmRsZX07cmV0dXJuIGhhbmRsZX1maW5hbGl6YXRpb25Hcm91cD1uZXcgRmluYWxpemF0aW9uR3JvdXAoZnVuY3Rpb24oaXRlcil7Zm9yKHZhciByZXN1bHQ9aXRlci5uZXh0KCk7IXJlc3VsdC5kb25lO3Jlc3VsdD1pdGVyLm5leHQoKSl7dmFyICQkPXJlc3VsdC52YWx1ZTtpZighJCQucHRyKXtjb25zb2xlLndhcm4oIm9iamVjdCBhbHJlYWR5IGRlbGV0ZWQ6ICIrJCQucHRyKX1lbHNle3JlbGVhc2VDbGFzc0hhbmRsZSgkJCl9fX0pO2F0dGFjaEZpbmFsaXplcj1mdW5jdGlvbihoYW5kbGUpe2ZpbmFsaXphdGlvbkdyb3VwLnJlZ2lzdGVyKGhhbmRsZSxoYW5kbGUuJCQsaGFuZGxlLiQkKTtyZXR1cm4gaGFuZGxlfTtkZXRhY2hGaW5hbGl6ZXI9ZnVuY3Rpb24oaGFuZGxlKXtmaW5hbGl6YXRpb25Hcm91cC51bnJlZ2lzdGVyKGhhbmRsZS4kJCl9O3JldHVybiBhdHRhY2hGaW5hbGl6ZXIoaGFuZGxlKX1mdW5jdGlvbiBDbGFzc0hhbmRsZV9jbG9uZSgpe2lmKCF0aGlzLiQkLnB0cil7dGhyb3dJbnN0YW5jZUFscmVhZHlEZWxldGVkKHRoaXMpfWlmKHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUpe3RoaXMuJCQuY291bnQudmFsdWUrPTE7cmV0dXJuIHRoaXN9ZWxzZXt2YXIgY2xvbmU9YXR0YWNoRmluYWxpemVyKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLHskJDp7dmFsdWU6c2hhbGxvd0NvcHlJbnRlcm5hbFBvaW50ZXIodGhpcy4kJCl9fSkpO2Nsb25lLiQkLmNvdW50LnZhbHVlKz0xO2Nsb25lLiQkLmRlbGV0ZVNjaGVkdWxlZD1mYWxzZTtyZXR1cm4gY2xvbmV9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2RlbGV0ZSgpe2lmKCF0aGlzLiQkLnB0cil7dGhyb3dJbnN0YW5jZUFscmVhZHlEZWxldGVkKHRoaXMpfWlmKHRoaXMuJCQuZGVsZXRlU2NoZWR1bGVkJiYhdGhpcy4kJC5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSl7dGhyb3dCaW5kaW5nRXJyb3IoIk9iamVjdCBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgZGVsZXRpb24iKX1kZXRhY2hGaW5hbGl6ZXIodGhpcyk7cmVsZWFzZUNsYXNzSGFuZGxlKHRoaXMuJCQpO2lmKCF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlKXt0aGlzLiQkLnNtYXJ0UHRyPXVuZGVmaW5lZDt0aGlzLiQkLnB0cj11bmRlZmluZWR9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2lzRGVsZXRlZCgpe3JldHVybiF0aGlzLiQkLnB0cn12YXIgZGVsYXlGdW5jdGlvbj11bmRlZmluZWQ7dmFyIGRlbGV0aW9uUXVldWU9W107ZnVuY3Rpb24gZmx1c2hQZW5kaW5nRGVsZXRlcygpe3doaWxlKGRlbGV0aW9uUXVldWUubGVuZ3RoKXt2YXIgb2JqPWRlbGV0aW9uUXVldWUucG9wKCk7b2JqLiQkLmRlbGV0ZVNjaGVkdWxlZD1mYWxzZTtvYmpbImRlbGV0ZSJdKCl9fWZ1bmN0aW9uIENsYXNzSGFuZGxlX2RlbGV0ZUxhdGVyKCl7aWYoIXRoaXMuJCQucHRyKXt0aHJvd0luc3RhbmNlQWxyZWFkeURlbGV0ZWQodGhpcyl9aWYodGhpcy4kJC5kZWxldGVTY2hlZHVsZWQmJiF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlKXt0aHJvd0JpbmRpbmdFcnJvcigiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpfWRlbGV0aW9uUXVldWUucHVzaCh0aGlzKTtpZihkZWxldGlvblF1ZXVlLmxlbmd0aD09PTEmJmRlbGF5RnVuY3Rpb24pe2RlbGF5RnVuY3Rpb24oZmx1c2hQZW5kaW5nRGVsZXRlcyl9dGhpcy4kJC5kZWxldGVTY2hlZHVsZWQ9dHJ1ZTtyZXR1cm4gdGhpc31mdW5jdGlvbiBpbml0X0NsYXNzSGFuZGxlKCl7Q2xhc3NIYW5kbGUucHJvdG90eXBlWyJpc0FsaWFzT2YiXT1DbGFzc0hhbmRsZV9pc0FsaWFzT2Y7Q2xhc3NIYW5kbGUucHJvdG90eXBlWyJjbG9uZSJdPUNsYXNzSGFuZGxlX2Nsb25lO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiZGVsZXRlIl09Q2xhc3NIYW5kbGVfZGVsZXRlO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiaXNEZWxldGVkIl09Q2xhc3NIYW5kbGVfaXNEZWxldGVkO0NsYXNzSGFuZGxlLnByb3RvdHlwZVsiZGVsZXRlTGF0ZXIiXT1DbGFzc0hhbmRsZV9kZWxldGVMYXRlcn1mdW5jdGlvbiBDbGFzc0hhbmRsZSgpe312YXIgcmVnaXN0ZXJlZFBvaW50ZXJzPXt9O2Z1bmN0aW9uIGVuc3VyZU92ZXJsb2FkVGFibGUocHJvdG8sbWV0aG9kTmFtZSxodW1hbk5hbWUpe2lmKHVuZGVmaW5lZD09PXByb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGUpe3ZhciBwcmV2RnVuYz1wcm90b1ttZXRob2ROYW1lXTtwcm90b1ttZXRob2ROYW1lXT1mdW5jdGlvbigpe2lmKCFwcm90b1ttZXRob2ROYW1lXS5vdmVybG9hZFRhYmxlLmhhc093blByb3BlcnR5KGFyZ3VtZW50cy5sZW5ndGgpKXt0aHJvd0JpbmRpbmdFcnJvcigiRnVuY3Rpb24gJyIraHVtYW5OYW1lKyInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIithcmd1bWVudHMubGVuZ3RoKyIpIC0gZXhwZWN0cyBvbmUgb2YgKCIrcHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZSsiKSEiKX1yZXR1cm4gcHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZVthcmd1bWVudHMubGVuZ3RoXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3Byb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGU9W107cHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZVtwcmV2RnVuYy5hcmdDb3VudF09cHJldkZ1bmN9fWZ1bmN0aW9uIGV4cG9zZVB1YmxpY1N5bWJvbChuYW1lLHZhbHVlLG51bUFyZ3VtZW50cyl7aWYoTW9kdWxlLmhhc093blByb3BlcnR5KG5hbWUpKXtpZih1bmRlZmluZWQ9PT1udW1Bcmd1bWVudHN8fHVuZGVmaW5lZCE9PU1vZHVsZVtuYW1lXS5vdmVybG9hZFRhYmxlJiZ1bmRlZmluZWQhPT1Nb2R1bGVbbmFtZV0ub3ZlcmxvYWRUYWJsZVtudW1Bcmd1bWVudHNdKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHJlZ2lzdGVyIHB1YmxpYyBuYW1lICciK25hbWUrIicgdHdpY2UiKX1lbnN1cmVPdmVybG9hZFRhYmxlKE1vZHVsZSxuYW1lLG5hbWUpO2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShudW1Bcmd1bWVudHMpKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoIitudW1Bcmd1bWVudHMrIikhIil9TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGVbbnVtQXJndW1lbnRzXT12YWx1ZX1lbHNle01vZHVsZVtuYW1lXT12YWx1ZTtpZih1bmRlZmluZWQhPT1udW1Bcmd1bWVudHMpe01vZHVsZVtuYW1lXS5udW1Bcmd1bWVudHM9bnVtQXJndW1lbnRzfX19ZnVuY3Rpb24gUmVnaXN0ZXJlZENsYXNzKG5hbWUsY29uc3RydWN0b3IsaW5zdGFuY2VQcm90b3R5cGUscmF3RGVzdHJ1Y3RvcixiYXNlQ2xhc3MsZ2V0QWN0dWFsVHlwZSx1cGNhc3QsZG93bmNhc3Qpe3RoaXMubmFtZT1uYW1lO3RoaXMuY29uc3RydWN0b3I9Y29uc3RydWN0b3I7dGhpcy5pbnN0YW5jZVByb3RvdHlwZT1pbnN0YW5jZVByb3RvdHlwZTt0aGlzLnJhd0Rlc3RydWN0b3I9cmF3RGVzdHJ1Y3Rvcjt0aGlzLmJhc2VDbGFzcz1iYXNlQ2xhc3M7dGhpcy5nZXRBY3R1YWxUeXBlPWdldEFjdHVhbFR5cGU7dGhpcy51cGNhc3Q9dXBjYXN0O3RoaXMuZG93bmNhc3Q9ZG93bmNhc3Q7dGhpcy5wdXJlVmlydHVhbEZ1bmN0aW9ucz1bXX1mdW5jdGlvbiB1cGNhc3RQb2ludGVyKHB0cixwdHJDbGFzcyxkZXNpcmVkQ2xhc3Mpe3doaWxlKHB0ckNsYXNzIT09ZGVzaXJlZENsYXNzKXtpZighcHRyQ2xhc3MudXBjYXN0KXt0aHJvd0JpbmRpbmdFcnJvcigiRXhwZWN0ZWQgbnVsbCBvciBpbnN0YW5jZSBvZiAiK2Rlc2lyZWRDbGFzcy5uYW1lKyIsIGdvdCBhbiBpbnN0YW5jZSBvZiAiK3B0ckNsYXNzLm5hbWUpfXB0cj1wdHJDbGFzcy51cGNhc3QocHRyKTtwdHJDbGFzcz1wdHJDbGFzcy5iYXNlQ2xhc3N9cmV0dXJuIHB0cn1mdW5jdGlvbiBjb25zdE5vU21hcnRQdHJSYXdQb2ludGVyVG9XaXJlVHlwZShkZXN0cnVjdG9ycyxoYW5kbGUpe2lmKGhhbmRsZT09PW51bGwpe2lmKHRoaXMuaXNSZWZlcmVuY2Upe3Rocm93QmluZGluZ0Vycm9yKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKX1yZXR1cm4gMH1pZighaGFuZGxlLiQkKXt0aHJvd0JpbmRpbmdFcnJvcignQ2Fubm90IHBhc3MgIicrX2VtYmluZF9yZXByKGhhbmRsZSkrJyIgYXMgYSAnK3RoaXMubmFtZSl9aWYoIWhhbmRsZS4kJC5wdHIpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcGFzcyBkZWxldGVkIG9iamVjdCBhcyBhIHBvaW50ZXIgb2YgdHlwZSAiK3RoaXMubmFtZSl9dmFyIGhhbmRsZUNsYXNzPWhhbmRsZS4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcHRyPXVwY2FzdFBvaW50ZXIoaGFuZGxlLiQkLnB0cixoYW5kbGVDbGFzcyx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIHB0cn1mdW5jdGlvbiBnZW5lcmljUG9pbnRlclRvV2lyZVR5cGUoZGVzdHJ1Y3RvcnMsaGFuZGxlKXt2YXIgcHRyO2lmKGhhbmRsZT09PW51bGwpe2lmKHRoaXMuaXNSZWZlcmVuY2Upe3Rocm93QmluZGluZ0Vycm9yKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKX1pZih0aGlzLmlzU21hcnRQb2ludGVyKXtwdHI9dGhpcy5yYXdDb25zdHJ1Y3RvcigpO2lmKGRlc3RydWN0b3JzIT09bnVsbCl7ZGVzdHJ1Y3RvcnMucHVzaCh0aGlzLnJhd0Rlc3RydWN0b3IscHRyKX1yZXR1cm4gcHRyfWVsc2V7cmV0dXJuIDB9fWlmKCFoYW5kbGUuJCQpe3Rocm93QmluZGluZ0Vycm9yKCdDYW5ub3QgcGFzcyAiJytfZW1iaW5kX3JlcHIoaGFuZGxlKSsnIiBhcyBhICcrdGhpcy5uYW1lKX1pZighaGFuZGxlLiQkLnB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKX1pZighdGhpcy5pc0NvbnN0JiZoYW5kbGUuJCQucHRyVHlwZS5pc0NvbnN0KXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiKyhoYW5kbGUuJCQuc21hcnRQdHJUeXBlP2hhbmRsZS4kJC5zbWFydFB0clR5cGUubmFtZTpoYW5kbGUuJCQucHRyVHlwZS5uYW1lKSsiIHRvIHBhcmFtZXRlciB0eXBlICIrdGhpcy5uYW1lKX12YXIgaGFuZGxlQ2xhc3M9aGFuZGxlLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzO3B0cj11cGNhc3RQb2ludGVyKGhhbmRsZS4kJC5wdHIsaGFuZGxlQ2xhc3MsdGhpcy5yZWdpc3RlcmVkQ2xhc3MpO2lmKHRoaXMuaXNTbWFydFBvaW50ZXIpe2lmKHVuZGVmaW5lZD09PWhhbmRsZS4kJC5zbWFydFB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIlBhc3NpbmcgcmF3IHBvaW50ZXIgdG8gc21hcnQgcG9pbnRlciBpcyBpbGxlZ2FsIil9c3dpdGNoKHRoaXMuc2hhcmluZ1BvbGljeSl7Y2FzZSAwOmlmKGhhbmRsZS4kJC5zbWFydFB0clR5cGU9PT10aGlzKXtwdHI9aGFuZGxlLiQkLnNtYXJ0UHRyfWVsc2V7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgIisoaGFuZGxlLiQkLnNtYXJ0UHRyVHlwZT9oYW5kbGUuJCQuc21hcnRQdHJUeXBlLm5hbWU6aGFuZGxlLiQkLnB0clR5cGUubmFtZSkrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSl9YnJlYWs7Y2FzZSAxOnB0cj1oYW5kbGUuJCQuc21hcnRQdHI7YnJlYWs7Y2FzZSAyOmlmKGhhbmRsZS4kJC5zbWFydFB0clR5cGU9PT10aGlzKXtwdHI9aGFuZGxlLiQkLnNtYXJ0UHRyfWVsc2V7dmFyIGNsb25lZEhhbmRsZT1oYW5kbGVbImNsb25lIl0oKTtwdHI9dGhpcy5yYXdTaGFyZShwdHIsX19lbXZhbF9yZWdpc3RlcihmdW5jdGlvbigpe2Nsb25lZEhhbmRsZVsiZGVsZXRlIl0oKX0pKTtpZihkZXN0cnVjdG9ycyE9PW51bGwpe2Rlc3RydWN0b3JzLnB1c2godGhpcy5yYXdEZXN0cnVjdG9yLHB0cil9fWJyZWFrO2RlZmF1bHQ6dGhyb3dCaW5kaW5nRXJyb3IoIlVuc3VwcG9ydGluZyBzaGFyaW5nIHBvbGljeSIpfX1yZXR1cm4gcHRyfWZ1bmN0aW9uIG5vbkNvbnN0Tm9TbWFydFB0clJhd1BvaW50ZXJUb1dpcmVUeXBlKGRlc3RydWN0b3JzLGhhbmRsZSl7aWYoaGFuZGxlPT09bnVsbCl7aWYodGhpcy5pc1JlZmVyZW5jZSl7dGhyb3dCaW5kaW5nRXJyb3IoIm51bGwgaXMgbm90IGEgdmFsaWQgIit0aGlzLm5hbWUpfXJldHVybiAwfWlmKCFoYW5kbGUuJCQpe3Rocm93QmluZGluZ0Vycm9yKCdDYW5ub3QgcGFzcyAiJytfZW1iaW5kX3JlcHIoaGFuZGxlKSsnIiBhcyBhICcrdGhpcy5uYW1lKX1pZighaGFuZGxlLiQkLnB0cil7dGhyb3dCaW5kaW5nRXJyb3IoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKX1pZihoYW5kbGUuJCQucHRyVHlwZS5pc0NvbnN0KXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiK2hhbmRsZS4kJC5wdHJUeXBlLm5hbWUrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSl9dmFyIGhhbmRsZUNsYXNzPWhhbmRsZS4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzczt2YXIgcHRyPXVwY2FzdFBvaW50ZXIoaGFuZGxlLiQkLnB0cixoYW5kbGVDbGFzcyx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIHB0cn1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcl9nZXRQb2ludGVlKHB0cil7aWYodGhpcy5yYXdHZXRQb2ludGVlKXtwdHI9dGhpcy5yYXdHZXRQb2ludGVlKHB0cil9cmV0dXJuIHB0cn1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcl9kZXN0cnVjdG9yKHB0cil7aWYodGhpcy5yYXdEZXN0cnVjdG9yKXt0aGlzLnJhd0Rlc3RydWN0b3IocHRyKX19ZnVuY3Rpb24gUmVnaXN0ZXJlZFBvaW50ZXJfZGVsZXRlT2JqZWN0KGhhbmRsZSl7aWYoaGFuZGxlIT09bnVsbCl7aGFuZGxlWyJkZWxldGUiXSgpfX1mdW5jdGlvbiBkb3duY2FzdFBvaW50ZXIocHRyLHB0ckNsYXNzLGRlc2lyZWRDbGFzcyl7aWYocHRyQ2xhc3M9PT1kZXNpcmVkQ2xhc3Mpe3JldHVybiBwdHJ9aWYodW5kZWZpbmVkPT09ZGVzaXJlZENsYXNzLmJhc2VDbGFzcyl7cmV0dXJuIG51bGx9dmFyIHJ2PWRvd25jYXN0UG9pbnRlcihwdHIscHRyQ2xhc3MsZGVzaXJlZENsYXNzLmJhc2VDbGFzcyk7aWYocnY9PT1udWxsKXtyZXR1cm4gbnVsbH1yZXR1cm4gZGVzaXJlZENsYXNzLmRvd25jYXN0KHJ2KX1mdW5jdGlvbiBnZXRJbmhlcml0ZWRJbnN0YW5jZUNvdW50KCl7cmV0dXJuIE9iamVjdC5rZXlzKHJlZ2lzdGVyZWRJbnN0YW5jZXMpLmxlbmd0aH1mdW5jdGlvbiBnZXRMaXZlSW5oZXJpdGVkSW5zdGFuY2VzKCl7dmFyIHJ2PVtdO2Zvcih2YXIgayBpbiByZWdpc3RlcmVkSW5zdGFuY2VzKXtpZihyZWdpc3RlcmVkSW5zdGFuY2VzLmhhc093blByb3BlcnR5KGspKXtydi5wdXNoKHJlZ2lzdGVyZWRJbnN0YW5jZXNba10pfX1yZXR1cm4gcnZ9ZnVuY3Rpb24gc2V0RGVsYXlGdW5jdGlvbihmbil7ZGVsYXlGdW5jdGlvbj1mbjtpZihkZWxldGlvblF1ZXVlLmxlbmd0aCYmZGVsYXlGdW5jdGlvbil7ZGVsYXlGdW5jdGlvbihmbHVzaFBlbmRpbmdEZWxldGVzKX19ZnVuY3Rpb24gaW5pdF9lbWJpbmQoKXtNb2R1bGVbImdldEluaGVyaXRlZEluc3RhbmNlQ291bnQiXT1nZXRJbmhlcml0ZWRJbnN0YW5jZUNvdW50O01vZHVsZVsiZ2V0TGl2ZUluaGVyaXRlZEluc3RhbmNlcyJdPWdldExpdmVJbmhlcml0ZWRJbnN0YW5jZXM7TW9kdWxlWyJmbHVzaFBlbmRpbmdEZWxldGVzIl09Zmx1c2hQZW5kaW5nRGVsZXRlcztNb2R1bGVbInNldERlbGF5RnVuY3Rpb24iXT1zZXREZWxheUZ1bmN0aW9ufXZhciByZWdpc3RlcmVkSW5zdGFuY2VzPXt9O2Z1bmN0aW9uIGdldEJhc2VzdFBvaW50ZXIoY2xhc3NfLHB0cil7aWYocHRyPT09dW5kZWZpbmVkKXt0aHJvd0JpbmRpbmdFcnJvcigicHRyIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIil9d2hpbGUoY2xhc3NfLmJhc2VDbGFzcyl7cHRyPWNsYXNzXy51cGNhc3QocHRyKTtjbGFzc189Y2xhc3NfLmJhc2VDbGFzc31yZXR1cm4gcHRyfWZ1bmN0aW9uIGdldEluaGVyaXRlZEluc3RhbmNlKGNsYXNzXyxwdHIpe3B0cj1nZXRCYXNlc3RQb2ludGVyKGNsYXNzXyxwdHIpO3JldHVybiByZWdpc3RlcmVkSW5zdGFuY2VzW3B0cl19ZnVuY3Rpb24gbWFrZUNsYXNzSGFuZGxlKHByb3RvdHlwZSxyZWNvcmQpe2lmKCFyZWNvcmQucHRyVHlwZXx8IXJlY29yZC5wdHIpe3Rocm93SW50ZXJuYWxFcnJvcigibWFrZUNsYXNzSGFuZGxlIHJlcXVpcmVzIHB0ciBhbmQgcHRyVHlwZSIpfXZhciBoYXNTbWFydFB0clR5cGU9ISFyZWNvcmQuc21hcnRQdHJUeXBlO3ZhciBoYXNTbWFydFB0cj0hIXJlY29yZC5zbWFydFB0cjtpZihoYXNTbWFydFB0clR5cGUhPT1oYXNTbWFydFB0cil7dGhyb3dJbnRlcm5hbEVycm9yKCJCb3RoIHNtYXJ0UHRyVHlwZSBhbmQgc21hcnRQdHIgbXVzdCBiZSBzcGVjaWZpZWQiKX1yZWNvcmQuY291bnQ9e3ZhbHVlOjF9O3JldHVybiBhdHRhY2hGaW5hbGl6ZXIoT2JqZWN0LmNyZWF0ZShwcm90b3R5cGUseyQkOnt2YWx1ZTpyZWNvcmR9fSkpfWZ1bmN0aW9uIFJlZ2lzdGVyZWRQb2ludGVyX2Zyb21XaXJlVHlwZShwdHIpe3ZhciByYXdQb2ludGVyPXRoaXMuZ2V0UG9pbnRlZShwdHIpO2lmKCFyYXdQb2ludGVyKXt0aGlzLmRlc3RydWN0b3IocHRyKTtyZXR1cm4gbnVsbH12YXIgcmVnaXN0ZXJlZEluc3RhbmNlPWdldEluaGVyaXRlZEluc3RhbmNlKHRoaXMucmVnaXN0ZXJlZENsYXNzLHJhd1BvaW50ZXIpO2lmKHVuZGVmaW5lZCE9PXJlZ2lzdGVyZWRJbnN0YW5jZSl7aWYoMD09PXJlZ2lzdGVyZWRJbnN0YW5jZS4kJC5jb3VudC52YWx1ZSl7cmVnaXN0ZXJlZEluc3RhbmNlLiQkLnB0cj1yYXdQb2ludGVyO3JlZ2lzdGVyZWRJbnN0YW5jZS4kJC5zbWFydFB0cj1wdHI7cmV0dXJuIHJlZ2lzdGVyZWRJbnN0YW5jZVsiY2xvbmUiXSgpfWVsc2V7dmFyIHJ2PXJlZ2lzdGVyZWRJbnN0YW5jZVsiY2xvbmUiXSgpO3RoaXMuZGVzdHJ1Y3RvcihwdHIpO3JldHVybiBydn19ZnVuY3Rpb24gbWFrZURlZmF1bHRIYW5kbGUoKXtpZih0aGlzLmlzU21hcnRQb2ludGVyKXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMucG9pbnRlZVR5cGUscHRyOnJhd1BvaW50ZXIsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6cHRyfSl9ZWxzZXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMscHRyOnB0cn0pfX12YXIgYWN0dWFsVHlwZT10aGlzLnJlZ2lzdGVyZWRDbGFzcy5nZXRBY3R1YWxUeXBlKHJhd1BvaW50ZXIpO3ZhciByZWdpc3RlcmVkUG9pbnRlclJlY29yZD1yZWdpc3RlcmVkUG9pbnRlcnNbYWN0dWFsVHlwZV07aWYoIXJlZ2lzdGVyZWRQb2ludGVyUmVjb3JkKXtyZXR1cm4gbWFrZURlZmF1bHRIYW5kbGUuY2FsbCh0aGlzKX12YXIgdG9UeXBlO2lmKHRoaXMuaXNDb25zdCl7dG9UeXBlPXJlZ2lzdGVyZWRQb2ludGVyUmVjb3JkLmNvbnN0UG9pbnRlclR5cGV9ZWxzZXt0b1R5cGU9cmVnaXN0ZXJlZFBvaW50ZXJSZWNvcmQucG9pbnRlclR5cGV9dmFyIGRwPWRvd25jYXN0UG9pbnRlcihyYXdQb2ludGVyLHRoaXMucmVnaXN0ZXJlZENsYXNzLHRvVHlwZS5yZWdpc3RlcmVkQ2xhc3MpO2lmKGRwPT09bnVsbCl7cmV0dXJuIG1ha2VEZWZhdWx0SGFuZGxlLmNhbGwodGhpcyl9aWYodGhpcy5pc1NtYXJ0UG9pbnRlcil7cmV0dXJuIG1ha2VDbGFzc0hhbmRsZSh0b1R5cGUucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRvVHlwZSxwdHI6ZHAsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6cHRyfSl9ZWxzZXtyZXR1cm4gbWFrZUNsYXNzSGFuZGxlKHRvVHlwZS5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUse3B0clR5cGU6dG9UeXBlLHB0cjpkcH0pfX1mdW5jdGlvbiBpbml0X1JlZ2lzdGVyZWRQb2ludGVyKCl7UmVnaXN0ZXJlZFBvaW50ZXIucHJvdG90eXBlLmdldFBvaW50ZWU9UmVnaXN0ZXJlZFBvaW50ZXJfZ2V0UG9pbnRlZTtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGUuZGVzdHJ1Y3Rvcj1SZWdpc3RlcmVkUG9pbnRlcl9kZXN0cnVjdG9yO1JlZ2lzdGVyZWRQb2ludGVyLnByb3RvdHlwZVsiYXJnUGFja0FkdmFuY2UiXT04O1JlZ2lzdGVyZWRQb2ludGVyLnByb3RvdHlwZVsicmVhZFZhbHVlRnJvbVBvaW50ZXIiXT1zaW1wbGVSZWFkVmFsdWVGcm9tUG9pbnRlcjtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGVbImRlbGV0ZU9iamVjdCJdPVJlZ2lzdGVyZWRQb2ludGVyX2RlbGV0ZU9iamVjdDtSZWdpc3RlcmVkUG9pbnRlci5wcm90b3R5cGVbImZyb21XaXJlVHlwZSJdPVJlZ2lzdGVyZWRQb2ludGVyX2Zyb21XaXJlVHlwZX1mdW5jdGlvbiBSZWdpc3RlcmVkUG9pbnRlcihuYW1lLHJlZ2lzdGVyZWRDbGFzcyxpc1JlZmVyZW5jZSxpc0NvbnN0LGlzU21hcnRQb2ludGVyLHBvaW50ZWVUeXBlLHNoYXJpbmdQb2xpY3kscmF3R2V0UG9pbnRlZSxyYXdDb25zdHJ1Y3RvcixyYXdTaGFyZSxyYXdEZXN0cnVjdG9yKXt0aGlzLm5hbWU9bmFtZTt0aGlzLnJlZ2lzdGVyZWRDbGFzcz1yZWdpc3RlcmVkQ2xhc3M7dGhpcy5pc1JlZmVyZW5jZT1pc1JlZmVyZW5jZTt0aGlzLmlzQ29uc3Q9aXNDb25zdDt0aGlzLmlzU21hcnRQb2ludGVyPWlzU21hcnRQb2ludGVyO3RoaXMucG9pbnRlZVR5cGU9cG9pbnRlZVR5cGU7dGhpcy5zaGFyaW5nUG9saWN5PXNoYXJpbmdQb2xpY3k7dGhpcy5yYXdHZXRQb2ludGVlPXJhd0dldFBvaW50ZWU7dGhpcy5yYXdDb25zdHJ1Y3Rvcj1yYXdDb25zdHJ1Y3Rvcjt0aGlzLnJhd1NoYXJlPXJhd1NoYXJlO3RoaXMucmF3RGVzdHJ1Y3Rvcj1yYXdEZXN0cnVjdG9yO2lmKCFpc1NtYXJ0UG9pbnRlciYmcmVnaXN0ZXJlZENsYXNzLmJhc2VDbGFzcz09PXVuZGVmaW5lZCl7aWYoaXNDb25zdCl7dGhpc1sidG9XaXJlVHlwZSJdPWNvbnN0Tm9TbWFydFB0clJhd1BvaW50ZXJUb1dpcmVUeXBlO3RoaXMuZGVzdHJ1Y3RvckZ1bmN0aW9uPW51bGx9ZWxzZXt0aGlzWyJ0b1dpcmVUeXBlIl09bm9uQ29uc3ROb1NtYXJ0UHRyUmF3UG9pbnRlclRvV2lyZVR5cGU7dGhpcy5kZXN0cnVjdG9yRnVuY3Rpb249bnVsbH19ZWxzZXt0aGlzWyJ0b1dpcmVUeXBlIl09Z2VuZXJpY1BvaW50ZXJUb1dpcmVUeXBlfX1mdW5jdGlvbiByZXBsYWNlUHVibGljU3ltYm9sKG5hbWUsdmFsdWUsbnVtQXJndW1lbnRzKXtpZighTW9kdWxlLmhhc093blByb3BlcnR5KG5hbWUpKXt0aHJvd0ludGVybmFsRXJyb3IoIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sIil9aWYodW5kZWZpbmVkIT09TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGUmJnVuZGVmaW5lZCE9PW51bUFyZ3VtZW50cyl7TW9kdWxlW25hbWVdLm92ZXJsb2FkVGFibGVbbnVtQXJndW1lbnRzXT12YWx1ZX1lbHNle01vZHVsZVtuYW1lXT12YWx1ZTtNb2R1bGVbbmFtZV0uYXJnQ291bnQ9bnVtQXJndW1lbnRzfX1mdW5jdGlvbiBkeW5DYWxsTGVnYWN5KHNpZyxwdHIsYXJncyl7aWYoYXJncyYmYXJncy5sZW5ndGgpe3JldHVybiBNb2R1bGVbImR5bkNhbGxfIitzaWddLmFwcGx5KG51bGwsW3B0cl0uY29uY2F0KGFyZ3MpKX1yZXR1cm4gTW9kdWxlWyJkeW5DYWxsXyIrc2lnXS5jYWxsKG51bGwscHRyKX1mdW5jdGlvbiBkeW5DYWxsKHNpZyxwdHIsYXJncyl7aWYoc2lnLmluZGV4T2YoImoiKSE9LTEpe3JldHVybiBkeW5DYWxsTGVnYWN5KHNpZyxwdHIsYXJncyl9cmV0dXJuIHdhc21UYWJsZS5nZXQocHRyKS5hcHBseShudWxsLGFyZ3MpfWZ1bmN0aW9uIGdldER5bkNhbGxlcihzaWcscHRyKXthc3NlcnQoc2lnLmluZGV4T2YoImoiKT49MCwiZ2V0RHluQ2FsbGVyIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aXRoIGk2NCBzaWdzIik7dmFyIGFyZ0NhY2hlPVtdO3JldHVybiBmdW5jdGlvbigpe2FyZ0NhY2hlLmxlbmd0aD1hcmd1bWVudHMubGVuZ3RoO2Zvcih2YXIgaT0wO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspe2FyZ0NhY2hlW2ldPWFyZ3VtZW50c1tpXX1yZXR1cm4gZHluQ2FsbChzaWcscHRyLGFyZ0NhY2hlKX19ZnVuY3Rpb24gZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oc2lnbmF0dXJlLHJhd0Z1bmN0aW9uKXtzaWduYXR1cmU9cmVhZExhdGluMVN0cmluZyhzaWduYXR1cmUpO2Z1bmN0aW9uIG1ha2VEeW5DYWxsZXIoKXtpZihzaWduYXR1cmUuaW5kZXhPZigiaiIpIT0tMSl7cmV0dXJuIGdldER5bkNhbGxlcihzaWduYXR1cmUscmF3RnVuY3Rpb24pfXJldHVybiB3YXNtVGFibGUuZ2V0KHJhd0Z1bmN0aW9uKX12YXIgZnA9bWFrZUR5bkNhbGxlcigpO2lmKHR5cGVvZiBmcCE9PSJmdW5jdGlvbiIpe3Rocm93QmluZGluZ0Vycm9yKCJ1bmtub3duIGZ1bmN0aW9uIHBvaW50ZXIgd2l0aCBzaWduYXR1cmUgIitzaWduYXR1cmUrIjogIityYXdGdW5jdGlvbil9cmV0dXJuIGZwfXZhciBVbmJvdW5kVHlwZUVycm9yPXVuZGVmaW5lZDtmdW5jdGlvbiBnZXRUeXBlTmFtZSh0eXBlKXt2YXIgcHRyPV9fX2dldFR5cGVOYW1lKHR5cGUpO3ZhciBydj1yZWFkTGF0aW4xU3RyaW5nKHB0cik7X2ZyZWUocHRyKTtyZXR1cm4gcnZ9ZnVuY3Rpb24gdGhyb3dVbmJvdW5kVHlwZUVycm9yKG1lc3NhZ2UsdHlwZXMpe3ZhciB1bmJvdW5kVHlwZXM9W107dmFyIHNlZW49e307ZnVuY3Rpb24gdmlzaXQodHlwZSl7aWYoc2Vlblt0eXBlXSl7cmV0dXJufWlmKHJlZ2lzdGVyZWRUeXBlc1t0eXBlXSl7cmV0dXJufWlmKHR5cGVEZXBlbmRlbmNpZXNbdHlwZV0pe3R5cGVEZXBlbmRlbmNpZXNbdHlwZV0uZm9yRWFjaCh2aXNpdCk7cmV0dXJufXVuYm91bmRUeXBlcy5wdXNoKHR5cGUpO3NlZW5bdHlwZV09dHJ1ZX10eXBlcy5mb3JFYWNoKHZpc2l0KTt0aHJvdyBuZXcgVW5ib3VuZFR5cGVFcnJvcihtZXNzYWdlKyI6ICIrdW5ib3VuZFR5cGVzLm1hcChnZXRUeXBlTmFtZSkuam9pbihbIiwgIl0pKX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9jbGFzcyhyYXdUeXBlLHJhd1BvaW50ZXJUeXBlLHJhd0NvbnN0UG9pbnRlclR5cGUsYmFzZUNsYXNzUmF3VHlwZSxnZXRBY3R1YWxUeXBlU2lnbmF0dXJlLGdldEFjdHVhbFR5cGUsdXBjYXN0U2lnbmF0dXJlLHVwY2FzdCxkb3duY2FzdFNpZ25hdHVyZSxkb3duY2FzdCxuYW1lLGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3Rvcil7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO2dldEFjdHVhbFR5cGU9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZ2V0QWN0dWFsVHlwZVNpZ25hdHVyZSxnZXRBY3R1YWxUeXBlKTtpZih1cGNhc3Qpe3VwY2FzdD1lbWJpbmRfX3JlcXVpcmVGdW5jdGlvbih1cGNhc3RTaWduYXR1cmUsdXBjYXN0KX1pZihkb3duY2FzdCl7ZG93bmNhc3Q9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZG93bmNhc3RTaWduYXR1cmUsZG93bmNhc3QpfXJhd0Rlc3RydWN0b3I9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oZGVzdHJ1Y3RvclNpZ25hdHVyZSxyYXdEZXN0cnVjdG9yKTt2YXIgbGVnYWxGdW5jdGlvbk5hbWU9bWFrZUxlZ2FsRnVuY3Rpb25OYW1lKG5hbWUpO2V4cG9zZVB1YmxpY1N5bWJvbChsZWdhbEZ1bmN0aW9uTmFtZSxmdW5jdGlvbigpe3Rocm93VW5ib3VuZFR5cGVFcnJvcigiQ2Fubm90IGNvbnN0cnVjdCAiK25hbWUrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsW2Jhc2VDbGFzc1Jhd1R5cGVdKX0pO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtyYXdUeXBlLHJhd1BvaW50ZXJUeXBlLHJhd0NvbnN0UG9pbnRlclR5cGVdLGJhc2VDbGFzc1Jhd1R5cGU/W2Jhc2VDbGFzc1Jhd1R5cGVdOltdLGZ1bmN0aW9uKGJhc2Upe2Jhc2U9YmFzZVswXTt2YXIgYmFzZUNsYXNzO3ZhciBiYXNlUHJvdG90eXBlO2lmKGJhc2VDbGFzc1Jhd1R5cGUpe2Jhc2VDbGFzcz1iYXNlLnJlZ2lzdGVyZWRDbGFzcztiYXNlUHJvdG90eXBlPWJhc2VDbGFzcy5pbnN0YW5jZVByb3RvdHlwZX1lbHNle2Jhc2VQcm90b3R5cGU9Q2xhc3NIYW5kbGUucHJvdG90eXBlfXZhciBjb25zdHJ1Y3Rvcj1jcmVhdGVOYW1lZEZ1bmN0aW9uKGxlZ2FsRnVuY3Rpb25OYW1lLGZ1bmN0aW9uKCl7aWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpIT09aW5zdGFuY2VQcm90b3R5cGUpe3Rocm93IG5ldyBCaW5kaW5nRXJyb3IoIlVzZSAnbmV3JyB0byBjb25zdHJ1Y3QgIituYW1lKX1pZih1bmRlZmluZWQ9PT1yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keSl7dGhyb3cgbmV3IEJpbmRpbmdFcnJvcihuYW1lKyIgaGFzIG5vIGFjY2Vzc2libGUgY29uc3RydWN0b3IiKX12YXIgYm9keT1yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVthcmd1bWVudHMubGVuZ3RoXTtpZih1bmRlZmluZWQ9PT1ib2R5KXt0aHJvdyBuZXcgQmluZGluZ0Vycm9yKCJUcmllZCB0byBpbnZva2UgY3RvciBvZiAiK25hbWUrIiB3aXRoIGludmFsaWQgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCIrYXJndW1lbnRzLmxlbmd0aCsiKSAtIGV4cGVjdGVkICgiK09iamVjdC5rZXlzKHJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5KS50b1N0cmluZygpKyIpIHBhcmFtZXRlcnMgaW5zdGVhZCEiKX1yZXR1cm4gYm9keS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KTt2YXIgaW5zdGFuY2VQcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShiYXNlUHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6Y29uc3RydWN0b3J9fSk7Y29uc3RydWN0b3IucHJvdG90eXBlPWluc3RhbmNlUHJvdG90eXBlO3ZhciByZWdpc3RlcmVkQ2xhc3M9bmV3IFJlZ2lzdGVyZWRDbGFzcyhuYW1lLGNvbnN0cnVjdG9yLGluc3RhbmNlUHJvdG90eXBlLHJhd0Rlc3RydWN0b3IsYmFzZUNsYXNzLGdldEFjdHVhbFR5cGUsdXBjYXN0LGRvd25jYXN0KTt2YXIgcmVmZXJlbmNlQ29udmVydGVyPW5ldyBSZWdpc3RlcmVkUG9pbnRlcihuYW1lLHJlZ2lzdGVyZWRDbGFzcyx0cnVlLGZhbHNlLGZhbHNlKTt2YXIgcG9pbnRlckNvbnZlcnRlcj1uZXcgUmVnaXN0ZXJlZFBvaW50ZXIobmFtZSsiKiIscmVnaXN0ZXJlZENsYXNzLGZhbHNlLGZhbHNlLGZhbHNlKTt2YXIgY29uc3RQb2ludGVyQ29udmVydGVyPW5ldyBSZWdpc3RlcmVkUG9pbnRlcihuYW1lKyIgY29uc3QqIixyZWdpc3RlcmVkQ2xhc3MsZmFsc2UsdHJ1ZSxmYWxzZSk7cmVnaXN0ZXJlZFBvaW50ZXJzW3Jhd1R5cGVdPXtwb2ludGVyVHlwZTpwb2ludGVyQ29udmVydGVyLGNvbnN0UG9pbnRlclR5cGU6Y29uc3RQb2ludGVyQ29udmVydGVyfTtyZXBsYWNlUHVibGljU3ltYm9sKGxlZ2FsRnVuY3Rpb25OYW1lLGNvbnN0cnVjdG9yKTtyZXR1cm5bcmVmZXJlbmNlQ29udmVydGVyLHBvaW50ZXJDb252ZXJ0ZXIsY29uc3RQb2ludGVyQ29udmVydGVyXX0pfWZ1bmN0aW9uIGhlYXAzMlZlY3RvclRvQXJyYXkoY291bnQsZmlyc3RFbGVtZW50KXt2YXIgYXJyYXk9W107Zm9yKHZhciBpPTA7aTxjb3VudDtpKyspe2FycmF5LnB1c2goSEVBUDMyWyhmaXJzdEVsZW1lbnQ+PjIpK2ldKX1yZXR1cm4gYXJyYXl9ZnVuY3Rpb24gX19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IocmF3Q2xhc3NUeXBlLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixpbnZva2VyU2lnbmF0dXJlLGludm9rZXIscmF3Q29uc3RydWN0b3Ipe2Fzc2VydChhcmdDb3VudD4wKTt2YXIgcmF3QXJnVHlwZXM9aGVhcDMyVmVjdG9yVG9BcnJheShhcmdDb3VudCxyYXdBcmdUeXBlc0FkZHIpO2ludm9rZXI9ZW1iaW5kX19yZXF1aXJlRnVuY3Rpb24oaW52b2tlclNpZ25hdHVyZSxpbnZva2VyKTt2YXIgYXJncz1bcmF3Q29uc3RydWN0b3JdO3ZhciBkZXN0cnVjdG9ycz1bXTt3aGVuRGVwZW5kZW50VHlwZXNBcmVSZXNvbHZlZChbXSxbcmF3Q2xhc3NUeXBlXSxmdW5jdGlvbihjbGFzc1R5cGUpe2NsYXNzVHlwZT1jbGFzc1R5cGVbMF07dmFyIGh1bWFuTmFtZT0iY29uc3RydWN0b3IgIitjbGFzc1R5cGUubmFtZTtpZih1bmRlZmluZWQ9PT1jbGFzc1R5cGUucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHkpe2NsYXNzVHlwZS5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keT1bXX1pZih1bmRlZmluZWQhPT1jbGFzc1R5cGUucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHlbYXJnQ291bnQtMV0pe3Rocm93IG5ldyBCaW5kaW5nRXJyb3IoIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMgd2l0aCBpZGVudGljYWwgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCIrKGFyZ0NvdW50LTEpKyIpIGZvciBjbGFzcyAnIitjbGFzc1R5cGUubmFtZSsiJyEgT3ZlcmxvYWQgcmVzb2x1dGlvbiBpcyBjdXJyZW50bHkgb25seSBwZXJmb3JtZWQgdXNpbmcgdGhlIHBhcmFtZXRlciBjb3VudCwgbm90IGFjdHVhbCB0eXBlIGluZm8hIil9Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5W2FyZ0NvdW50LTFdPWZ1bmN0aW9uIHVuYm91bmRUeXBlSGFuZGxlcigpe3Rocm93VW5ib3VuZFR5cGVFcnJvcigiQ2Fubm90IGNvbnN0cnVjdCAiK2NsYXNzVHlwZS5uYW1lKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLHJhd0FyZ1R5cGVzKX07d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10scmF3QXJnVHlwZXMsZnVuY3Rpb24oYXJnVHlwZXMpe2NsYXNzVHlwZS5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVthcmdDb3VudC0xXT1mdW5jdGlvbiBjb25zdHJ1Y3Rvcl9ib2R5KCl7aWYoYXJndW1lbnRzLmxlbmd0aCE9PWFyZ0NvdW50LTEpe3Rocm93QmluZGluZ0Vycm9yKGh1bWFuTmFtZSsiIGNhbGxlZCB3aXRoICIrYXJndW1lbnRzLmxlbmd0aCsiIGFyZ3VtZW50cywgZXhwZWN0ZWQgIisoYXJnQ291bnQtMSkpfWRlc3RydWN0b3JzLmxlbmd0aD0wO2FyZ3MubGVuZ3RoPWFyZ0NvdW50O2Zvcih2YXIgaT0xO2k8YXJnQ291bnQ7KytpKXthcmdzW2ldPWFyZ1R5cGVzW2ldWyJ0b1dpcmVUeXBlIl0oZGVzdHJ1Y3RvcnMsYXJndW1lbnRzW2ktMV0pfXZhciBwdHI9aW52b2tlci5hcHBseShudWxsLGFyZ3MpO3J1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKTtyZXR1cm4gYXJnVHlwZXNbMF1bImZyb21XaXJlVHlwZSJdKHB0cil9O3JldHVybltdfSk7cmV0dXJuW119KX1mdW5jdGlvbiBuZXdfKGNvbnN0cnVjdG9yLGFyZ3VtZW50TGlzdCl7aWYoIShjb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7dGhyb3cgbmV3IFR5cGVFcnJvcigibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlICIrdHlwZW9mIGNvbnN0cnVjdG9yKyIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb24iKX12YXIgZHVtbXk9Y3JlYXRlTmFtZWRGdW5jdGlvbihjb25zdHJ1Y3Rvci5uYW1lfHwidW5rbm93bkZ1bmN0aW9uTmFtZSIsZnVuY3Rpb24oKXt9KTtkdW1teS5wcm90b3R5cGU9Y29uc3RydWN0b3IucHJvdG90eXBlO3ZhciBvYmo9bmV3IGR1bW15O3ZhciByPWNvbnN0cnVjdG9yLmFwcGx5KG9iaixhcmd1bWVudExpc3QpO3JldHVybiByIGluc3RhbmNlb2YgT2JqZWN0P3I6b2JqfWZ1bmN0aW9uIGNyYWZ0SW52b2tlckZ1bmN0aW9uKGh1bWFuTmFtZSxhcmdUeXBlcyxjbGFzc1R5cGUsY3BwSW52b2tlckZ1bmMsY3BwVGFyZ2V0RnVuYyl7dmFyIGFyZ0NvdW50PWFyZ1R5cGVzLmxlbmd0aDtpZihhcmdDb3VudDwyKXt0aHJvd0JpbmRpbmdFcnJvcigiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhIil9dmFyIGlzQ2xhc3NNZXRob2RGdW5jPWFyZ1R5cGVzWzFdIT09bnVsbCYmY2xhc3NUeXBlIT09bnVsbDt2YXIgbmVlZHNEZXN0cnVjdG9yU3RhY2s9ZmFsc2U7Zm9yKHZhciBpPTE7aTxhcmdUeXBlcy5sZW5ndGg7KytpKXtpZihhcmdUeXBlc1tpXSE9PW51bGwmJmFyZ1R5cGVzW2ldLmRlc3RydWN0b3JGdW5jdGlvbj09PXVuZGVmaW5lZCl7bmVlZHNEZXN0cnVjdG9yU3RhY2s9dHJ1ZTticmVha319dmFyIHJldHVybnM9YXJnVHlwZXNbMF0ubmFtZSE9PSJ2b2lkIjt2YXIgYXJnc0xpc3Q9IiI7dmFyIGFyZ3NMaXN0V2lyZWQ9IiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudC0yOysraSl7YXJnc0xpc3QrPShpIT09MD8iLCAiOiIiKSsiYXJnIitpO2FyZ3NMaXN0V2lyZWQrPShpIT09MD8iLCAiOiIiKSsiYXJnIitpKyJXaXJlZCJ9dmFyIGludm9rZXJGbkJvZHk9InJldHVybiBmdW5jdGlvbiAiK21ha2VMZWdhbEZ1bmN0aW9uTmFtZShodW1hbk5hbWUpKyIoIithcmdzTGlzdCsiKSB7XG4iKyJpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gIisoYXJnQ291bnQtMikrIikge1xuIisidGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uICIraHVtYW5OYW1lKyIgY2FsbGVkIHdpdGggJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0ZWQgIisoYXJnQ291bnQtMikrIiBhcmdzIScpO1xuIisifVxuIjtpZihuZWVkc0Rlc3RydWN0b3JTdGFjayl7aW52b2tlckZuQm9keSs9InZhciBkZXN0cnVjdG9ycyA9IFtdO1xuIn12YXIgZHRvclN0YWNrPW5lZWRzRGVzdHJ1Y3RvclN0YWNrPyJkZXN0cnVjdG9ycyI6Im51bGwiO3ZhciBhcmdzMT1bInRocm93QmluZGluZ0Vycm9yIiwiaW52b2tlciIsImZuIiwicnVuRGVzdHJ1Y3RvcnMiLCJyZXRUeXBlIiwiY2xhc3NQYXJhbSJdO3ZhciBhcmdzMj1bdGhyb3dCaW5kaW5nRXJyb3IsY3BwSW52b2tlckZ1bmMsY3BwVGFyZ2V0RnVuYyxydW5EZXN0cnVjdG9ycyxhcmdUeXBlc1swXSxhcmdUeXBlc1sxXV07aWYoaXNDbGFzc01ldGhvZEZ1bmMpe2ludm9rZXJGbkJvZHkrPSJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKCIrZHRvclN0YWNrKyIsIHRoaXMpO1xuIn1mb3IodmFyIGk9MDtpPGFyZ0NvdW50LTI7KytpKXtpbnZva2VyRm5Cb2R5Kz0idmFyIGFyZyIraSsiV2lyZWQgPSBhcmdUeXBlIitpKyIudG9XaXJlVHlwZSgiK2R0b3JTdGFjaysiLCBhcmciK2krIik7IC8vICIrYXJnVHlwZXNbaSsyXS5uYW1lKyJcbiI7YXJnczEucHVzaCgiYXJnVHlwZSIraSk7YXJnczIucHVzaChhcmdUeXBlc1tpKzJdKX1pZihpc0NsYXNzTWV0aG9kRnVuYyl7YXJnc0xpc3RXaXJlZD0idGhpc1dpcmVkIisoYXJnc0xpc3RXaXJlZC5sZW5ndGg+MD8iLCAiOiIiKSthcmdzTGlzdFdpcmVkfWludm9rZXJGbkJvZHkrPShyZXR1cm5zPyJ2YXIgcnYgPSAiOiIiKSsiaW52b2tlcihmbiIrKGFyZ3NMaXN0V2lyZWQubGVuZ3RoPjA/IiwgIjoiIikrYXJnc0xpc3RXaXJlZCsiKTtcbiI7aWYobmVlZHNEZXN0cnVjdG9yU3RhY2spe2ludm9rZXJGbkJvZHkrPSJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XG4ifWVsc2V7Zm9yKHZhciBpPWlzQ2xhc3NNZXRob2RGdW5jPzE6MjtpPGFyZ1R5cGVzLmxlbmd0aDsrK2kpe3ZhciBwYXJhbU5hbWU9aT09PTE/InRoaXNXaXJlZCI6ImFyZyIrKGktMikrIldpcmVkIjtpZihhcmdUeXBlc1tpXS5kZXN0cnVjdG9yRnVuY3Rpb24hPT1udWxsKXtpbnZva2VyRm5Cb2R5Kz1wYXJhbU5hbWUrIl9kdG9yKCIrcGFyYW1OYW1lKyIpOyAvLyAiK2FyZ1R5cGVzW2ldLm5hbWUrIlxuIjthcmdzMS5wdXNoKHBhcmFtTmFtZSsiX2R0b3IiKTthcmdzMi5wdXNoKGFyZ1R5cGVzW2ldLmRlc3RydWN0b3JGdW5jdGlvbil9fX1pZihyZXR1cm5zKXtpbnZva2VyRm5Cb2R5Kz0idmFyIHJldCA9IHJldFR5cGUuZnJvbVdpcmVUeXBlKHJ2KTtcbiIrInJldHVybiByZXQ7XG4ifWVsc2V7fWludm9rZXJGbkJvZHkrPSJ9XG4iO2FyZ3MxLnB1c2goaW52b2tlckZuQm9keSk7dmFyIGludm9rZXJGdW5jdGlvbj1uZXdfKEZ1bmN0aW9uLGFyZ3MxKS5hcHBseShudWxsLGFyZ3MyKTtyZXR1cm4gaW52b2tlckZ1bmN0aW9ufWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uKHJhd0NsYXNzVHlwZSxtZXRob2ROYW1lLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixpbnZva2VyU2lnbmF0dXJlLHJhd0ludm9rZXIsY29udGV4dCxpc1B1cmVWaXJ0dWFsKXt2YXIgcmF3QXJnVHlwZXM9aGVhcDMyVmVjdG9yVG9BcnJheShhcmdDb3VudCxyYXdBcmdUeXBlc0FkZHIpO21ldGhvZE5hbWU9cmVhZExhdGluMVN0cmluZyhtZXRob2ROYW1lKTtyYXdJbnZva2VyPWVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGludm9rZXJTaWduYXR1cmUscmF3SW52b2tlcik7d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10sW3Jhd0NsYXNzVHlwZV0sZnVuY3Rpb24oY2xhc3NUeXBlKXtjbGFzc1R5cGU9Y2xhc3NUeXBlWzBdO3ZhciBodW1hbk5hbWU9Y2xhc3NUeXBlLm5hbWUrIi4iK21ldGhvZE5hbWU7aWYoaXNQdXJlVmlydHVhbCl7Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5wdXJlVmlydHVhbEZ1bmN0aW9ucy5wdXNoKG1ldGhvZE5hbWUpfWZ1bmN0aW9uIHVuYm91bmRUeXBlc0hhbmRsZXIoKXt0aHJvd1VuYm91bmRUeXBlRXJyb3IoIkNhbm5vdCBjYWxsICIraHVtYW5OYW1lKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLHJhd0FyZ1R5cGVzKX12YXIgcHJvdG89Y2xhc3NUeXBlLnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZTt2YXIgbWV0aG9kPXByb3RvW21ldGhvZE5hbWVdO2lmKHVuZGVmaW5lZD09PW1ldGhvZHx8dW5kZWZpbmVkPT09bWV0aG9kLm92ZXJsb2FkVGFibGUmJm1ldGhvZC5jbGFzc05hbWUhPT1jbGFzc1R5cGUubmFtZSYmbWV0aG9kLmFyZ0NvdW50PT09YXJnQ291bnQtMil7dW5ib3VuZFR5cGVzSGFuZGxlci5hcmdDb3VudD1hcmdDb3VudC0yO3VuYm91bmRUeXBlc0hhbmRsZXIuY2xhc3NOYW1lPWNsYXNzVHlwZS5uYW1lO3Byb3RvW21ldGhvZE5hbWVdPXVuYm91bmRUeXBlc0hhbmRsZXJ9ZWxzZXtlbnN1cmVPdmVybG9hZFRhYmxlKHByb3RvLG1ldGhvZE5hbWUsaHVtYW5OYW1lKTtwcm90b1ttZXRob2ROYW1lXS5vdmVybG9hZFRhYmxlW2FyZ0NvdW50LTJdPXVuYm91bmRUeXBlc0hhbmRsZXJ9d2hlbkRlcGVuZGVudFR5cGVzQXJlUmVzb2x2ZWQoW10scmF3QXJnVHlwZXMsZnVuY3Rpb24oYXJnVHlwZXMpe3ZhciBtZW1iZXJGdW5jdGlvbj1jcmFmdEludm9rZXJGdW5jdGlvbihodW1hbk5hbWUsYXJnVHlwZXMsY2xhc3NUeXBlLHJhd0ludm9rZXIsY29udGV4dCk7aWYodW5kZWZpbmVkPT09cHJvdG9bbWV0aG9kTmFtZV0ub3ZlcmxvYWRUYWJsZSl7bWVtYmVyRnVuY3Rpb24uYXJnQ291bnQ9YXJnQ291bnQtMjtwcm90b1ttZXRob2ROYW1lXT1tZW1iZXJGdW5jdGlvbn1lbHNle3Byb3RvW21ldGhvZE5hbWVdLm92ZXJsb2FkVGFibGVbYXJnQ291bnQtMl09bWVtYmVyRnVuY3Rpb259cmV0dXJuW119KTtyZXR1cm5bXX0pfWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2NvbnN0YW50KG5hbWUsdHlwZSx2YWx1ZSl7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtdLFt0eXBlXSxmdW5jdGlvbih0eXBlKXt0eXBlPXR5cGVbMF07TW9kdWxlW25hbWVdPXR5cGVbImZyb21XaXJlVHlwZSJdKHZhbHVlKTtyZXR1cm5bXX0pfXZhciBlbXZhbF9mcmVlX2xpc3Q9W107dmFyIGVtdmFsX2hhbmRsZV9hcnJheT1be30se3ZhbHVlOnVuZGVmaW5lZH0se3ZhbHVlOm51bGx9LHt2YWx1ZTp0cnVlfSx7dmFsdWU6ZmFsc2V9XTtmdW5jdGlvbiBfX2VtdmFsX2RlY3JlZihoYW5kbGUpe2lmKGhhbmRsZT40JiYwPT09LS1lbXZhbF9oYW5kbGVfYXJyYXlbaGFuZGxlXS5yZWZjb3VudCl7ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV09dW5kZWZpbmVkO2VtdmFsX2ZyZWVfbGlzdC5wdXNoKGhhbmRsZSl9fWZ1bmN0aW9uIGNvdW50X2VtdmFsX2hhbmRsZXMoKXt2YXIgY291bnQ9MDtmb3IodmFyIGk9NTtpPGVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7KytpKXtpZihlbXZhbF9oYW5kbGVfYXJyYXlbaV0hPT11bmRlZmluZWQpeysrY291bnR9fXJldHVybiBjb3VudH1mdW5jdGlvbiBnZXRfZmlyc3RfZW12YWwoKXtmb3IodmFyIGk9NTtpPGVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7KytpKXtpZihlbXZhbF9oYW5kbGVfYXJyYXlbaV0hPT11bmRlZmluZWQpe3JldHVybiBlbXZhbF9oYW5kbGVfYXJyYXlbaV19fXJldHVybiBudWxsfWZ1bmN0aW9uIGluaXRfZW12YWwoKXtNb2R1bGVbImNvdW50X2VtdmFsX2hhbmRsZXMiXT1jb3VudF9lbXZhbF9oYW5kbGVzO01vZHVsZVsiZ2V0X2ZpcnN0X2VtdmFsIl09Z2V0X2ZpcnN0X2VtdmFsfWZ1bmN0aW9uIF9fZW12YWxfcmVnaXN0ZXIodmFsdWUpe3N3aXRjaCh2YWx1ZSl7Y2FzZSB1bmRlZmluZWQ6e3JldHVybiAxfWNhc2UgbnVsbDp7cmV0dXJuIDJ9Y2FzZSB0cnVlOntyZXR1cm4gM31jYXNlIGZhbHNlOntyZXR1cm4gNH1kZWZhdWx0Ont2YXIgaGFuZGxlPWVtdmFsX2ZyZWVfbGlzdC5sZW5ndGg/ZW12YWxfZnJlZV9saXN0LnBvcCgpOmVtdmFsX2hhbmRsZV9hcnJheS5sZW5ndGg7ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV09e3JlZmNvdW50OjEsdmFsdWU6dmFsdWV9O3JldHVybiBoYW5kbGV9fX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9lbXZhbChyYXdUeXBlLG5hbWUpe25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKGhhbmRsZSl7dmFyIHJ2PWVtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnZhbHVlO19fZW12YWxfZGVjcmVmKGhhbmRsZSk7cmV0dXJuIHJ2fSwidG9XaXJlVHlwZSI6ZnVuY3Rpb24oZGVzdHJ1Y3RvcnMsdmFsdWUpe3JldHVybiBfX2VtdmFsX3JlZ2lzdGVyKHZhbHVlKX0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBlbnVtUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxzaWduZWQpe3N3aXRjaChzaGlmdCl7Y2FzZSAwOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXt2YXIgaGVhcD1zaWduZWQ/SEVBUDg6SEVBUFU4O3JldHVybiB0aGlzWyJmcm9tV2lyZVR5cGUiXShoZWFwW3BvaW50ZXJdKX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXt2YXIgaGVhcD1zaWduZWQ/SEVBUDE2OkhFQVBVMTY7cmV0dXJuIHRoaXNbImZyb21XaXJlVHlwZSJdKGhlYXBbcG9pbnRlcj4+MV0pfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHBvaW50ZXIpe3ZhciBoZWFwPXNpZ25lZD9IRUFQMzI6SEVBUFUzMjtyZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oaGVhcFtwb2ludGVyPj4yXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBpbnRlZ2VyIHR5cGU6ICIrbmFtZSl9fWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX2VudW0ocmF3VHlwZSxuYW1lLHNpemUsaXNTaWduZWQpe3ZhciBzaGlmdD1nZXRTaGlmdEZyb21TaXplKHNpemUpO25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtmdW5jdGlvbiBjdG9yKCl7fWN0b3IudmFsdWVzPXt9O3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsY29uc3RydWN0b3I6Y3RvciwiZnJvbVdpcmVUeXBlIjpmdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci52YWx1ZXNbY119LCJ0b1dpcmVUeXBlIjpmdW5jdGlvbihkZXN0cnVjdG9ycyxjKXtyZXR1cm4gYy52YWx1ZX0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6ZW51bVJlYWRWYWx1ZUZyb21Qb2ludGVyKG5hbWUsc2hpZnQsaXNTaWduZWQpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSk7ZXhwb3NlUHVibGljU3ltYm9sKG5hbWUsY3Rvcil9ZnVuY3Rpb24gcmVxdWlyZVJlZ2lzdGVyZWRUeXBlKHJhd1R5cGUsaHVtYW5OYW1lKXt2YXIgaW1wbD1yZWdpc3RlcmVkVHlwZXNbcmF3VHlwZV07aWYodW5kZWZpbmVkPT09aW1wbCl7dGhyb3dCaW5kaW5nRXJyb3IoaHVtYW5OYW1lKyIgaGFzIHVua25vd24gdHlwZSAiK2dldFR5cGVOYW1lKHJhd1R5cGUpKX1yZXR1cm4gaW1wbH1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9lbnVtX3ZhbHVlKHJhd0VudW1UeXBlLG5hbWUsZW51bVZhbHVlKXt2YXIgZW51bVR5cGU9cmVxdWlyZVJlZ2lzdGVyZWRUeXBlKHJhd0VudW1UeXBlLCJlbnVtIik7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3ZhciBFbnVtPWVudW1UeXBlLmNvbnN0cnVjdG9yO3ZhciBWYWx1ZT1PYmplY3QuY3JlYXRlKGVudW1UeXBlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSx7dmFsdWU6e3ZhbHVlOmVudW1WYWx1ZX0sY29uc3RydWN0b3I6e3ZhbHVlOmNyZWF0ZU5hbWVkRnVuY3Rpb24oZW51bVR5cGUubmFtZSsiXyIrbmFtZSxmdW5jdGlvbigpe30pfX0pO0VudW0udmFsdWVzW2VudW1WYWx1ZV09VmFsdWU7RW51bVtuYW1lXT1WYWx1ZX1mdW5jdGlvbiBfZW1iaW5kX3JlcHIodil7aWYodj09PW51bGwpe3JldHVybiJudWxsIn12YXIgdD10eXBlb2YgdjtpZih0PT09Im9iamVjdCJ8fHQ9PT0iYXJyYXkifHx0PT09ImZ1bmN0aW9uIil7cmV0dXJuIHYudG9TdHJpbmcoKX1lbHNle3JldHVybiIiK3Z9fWZ1bmN0aW9uIGZsb2F0UmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCl7c3dpdGNoKHNoaWZ0KXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKHBvaW50ZXIpe3JldHVybiB0aGlzWyJmcm9tV2lyZVR5cGUiXShIRUFQRjMyW3BvaW50ZXI+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihwb2ludGVyKXtyZXR1cm4gdGhpc1siZnJvbVdpcmVUeXBlIl0oSEVBUEY2NFtwb2ludGVyPj4zXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBmbG9hdCB0eXBlOiAiK25hbWUpfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9mbG9hdChyYXdUeXBlLG5hbWUsc2l6ZSl7dmFyIHNoaWZ0PWdldFNoaWZ0RnJvbVNpemUoc2l6ZSk7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZX0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ibnVtYmVyIiYmdHlwZW9mIHZhbHVlIT09ImJvb2xlYW4iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCAiJytfZW1iaW5kX3JlcHIodmFsdWUpKyciIHRvICcrdGhpcy5uYW1lKX1yZXR1cm4gdmFsdWV9LCJhcmdQYWNrQWR2YW5jZSI6OCwicmVhZFZhbHVlRnJvbVBvaW50ZXIiOmZsb2F0UmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbihuYW1lLGFyZ0NvdW50LHJhd0FyZ1R5cGVzQWRkcixzaWduYXR1cmUscmF3SW52b2tlcixmbil7dmFyIGFyZ1R5cGVzPWhlYXAzMlZlY3RvclRvQXJyYXkoYXJnQ291bnQscmF3QXJnVHlwZXNBZGRyKTtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7cmF3SW52b2tlcj1lbWJpbmRfX3JlcXVpcmVGdW5jdGlvbihzaWduYXR1cmUscmF3SW52b2tlcik7ZXhwb3NlUHVibGljU3ltYm9sKG5hbWUsZnVuY3Rpb24oKXt0aHJvd1VuYm91bmRUeXBlRXJyb3IoIkNhbm5vdCBjYWxsICIrbmFtZSsiIGR1ZSB0byB1bmJvdW5kIHR5cGVzIixhcmdUeXBlcyl9LGFyZ0NvdW50LTEpO3doZW5EZXBlbmRlbnRUeXBlc0FyZVJlc29sdmVkKFtdLGFyZ1R5cGVzLGZ1bmN0aW9uKGFyZ1R5cGVzKXt2YXIgaW52b2tlckFyZ3NBcnJheT1bYXJnVHlwZXNbMF0sbnVsbF0uY29uY2F0KGFyZ1R5cGVzLnNsaWNlKDEpKTtyZXBsYWNlUHVibGljU3ltYm9sKG5hbWUsY3JhZnRJbnZva2VyRnVuY3Rpb24obmFtZSxpbnZva2VyQXJnc0FycmF5LG51bGwscmF3SW52b2tlcixmbiksYXJnQ291bnQtMSk7cmV0dXJuW119KX1mdW5jdGlvbiBpbnRlZ2VyUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxzaWduZWQpe3N3aXRjaChzaGlmdCl7Y2FzZSAwOnJldHVybiBzaWduZWQ/ZnVuY3Rpb24gcmVhZFM4RnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVA4W3BvaW50ZXJdfTpmdW5jdGlvbiByZWFkVThGcm9tUG9pbnRlcihwb2ludGVyKXtyZXR1cm4gSEVBUFU4W3BvaW50ZXJdfTtjYXNlIDE6cmV0dXJuIHNpZ25lZD9mdW5jdGlvbiByZWFkUzE2RnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVAxNltwb2ludGVyPj4xXX06ZnVuY3Rpb24gcmVhZFUxNkZyb21Qb2ludGVyKHBvaW50ZXIpe3JldHVybiBIRUFQVTE2W3BvaW50ZXI+PjFdfTtjYXNlIDI6cmV0dXJuIHNpZ25lZD9mdW5jdGlvbiByZWFkUzMyRnJvbVBvaW50ZXIocG9pbnRlcil7cmV0dXJuIEhFQVAzMltwb2ludGVyPj4yXX06ZnVuY3Rpb24gcmVhZFUzMkZyb21Qb2ludGVyKHBvaW50ZXIpe3JldHVybiBIRUFQVTMyW3BvaW50ZXI+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gaW50ZWdlciB0eXBlOiAiK25hbWUpfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9pbnRlZ2VyKHByaW1pdGl2ZVR5cGUsbmFtZSxzaXplLG1pblJhbmdlLG1heFJhbmdlKXtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7aWYobWF4UmFuZ2U9PT0tMSl7bWF4UmFuZ2U9NDI5NDk2NzI5NX12YXIgc2hpZnQ9Z2V0U2hpZnRGcm9tU2l6ZShzaXplKTt2YXIgZnJvbVdpcmVUeXBlPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gdmFsdWV9O2lmKG1pblJhbmdlPT09MCl7dmFyIGJpdHNoaWZ0PTMyLTgqc2l6ZTtmcm9tV2lyZVR5cGU9ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZTw8Yml0c2hpZnQ+Pj5iaXRzaGlmdH19dmFyIGlzVW5zaWduZWRUeXBlPW5hbWUuaW5kZXhPZigidW5zaWduZWQiKSE9LTE7cmVnaXN0ZXJUeXBlKHByaW1pdGl2ZVR5cGUse25hbWU6bmFtZSwiZnJvbVdpcmVUeXBlIjpmcm9tV2lyZVR5cGUsInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ibnVtYmVyIiYmdHlwZW9mIHZhbHVlIT09ImJvb2xlYW4iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCAiJytfZW1iaW5kX3JlcHIodmFsdWUpKyciIHRvICcrdGhpcy5uYW1lKX1pZih2YWx1ZTxtaW5SYW5nZXx8dmFsdWU+bWF4UmFuZ2Upe3Rocm93IG5ldyBUeXBlRXJyb3IoJ1Bhc3NpbmcgYSBudW1iZXIgIicrX2VtYmluZF9yZXByKHZhbHVlKSsnIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlICInK25hbWUrJyIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK21pblJhbmdlKyIsICIrbWF4UmFuZ2UrIl0hIil9cmV0dXJuIGlzVW5zaWduZWRUeXBlP3ZhbHVlPj4+MDp2YWx1ZXwwfSwiYXJnUGFja0FkdmFuY2UiOjgsInJlYWRWYWx1ZUZyb21Qb2ludGVyIjppbnRlZ2VyUmVhZFZhbHVlRnJvbVBvaW50ZXIobmFtZSxzaGlmdCxtaW5SYW5nZSE9PTApLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gX19lbWJpbmRfcmVnaXN0ZXJfbWVtb3J5X3ZpZXcocmF3VHlwZSxkYXRhVHlwZUluZGV4LG5hbWUpe3ZhciB0eXBlTWFwcGluZz1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldO3ZhciBUQT10eXBlTWFwcGluZ1tkYXRhVHlwZUluZGV4XTtmdW5jdGlvbiBkZWNvZGVNZW1vcnlWaWV3KGhhbmRsZSl7aGFuZGxlPWhhbmRsZT4+Mjt2YXIgaGVhcD1IRUFQVTMyO3ZhciBzaXplPWhlYXBbaGFuZGxlXTt2YXIgZGF0YT1oZWFwW2hhbmRsZSsxXTtyZXR1cm4gbmV3IFRBKGJ1ZmZlcixkYXRhLHNpemUpfW5hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmRlY29kZU1lbW9yeVZpZXcsImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6ZGVjb2RlTWVtb3J5Vmlld30se2lnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnM6dHJ1ZX0pfWZ1bmN0aW9uIF9fZW1iaW5kX3JlZ2lzdGVyX3N0ZF9zdHJpbmcocmF3VHlwZSxuYW1lKXtuYW1lPXJlYWRMYXRpbjFTdHJpbmcobmFtZSk7dmFyIHN0ZFN0cmluZ0lzVVRGOD1uYW1lPT09InN0ZDo6c3RyaW5nIjtyZWdpc3RlclR5cGUocmF3VHlwZSx7bmFtZTpuYW1lLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKHZhbHVlKXt2YXIgbGVuZ3RoPUhFQVBVMzJbdmFsdWU+PjJdO3ZhciBzdHI7aWYoc3RkU3RyaW5nSXNVVEY4KXt2YXIgZGVjb2RlU3RhcnRQdHI9dmFsdWUrNDtmb3IodmFyIGk9MDtpPD1sZW5ndGg7KytpKXt2YXIgY3VycmVudEJ5dGVQdHI9dmFsdWUrNCtpO2lmKGk9PWxlbmd0aHx8SEVBUFU4W2N1cnJlbnRCeXRlUHRyXT09MCl7dmFyIG1heFJlYWQ9Y3VycmVudEJ5dGVQdHItZGVjb2RlU3RhcnRQdHI7dmFyIHN0cmluZ1NlZ21lbnQ9VVRGOFRvU3RyaW5nKGRlY29kZVN0YXJ0UHRyLG1heFJlYWQpO2lmKHN0cj09PXVuZGVmaW5lZCl7c3RyPXN0cmluZ1NlZ21lbnR9ZWxzZXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCk7c3RyKz1zdHJpbmdTZWdtZW50fWRlY29kZVN0YXJ0UHRyPWN1cnJlbnRCeXRlUHRyKzF9fX1lbHNle3ZhciBhPW5ldyBBcnJheShsZW5ndGgpO2Zvcih2YXIgaT0wO2k8bGVuZ3RoOysraSl7YVtpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEhFQVBVOFt2YWx1ZSs0K2ldKX1zdHI9YS5qb2luKCIiKX1fZnJlZSh2YWx1ZSk7cmV0dXJuIHN0cn0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLHZhbHVlKXtpZih2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXt2YWx1ZT1uZXcgVWludDhBcnJheSh2YWx1ZSl9dmFyIGdldExlbmd0aDt2YXIgdmFsdWVJc09mVHlwZVN0cmluZz10eXBlb2YgdmFsdWU9PT0ic3RyaW5nIjtpZighKHZhbHVlSXNPZlR5cGVTdHJpbmd8fHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheXx8dmFsdWUgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8dmFsdWUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpKXt0aHJvd0JpbmRpbmdFcnJvcigiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZyIpfWlmKHN0ZFN0cmluZ0lzVVRGOCYmdmFsdWVJc09mVHlwZVN0cmluZyl7Z2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIGxlbmd0aEJ5dGVzVVRGOCh2YWx1ZSl9fWVsc2V7Z2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHZhbHVlLmxlbmd0aH19dmFyIGxlbmd0aD1nZXRMZW5ndGgoKTt2YXIgcHRyPV9tYWxsb2MoNCtsZW5ndGgrMSk7SEVBUFUzMltwdHI+PjJdPWxlbmd0aDtpZihzdGRTdHJpbmdJc1VURjgmJnZhbHVlSXNPZlR5cGVTdHJpbmcpe3N0cmluZ1RvVVRGOCh2YWx1ZSxwdHIrNCxsZW5ndGgrMSl9ZWxzZXtpZih2YWx1ZUlzT2ZUeXBlU3RyaW5nKXtmb3IodmFyIGk9MDtpPGxlbmd0aDsrK2kpe3ZhciBjaGFyQ29kZT12YWx1ZS5jaGFyQ29kZUF0KGkpO2lmKGNoYXJDb2RlPjI1NSl7X2ZyZWUocHRyKTt0aHJvd0JpbmRpbmdFcnJvcigiU3RyaW5nIGhhcyBVVEYtMTYgY29kZSB1bml0cyB0aGF0IGRvIG5vdCBmaXQgaW4gOCBiaXRzIil9SEVBUFU4W3B0cis0K2ldPWNoYXJDb2RlfX1lbHNle2Zvcih2YXIgaT0wO2k8bGVuZ3RoOysraSl7SEVBUFU4W3B0cis0K2ldPXZhbHVlW2ldfX19aWYoZGVzdHJ1Y3RvcnMhPT1udWxsKXtkZXN0cnVjdG9ycy5wdXNoKF9mcmVlLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKHB0cil7X2ZyZWUocHRyKX19KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZyhyYXdUeXBlLGNoYXJTaXplLG5hbWUpe25hbWU9cmVhZExhdGluMVN0cmluZyhuYW1lKTt2YXIgZGVjb2RlU3RyaW5nLGVuY29kZVN0cmluZyxnZXRIZWFwLGxlbmd0aEJ5dGVzVVRGLHNoaWZ0O2lmKGNoYXJTaXplPT09Mil7ZGVjb2RlU3RyaW5nPVVURjE2VG9TdHJpbmc7ZW5jb2RlU3RyaW5nPXN0cmluZ1RvVVRGMTY7bGVuZ3RoQnl0ZXNVVEY9bGVuZ3RoQnl0ZXNVVEYxNjtnZXRIZWFwPWZ1bmN0aW9uKCl7cmV0dXJuIEhFQVBVMTZ9O3NoaWZ0PTF9ZWxzZSBpZihjaGFyU2l6ZT09PTQpe2RlY29kZVN0cmluZz1VVEYzMlRvU3RyaW5nO2VuY29kZVN0cmluZz1zdHJpbmdUb1VURjMyO2xlbmd0aEJ5dGVzVVRGPWxlbmd0aEJ5dGVzVVRGMzI7Z2V0SGVhcD1mdW5jdGlvbigpe3JldHVybiBIRUFQVTMyfTtzaGlmdD0yfXJlZ2lzdGVyVHlwZShyYXdUeXBlLHtuYW1lOm5hbWUsImZyb21XaXJlVHlwZSI6ZnVuY3Rpb24odmFsdWUpe3ZhciBsZW5ndGg9SEVBUFUzMlt2YWx1ZT4+Ml07dmFyIEhFQVA9Z2V0SGVhcCgpO3ZhciBzdHI7dmFyIGRlY29kZVN0YXJ0UHRyPXZhbHVlKzQ7Zm9yKHZhciBpPTA7aTw9bGVuZ3RoOysraSl7dmFyIGN1cnJlbnRCeXRlUHRyPXZhbHVlKzQraSpjaGFyU2l6ZTtpZihpPT1sZW5ndGh8fEhFQVBbY3VycmVudEJ5dGVQdHI+PnNoaWZ0XT09MCl7dmFyIG1heFJlYWRCeXRlcz1jdXJyZW50Qnl0ZVB0ci1kZWNvZGVTdGFydFB0cjt2YXIgc3RyaW5nU2VnbWVudD1kZWNvZGVTdHJpbmcoZGVjb2RlU3RhcnRQdHIsbWF4UmVhZEJ5dGVzKTtpZihzdHI9PT11bmRlZmluZWQpe3N0cj1zdHJpbmdTZWdtZW50fWVsc2V7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApO3N0cis9c3RyaW5nU2VnbWVudH1kZWNvZGVTdGFydFB0cj1jdXJyZW50Qnl0ZVB0citjaGFyU2l6ZX19X2ZyZWUodmFsdWUpO3JldHVybiBzdHJ9LCJ0b1dpcmVUeXBlIjpmdW5jdGlvbihkZXN0cnVjdG9ycyx2YWx1ZSl7aWYoISh0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIikpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIEMrKyBzdHJpbmcgdHlwZSAiK25hbWUpfXZhciBsZW5ndGg9bGVuZ3RoQnl0ZXNVVEYodmFsdWUpO3ZhciBwdHI9X21hbGxvYyg0K2xlbmd0aCtjaGFyU2l6ZSk7SEVBUFUzMltwdHI+PjJdPWxlbmd0aD4+c2hpZnQ7ZW5jb2RlU3RyaW5nKHZhbHVlLHB0cis0LGxlbmd0aCtjaGFyU2l6ZSk7aWYoZGVzdHJ1Y3RvcnMhPT1udWxsKXtkZXN0cnVjdG9ycy5wdXNoKF9mcmVlLHB0cil9cmV0dXJuIHB0cn0sImFyZ1BhY2tBZHZhbmNlIjo4LCJyZWFkVmFsdWVGcm9tUG9pbnRlciI6c2ltcGxlUmVhZFZhbHVlRnJvbVBvaW50ZXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKHB0cil7X2ZyZWUocHRyKX19KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3QocmF3VHlwZSxuYW1lLGNvbnN0cnVjdG9yU2lnbmF0dXJlLHJhd0NvbnN0cnVjdG9yLGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3Rvcil7c3RydWN0UmVnaXN0cmF0aW9uc1tyYXdUeXBlXT17bmFtZTpyZWFkTGF0aW4xU3RyaW5nKG5hbWUpLHJhd0NvbnN0cnVjdG9yOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGNvbnN0cnVjdG9yU2lnbmF0dXJlLHJhd0NvbnN0cnVjdG9yKSxyYXdEZXN0cnVjdG9yOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGRlc3RydWN0b3JTaWduYXR1cmUscmF3RGVzdHJ1Y3RvciksZmllbGRzOltdfX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3RfZmllbGQoc3RydWN0VHlwZSxmaWVsZE5hbWUsZ2V0dGVyUmV0dXJuVHlwZSxnZXR0ZXJTaWduYXR1cmUsZ2V0dGVyLGdldHRlckNvbnRleHQsc2V0dGVyQXJndW1lbnRUeXBlLHNldHRlclNpZ25hdHVyZSxzZXR0ZXIsc2V0dGVyQ29udGV4dCl7c3RydWN0UmVnaXN0cmF0aW9uc1tzdHJ1Y3RUeXBlXS5maWVsZHMucHVzaCh7ZmllbGROYW1lOnJlYWRMYXRpbjFTdHJpbmcoZmllbGROYW1lKSxnZXR0ZXJSZXR1cm5UeXBlOmdldHRlclJldHVyblR5cGUsZ2V0dGVyOmVtYmluZF9fcmVxdWlyZUZ1bmN0aW9uKGdldHRlclNpZ25hdHVyZSxnZXR0ZXIpLGdldHRlckNvbnRleHQ6Z2V0dGVyQ29udGV4dCxzZXR0ZXJBcmd1bWVudFR5cGU6c2V0dGVyQXJndW1lbnRUeXBlLHNldHRlcjplbWJpbmRfX3JlcXVpcmVGdW5jdGlvbihzZXR0ZXJTaWduYXR1cmUsc2V0dGVyKSxzZXR0ZXJDb250ZXh0OnNldHRlckNvbnRleHR9KX1mdW5jdGlvbiBfX2VtYmluZF9yZWdpc3Rlcl92b2lkKHJhd1R5cGUsbmFtZSl7bmFtZT1yZWFkTGF0aW4xU3RyaW5nKG5hbWUpO3JlZ2lzdGVyVHlwZShyYXdUeXBlLHtpc1ZvaWQ6dHJ1ZSxuYW1lOm5hbWUsImFyZ1BhY2tBZHZhbmNlIjowLCJmcm9tV2lyZVR5cGUiOmZ1bmN0aW9uKCl7cmV0dXJuIHVuZGVmaW5lZH0sInRvV2lyZVR5cGUiOmZ1bmN0aW9uKGRlc3RydWN0b3JzLG8pe3JldHVybiB1bmRlZmluZWR9fSl9ZnVuY3Rpb24gcmVxdWlyZUhhbmRsZShoYW5kbGUpe2lmKCFoYW5kbGUpe3Rocm93QmluZGluZ0Vycm9yKCJDYW5ub3QgdXNlIGRlbGV0ZWQgdmFsLiBoYW5kbGUgPSAiK2hhbmRsZSl9cmV0dXJuIGVtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnZhbHVlfWZ1bmN0aW9uIF9fZW12YWxfYXMoaGFuZGxlLHJldHVyblR5cGUsZGVzdHJ1Y3RvcnNSZWYpe2hhbmRsZT1yZXF1aXJlSGFuZGxlKGhhbmRsZSk7cmV0dXJuVHlwZT1yZXF1aXJlUmVnaXN0ZXJlZFR5cGUocmV0dXJuVHlwZSwiZW12YWw6OmFzIik7dmFyIGRlc3RydWN0b3JzPVtdO3ZhciByZD1fX2VtdmFsX3JlZ2lzdGVyKGRlc3RydWN0b3JzKTtIRUFQMzJbZGVzdHJ1Y3RvcnNSZWY+PjJdPXJkO3JldHVybiByZXR1cm5UeXBlWyJ0b1dpcmVUeXBlIl0oZGVzdHJ1Y3RvcnMsaGFuZGxlKX12YXIgZW12YWxfc3ltYm9scz17fTtmdW5jdGlvbiBnZXRTdHJpbmdPclN5bWJvbChhZGRyZXNzKXt2YXIgc3ltYm9sPWVtdmFsX3N5bWJvbHNbYWRkcmVzc107aWYoc3ltYm9sPT09dW5kZWZpbmVkKXtyZXR1cm4gcmVhZExhdGluMVN0cmluZyhhZGRyZXNzKX1lbHNle3JldHVybiBzeW1ib2x9fXZhciBlbXZhbF9tZXRob2RDYWxsZXJzPVtdO2Z1bmN0aW9uIF9fZW12YWxfY2FsbF92b2lkX21ldGhvZChjYWxsZXIsaGFuZGxlLG1ldGhvZE5hbWUsYXJncyl7Y2FsbGVyPWVtdmFsX21ldGhvZENhbGxlcnNbY2FsbGVyXTtoYW5kbGU9cmVxdWlyZUhhbmRsZShoYW5kbGUpO21ldGhvZE5hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobWV0aG9kTmFtZSk7Y2FsbGVyKGhhbmRsZSxtZXRob2ROYW1lLG51bGwsYXJncyl9ZnVuY3Rpb24gZW12YWxfZ2V0X2dsb2JhbCgpe2lmKHR5cGVvZiBnbG9iYWxUaGlzPT09Im9iamVjdCIpe3JldHVybiBnbG9iYWxUaGlzfXJldHVybiBmdW5jdGlvbigpe3JldHVybiBGdW5jdGlvbn0oKSgicmV0dXJuIHRoaXMiKSgpfWZ1bmN0aW9uIF9fZW12YWxfZ2V0X2dsb2JhbChuYW1lKXtpZihuYW1lPT09MCl7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoZW12YWxfZ2V0X2dsb2JhbCgpKX1lbHNle25hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobmFtZSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoZW12YWxfZ2V0X2dsb2JhbCgpW25hbWVdKX19ZnVuY3Rpb24gX19lbXZhbF9hZGRNZXRob2RDYWxsZXIoY2FsbGVyKXt2YXIgaWQ9ZW12YWxfbWV0aG9kQ2FsbGVycy5sZW5ndGg7ZW12YWxfbWV0aG9kQ2FsbGVycy5wdXNoKGNhbGxlcik7cmV0dXJuIGlkfWZ1bmN0aW9uIF9fZW12YWxfbG9va3VwVHlwZXMoYXJnQ291bnQsYXJnVHlwZXMpe3ZhciBhPW5ldyBBcnJheShhcmdDb3VudCk7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2FbaV09cmVxdWlyZVJlZ2lzdGVyZWRUeXBlKEhFQVAzMlsoYXJnVHlwZXM+PjIpK2ldLCJwYXJhbWV0ZXIgIitpKX1yZXR1cm4gYX1mdW5jdGlvbiBfX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyKGFyZ0NvdW50LGFyZ1R5cGVzKXt2YXIgdHlwZXM9X19lbXZhbF9sb29rdXBUeXBlcyhhcmdDb3VudCxhcmdUeXBlcyk7dmFyIHJldFR5cGU9dHlwZXNbMF07dmFyIHNpZ25hdHVyZU5hbWU9cmV0VHlwZS5uYW1lKyJfJCIrdHlwZXMuc2xpY2UoMSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWV9KS5qb2luKCJfIikrIiQiO3ZhciBwYXJhbXM9WyJyZXRUeXBlIl07dmFyIGFyZ3M9W3JldFR5cGVdO3ZhciBhcmdzTGlzdD0iIjtmb3IodmFyIGk9MDtpPGFyZ0NvdW50LTE7KytpKXthcmdzTGlzdCs9KGkhPT0wPyIsICI6IiIpKyJhcmciK2k7cGFyYW1zLnB1c2goImFyZ1R5cGUiK2kpO2FyZ3MucHVzaCh0eXBlc1sxK2ldKX12YXIgZnVuY3Rpb25OYW1lPW1ha2VMZWdhbEZ1bmN0aW9uTmFtZSgibWV0aG9kQ2FsbGVyXyIrc2lnbmF0dXJlTmFtZSk7dmFyIGZ1bmN0aW9uQm9keT0icmV0dXJuIGZ1bmN0aW9uICIrZnVuY3Rpb25OYW1lKyIoaGFuZGxlLCBuYW1lLCBkZXN0cnVjdG9ycywgYXJncykge1xuIjt2YXIgb2Zmc2V0PTA7Zm9yKHZhciBpPTA7aTxhcmdDb3VudC0xOysraSl7ZnVuY3Rpb25Cb2R5Kz0iICAgIHZhciBhcmciK2krIiA9IGFyZ1R5cGUiK2krIi5yZWFkVmFsdWVGcm9tUG9pbnRlcihhcmdzIisob2Zmc2V0PyIrIitvZmZzZXQ6IiIpKyIpO1xuIjtvZmZzZXQrPXR5cGVzW2krMV1bImFyZ1BhY2tBZHZhbmNlIl19ZnVuY3Rpb25Cb2R5Kz0iICAgIHZhciBydiA9IGhhbmRsZVtuYW1lXSgiK2FyZ3NMaXN0KyIpO1xuIjtmb3IodmFyIGk9MDtpPGFyZ0NvdW50LTE7KytpKXtpZih0eXBlc1tpKzFdWyJkZWxldGVPYmplY3QiXSl7ZnVuY3Rpb25Cb2R5Kz0iICAgIGFyZ1R5cGUiK2krIi5kZWxldGVPYmplY3QoYXJnIitpKyIpO1xuIn19aWYoIXJldFR5cGUuaXNWb2lkKXtmdW5jdGlvbkJvZHkrPSIgICAgcmV0dXJuIHJldFR5cGUudG9XaXJlVHlwZShkZXN0cnVjdG9ycywgcnYpO1xuIn1mdW5jdGlvbkJvZHkrPSJ9O1xuIjtwYXJhbXMucHVzaChmdW5jdGlvbkJvZHkpO3ZhciBpbnZva2VyRnVuY3Rpb249bmV3XyhGdW5jdGlvbixwYXJhbXMpLmFwcGx5KG51bGwsYXJncyk7cmV0dXJuIF9fZW12YWxfYWRkTWV0aG9kQ2FsbGVyKGludm9rZXJGdW5jdGlvbil9ZnVuY3Rpb24gX19lbXZhbF9nZXRfbW9kdWxlX3Byb3BlcnR5KG5hbWUpe25hbWU9Z2V0U3RyaW5nT3JTeW1ib2wobmFtZSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoTW9kdWxlW25hbWVdKX1mdW5jdGlvbiBfX2VtdmFsX2dldF9wcm9wZXJ0eShoYW5kbGUsa2V5KXtoYW5kbGU9cmVxdWlyZUhhbmRsZShoYW5kbGUpO2tleT1yZXF1aXJlSGFuZGxlKGtleSk7cmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIoaGFuZGxlW2tleV0pfWZ1bmN0aW9uIF9fZW12YWxfaW5jcmVmKGhhbmRsZSl7aWYoaGFuZGxlPjQpe2VtdmFsX2hhbmRsZV9hcnJheVtoYW5kbGVdLnJlZmNvdW50Kz0xfX1mdW5jdGlvbiBjcmFmdEVtdmFsQWxsb2NhdG9yKGFyZ0NvdW50KXt2YXIgYXJnc0xpc3Q9IiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2FyZ3NMaXN0Kz0oaSE9PTA/IiwgIjoiIikrImFyZyIraX12YXIgZnVuY3Rpb25Cb2R5PSJyZXR1cm4gZnVuY3Rpb24gZW12YWxfYWxsb2NhdG9yXyIrYXJnQ291bnQrIihjb25zdHJ1Y3RvciwgYXJnVHlwZXMsIGFyZ3MpIHtcbiI7Zm9yKHZhciBpPTA7aTxhcmdDb3VudDsrK2kpe2Z1bmN0aW9uQm9keSs9InZhciBhcmdUeXBlIitpKyIgPSByZXF1aXJlUmVnaXN0ZXJlZFR5cGUoTW9kdWxlWydIRUFQMzInXVsoYXJnVHlwZXMgPj4+IDIpICsgIitpKyddLCAicGFyYW1ldGVyICcraSsnIik7XG4nKyJ2YXIgYXJnIitpKyIgPSBhcmdUeXBlIitpKyIucmVhZFZhbHVlRnJvbVBvaW50ZXIoYXJncyk7XG4iKyJhcmdzICs9IGFyZ1R5cGUiK2krIlsnYXJnUGFja0FkdmFuY2UnXTtcbiJ9ZnVuY3Rpb25Cb2R5Kz0idmFyIG9iaiA9IG5ldyBjb25zdHJ1Y3RvcigiK2FyZ3NMaXN0KyIpO1xuIisicmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIob2JqKTtcbiIrIn1cbiI7cmV0dXJuIG5ldyBGdW5jdGlvbigicmVxdWlyZVJlZ2lzdGVyZWRUeXBlIiwiTW9kdWxlIiwiX19lbXZhbF9yZWdpc3RlciIsZnVuY3Rpb25Cb2R5KShyZXF1aXJlUmVnaXN0ZXJlZFR5cGUsTW9kdWxlLF9fZW12YWxfcmVnaXN0ZXIpfXZhciBlbXZhbF9uZXdlcnM9e307ZnVuY3Rpb24gX19lbXZhbF9uZXcoaGFuZGxlLGFyZ0NvdW50LGFyZ1R5cGVzLGFyZ3Mpe2hhbmRsZT1yZXF1aXJlSGFuZGxlKGhhbmRsZSk7dmFyIG5ld2VyPWVtdmFsX25ld2Vyc1thcmdDb3VudF07aWYoIW5ld2VyKXtuZXdlcj1jcmFmdEVtdmFsQWxsb2NhdG9yKGFyZ0NvdW50KTtlbXZhbF9uZXdlcnNbYXJnQ291bnRdPW5ld2VyfXJldHVybiBuZXdlcihoYW5kbGUsYXJnVHlwZXMsYXJncyl9ZnVuY3Rpb24gX19lbXZhbF9uZXdfY3N0cmluZyh2KXtyZXR1cm4gX19lbXZhbF9yZWdpc3RlcihnZXRTdHJpbmdPclN5bWJvbCh2KSl9ZnVuY3Rpb24gX19lbXZhbF9ydW5fZGVzdHJ1Y3RvcnMoaGFuZGxlKXt2YXIgZGVzdHJ1Y3RvcnM9ZW12YWxfaGFuZGxlX2FycmF5W2hhbmRsZV0udmFsdWU7cnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO19fZW12YWxfZGVjcmVmKGhhbmRsZSl9ZnVuY3Rpb24gX2Fib3J0KCl7YWJvcnQoKX1mdW5jdGlvbiBfZW1zY3JpcHRlbl9tZW1jcHlfYmlnKGRlc3Qsc3JjLG51bSl7SEVBUFU4LmNvcHlXaXRoaW4oZGVzdCxzcmMsc3JjK251bSl9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fZ2V0X2hlYXBfc2l6ZSgpe3JldHVybiBIRUFQVTgubGVuZ3RofWZ1bmN0aW9uIGVtc2NyaXB0ZW5fcmVhbGxvY19idWZmZXIoc2l6ZSl7dHJ5e3dhc21NZW1vcnkuZ3JvdyhzaXplLWJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO3VwZGF0ZUdsb2JhbEJ1ZmZlckFuZFZpZXdzKHdhc21NZW1vcnkuYnVmZmVyKTtyZXR1cm4gMX1jYXRjaChlKXt9fWZ1bmN0aW9uIF9lbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwKHJlcXVlc3RlZFNpemUpe3JlcXVlc3RlZFNpemU9cmVxdWVzdGVkU2l6ZT4+PjA7dmFyIG9sZFNpemU9X2Vtc2NyaXB0ZW5fZ2V0X2hlYXBfc2l6ZSgpO3ZhciBtYXhIZWFwU2l6ZT0yMTQ3NDgzNjQ4O2lmKHJlcXVlc3RlZFNpemU+bWF4SGVhcFNpemUpe3JldHVybiBmYWxzZX12YXIgbWluSGVhcFNpemU9MTY3NzcyMTY7Zm9yKHZhciBjdXREb3duPTE7Y3V0RG93bjw9NDtjdXREb3duKj0yKXt2YXIgb3Zlckdyb3duSGVhcFNpemU9b2xkU2l6ZSooMSsuMi9jdXREb3duKTtvdmVyR3Jvd25IZWFwU2l6ZT1NYXRoLm1pbihvdmVyR3Jvd25IZWFwU2l6ZSxyZXF1ZXN0ZWRTaXplKzEwMDY2MzI5Nik7dmFyIG5ld1NpemU9TWF0aC5taW4obWF4SGVhcFNpemUsYWxpZ25VcChNYXRoLm1heChtaW5IZWFwU2l6ZSxyZXF1ZXN0ZWRTaXplLG92ZXJHcm93bkhlYXBTaXplKSw2NTUzNikpO3ZhciByZXBsYWNlbWVudD1lbXNjcmlwdGVuX3JlYWxsb2NfYnVmZmVyKG5ld1NpemUpO2lmKHJlcGxhY2VtZW50KXtyZXR1cm4gdHJ1ZX19cmV0dXJuIGZhbHNlfXZhciBTWVNDQUxMUz17bWFwcGluZ3M6e30sYnVmZmVyczpbbnVsbCxbXSxbXV0scHJpbnRDaGFyOmZ1bmN0aW9uKHN0cmVhbSxjdXJyKXt2YXIgYnVmZmVyPVNZU0NBTExTLmJ1ZmZlcnNbc3RyZWFtXTtpZihjdXJyPT09MHx8Y3Vycj09PTEwKXsoc3RyZWFtPT09MT9vdXQ6ZXJyKShVVEY4QXJyYXlUb1N0cmluZyhidWZmZXIsMCkpO2J1ZmZlci5sZW5ndGg9MH1lbHNle2J1ZmZlci5wdXNoKGN1cnIpfX0sdmFyYXJnczp1bmRlZmluZWQsZ2V0OmZ1bmN0aW9uKCl7U1lTQ0FMTFMudmFyYXJncys9NDt2YXIgcmV0PUhFQVAzMltTWVNDQUxMUy52YXJhcmdzLTQ+PjJdO3JldHVybiByZXR9LGdldFN0cjpmdW5jdGlvbihwdHIpe3ZhciByZXQ9VVRGOFRvU3RyaW5nKHB0cik7cmV0dXJuIHJldH0sZ2V0NjQ6ZnVuY3Rpb24obG93LGhpZ2gpe3JldHVybiBsb3d9fTtmdW5jdGlvbiBfZmRfY2xvc2UoZmQpe3JldHVybiAwfWZ1bmN0aW9uIF9mZF9zZWVrKGZkLG9mZnNldF9sb3csb2Zmc2V0X2hpZ2gsd2hlbmNlLG5ld09mZnNldCl7fWZ1bmN0aW9uIF9mZF93cml0ZShmZCxpb3YsaW92Y250LHBudW0pe3ZhciBudW09MDtmb3IodmFyIGk9MDtpPGlvdmNudDtpKyspe3ZhciBwdHI9SEVBUDMyW2lvditpKjg+PjJdO3ZhciBsZW49SEVBUDMyW2lvdisoaSo4KzQpPj4yXTtmb3IodmFyIGo9MDtqPGxlbjtqKyspe1NZU0NBTExTLnByaW50Q2hhcihmZCxIRUFQVThbcHRyK2pdKX1udW0rPWxlbn1IRUFQMzJbcG51bT4+Ml09bnVtO3JldHVybiAwfWZ1bmN0aW9uIF9zZXRUZW1wUmV0MCgkaSl7c2V0VGVtcFJldDAoJGl8MCl9SW50ZXJuYWxFcnJvcj1Nb2R1bGVbIkludGVybmFsRXJyb3IiXT1leHRlbmRFcnJvcihFcnJvciwiSW50ZXJuYWxFcnJvciIpO2VtYmluZF9pbml0X2NoYXJDb2RlcygpO0JpbmRpbmdFcnJvcj1Nb2R1bGVbIkJpbmRpbmdFcnJvciJdPWV4dGVuZEVycm9yKEVycm9yLCJCaW5kaW5nRXJyb3IiKTtpbml0X0NsYXNzSGFuZGxlKCk7aW5pdF9SZWdpc3RlcmVkUG9pbnRlcigpO2luaXRfZW1iaW5kKCk7VW5ib3VuZFR5cGVFcnJvcj1Nb2R1bGVbIlVuYm91bmRUeXBlRXJyb3IiXT1leHRlbmRFcnJvcihFcnJvciwiVW5ib3VuZFR5cGVFcnJvciIpO2luaXRfZW12YWwoKTtfX0FUSU5JVF9fLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtfX193YXNtX2NhbGxfY3RvcnMoKX19KTt2YXIgYXNtTGlicmFyeUFyZz17InQiOl9fZW1iaW5kX2ZpbmFsaXplX3ZhbHVlX29iamVjdCwiSSI6X19lbWJpbmRfcmVnaXN0ZXJfYm9vbCwieCI6X19lbWJpbmRfcmVnaXN0ZXJfY2xhc3MsInciOl9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NvbnN0cnVjdG9yLCJkIjpfX2VtYmluZF9yZWdpc3Rlcl9jbGFzc19mdW5jdGlvbiwiayI6X19lbWJpbmRfcmVnaXN0ZXJfY29uc3RhbnQsIkgiOl9fZW1iaW5kX3JlZ2lzdGVyX2VtdmFsLCJuIjpfX2VtYmluZF9yZWdpc3Rlcl9lbnVtLCJhIjpfX2VtYmluZF9yZWdpc3Rlcl9lbnVtX3ZhbHVlLCJBIjpfX2VtYmluZF9yZWdpc3Rlcl9mbG9hdCwiaSI6X19lbWJpbmRfcmVnaXN0ZXJfZnVuY3Rpb24sImoiOl9fZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIsImgiOl9fZW1iaW5kX3JlZ2lzdGVyX21lbW9yeV92aWV3LCJCIjpfX2VtYmluZF9yZWdpc3Rlcl9zdGRfc3RyaW5nLCJ2IjpfX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZywidSI6X19lbWJpbmRfcmVnaXN0ZXJfdmFsdWVfb2JqZWN0LCJjIjpfX2VtYmluZF9yZWdpc3Rlcl92YWx1ZV9vYmplY3RfZmllbGQsIkoiOl9fZW1iaW5kX3JlZ2lzdGVyX3ZvaWQsIm0iOl9fZW12YWxfYXMsInMiOl9fZW12YWxfY2FsbF92b2lkX21ldGhvZCwiYiI6X19lbXZhbF9kZWNyZWYsInkiOl9fZW12YWxfZ2V0X2dsb2JhbCwicCI6X19lbXZhbF9nZXRfbWV0aG9kX2NhbGxlciwiciI6X19lbXZhbF9nZXRfbW9kdWxlX3Byb3BlcnR5LCJlIjpfX2VtdmFsX2dldF9wcm9wZXJ0eSwiZyI6X19lbXZhbF9pbmNyZWYsInEiOl9fZW12YWxfbmV3LCJmIjpfX2VtdmFsX25ld19jc3RyaW5nLCJsIjpfX2VtdmFsX3J1bl9kZXN0cnVjdG9ycywibyI6X2Fib3J0LCJFIjpfZW1zY3JpcHRlbl9tZW1jcHlfYmlnLCJGIjpfZW1zY3JpcHRlbl9yZXNpemVfaGVhcCwiRyI6X2ZkX2Nsb3NlLCJDIjpfZmRfc2VlaywieiI6X2ZkX3dyaXRlLCJEIjpfc2V0VGVtcFJldDB9O3ZhciBhc209Y3JlYXRlV2FzbSgpO3ZhciBfX193YXNtX2NhbGxfY3RvcnM9TW9kdWxlWyJfX193YXNtX2NhbGxfY3RvcnMiXT1mdW5jdGlvbigpe3JldHVybihfX193YXNtX2NhbGxfY3RvcnM9TW9kdWxlWyJfX193YXNtX2NhbGxfY3RvcnMiXT1Nb2R1bGVbImFzbSJdWyJNIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9jIl09ZnVuY3Rpb24oKXtyZXR1cm4oX21hbGxvYz1Nb2R1bGVbIl9tYWxsb2MiXT1Nb2R1bGVbImFzbSJdWyJOIl0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX07dmFyIF9mcmVlPU1vZHVsZVsiX2ZyZWUiXT1mdW5jdGlvbigpe3JldHVybihfZnJlZT1Nb2R1bGVbIl9mcmVlIl09TW9kdWxlWyJhc20iXVsiTyJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBfX19nZXRUeXBlTmFtZT1Nb2R1bGVbIl9fX2dldFR5cGVOYW1lIl09ZnVuY3Rpb24oKXtyZXR1cm4oX19fZ2V0VHlwZU5hbWU9TW9kdWxlWyJfX19nZXRUeXBlTmFtZSJdPU1vZHVsZVsiYXNtIl1bIlAiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1Nb2R1bGVbIl9fX2VtYmluZF9yZWdpc3Rlcl9uYXRpdmVfYW5kX2J1aWx0aW5fdHlwZXMiXT1mdW5jdGlvbigpe3JldHVybihfX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPU1vZHVsZVsiX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcyJdPU1vZHVsZVsiYXNtIl1bIlEiXSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09ZnVuY3Rpb24oKXtyZXR1cm4oZHluQ2FsbF9qaWppPU1vZHVsZVsiZHluQ2FsbF9qaWppIl09TW9kdWxlWyJhc20iXVsiUiJdKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBjYWxsZWRSdW47ZnVuY3Rpb24gRXhpdFN0YXR1cyhzdGF0dXMpe3RoaXMubmFtZT0iRXhpdFN0YXR1cyI7dGhpcy5tZXNzYWdlPSJQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBleGl0KCIrc3RhdHVzKyIpIjt0aGlzLnN0YXR1cz1zdGF0dXN9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkPWZ1bmN0aW9uIHJ1bkNhbGxlcigpe2lmKCFjYWxsZWRSdW4pcnVuKCk7aWYoIWNhbGxlZFJ1bilkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9cnVuQ2FsbGVyfTtmdW5jdGlvbiBydW4oYXJncyl7YXJncz1hcmdzfHxhcmd1bWVudHNfO2lmKHJ1bkRlcGVuZGVuY2llcz4wKXtyZXR1cm59cHJlUnVuKCk7aWYocnVuRGVwZW5kZW5jaWVzPjApcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoY2FsbGVkUnVuKXJldHVybjtjYWxsZWRSdW49dHJ1ZTtNb2R1bGVbImNhbGxlZFJ1biJdPXRydWU7aWYoQUJPUlQpcmV0dXJuO2luaXRSdW50aW1lKCk7cHJlTWFpbigpO3JlYWR5UHJvbWlzZVJlc29sdmUoTW9kdWxlKTtpZihNb2R1bGVbIm9uUnVudGltZUluaXRpYWxpemVkIl0pTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKCk7cG9zdFJ1bigpfWlmKE1vZHVsZVsic2V0U3RhdHVzIl0pe01vZHVsZVsic2V0U3RhdHVzIl0oIlJ1bm5pbmcuLi4iKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe01vZHVsZVsic2V0U3RhdHVzIl0oIiIpfSwxKTtkb1J1bigpfSwxKX1lbHNle2RvUnVuKCl9fU1vZHVsZVsicnVuIl09cnVuO2lmKE1vZHVsZVsicHJlSW5pdCJdKXtpZih0eXBlb2YgTW9kdWxlWyJwcmVJbml0Il09PSJmdW5jdGlvbiIpTW9kdWxlWyJwcmVJbml0Il09W01vZHVsZVsicHJlSW5pdCJdXTt3aGlsZShNb2R1bGVbInByZUluaXQiXS5sZW5ndGg+MCl7TW9kdWxlWyJwcmVJbml0Il0ucG9wKCkoKX19bm9FeGl0UnVudGltZT10cnVlO3J1bigpOwoKCiAgcmV0dXJuIEJBU0lTLnJlYWR5Cn0KKTsKfSkoKTsKaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0JykKICBtb2R1bGUuZXhwb3J0cyA9IEJBU0lTOwplbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZVsnYW1kJ10pCiAgZGVmaW5lKFtdLCBmdW5jdGlvbigpIHsgcmV0dXJuIEJBU0lTOyB9KTsKZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKQogIGV4cG9ydHNbIkJBU0lTIl0gPSBCQVNJUzsK"},657:A=>{"use strict";A.exports="data:application/wasm;base64,AGFzbQEAAAABlgMmYAF/AX9gAn9/AX9gAn9/AGADf39/AX9gAX8AYAN/f38AYAAAYAR/f39/AX9gBX9/f39/AX9gBH9/f38AYAV/f39/fwBgBn9/f39/fwBgAAF/YAZ/f39/f38Bf2AHf39/f39/fwF/YBN/f39/f39/f39/f39/f39/f39/AX9gCH9/f39/f39/AX9gEn9/f39/f39/f39/f39/f39/fwF/YAd/f39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38Bf2ACfn8Bf2ADf35/AX5gCn9/f39/f39/f38AYA1/f39/f39/f39/f39/AGADf398AGAKf39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAx/f39/f39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YA9/f39/f39/f39/f39/f38Bf2AUf39/f39/f39/f39/f39/f39/f38Bf2AVf39/f39/f39/f39/f39/f39/f39/AX9gBn98f39/fwF/YAN+f38Bf2ABfwF+YAF9AX1gA39/fwF8AtkBJAFhAWEABQFhAWIABAFhAWMAFwFhAWQAEwFhAWUAAQFhAWYAAAFhAWcABAFhAWgABQFhAWkACwFhAWoACgFhAWsAGQFhAWwABAFhAW0AJQFhAW4ACQFhAW8ABgFhAXAAAQFhAXEABwFhAXIAAAFhAXMACQFhAXQABAFhAXUACwFhAXYABQFhAXcACwFhAXgAGAFhAXkAAAFhAXoABwFhAUEABQFhAUIAAgFhAUMACAFhAUQABAFhAUUAAwFhAUYAAAFhAUcAAAFhAUgAAgFhAUkACgFhAUoAAgPLAskCBAADAwkDDwICBwAKBQEBHQMSAQQKJAQAAwMFBQgFAQQCAQEBEAIKAgUSBAUBDggBBAcEEQUAAwMLCQUGCAcFCAcFCAEeEAQEIAkDBgEFDAwcEwobCAcBBQIBCQcAAQkDBAEBAQUAAQUEBAQEBAQGCAgICAcOCQIJAwEDAAMBAQQADAwEBgAAAAAAABEGAgICAgICAgMAAAcBAgAAAwQBBwUDAwEGAQgAAAEBAAYLBQsLCgoKAQIGAwEJCQkDAgAEAAABAgIDFgAVFSIFAQEFAwAAAAYGBgYGBgYGBgYGBgYGBgYABwMHCAUjBQgEAw0HBAMOBQIIDQcBBAINBwEaFAANCAgKCAcAAAAAAAAAAAAAAAAAAAAAAAcDAQMFAAEBAgEAAgQAAAQADA8fDwENCAwEAAcJAwUBAhAOAAgHAwcDAwEAAAACBAAEBwFwAZ0BnQEFBwEBgAKAgAIGCQF/AUHQ7tMCCwclCAFLAgABTAEAAU0AbwFOAM8BAU8ANwFQAIcCAVEAkgEBUgDKAQmeAgEAQQELnAGXAowCpwGwAXJDQkFQT6YBQ0JBUE+lAUNCQXCuAXCtAawBqwGqAakBpAGjAaIB7ALrAuoC6QKhAegCoQHnAuYC5QLkAuMC4gLhAuAC3wLeAt0C3ALbAtoC2QLYAtcC1gLVAp8B1ALTAtIC0QKeAdACzwLOAq8BnwFzc80CQ0JBUE9yQ0JBzALLAqIBygLJAp0ByALHAsYCnQHFAp4BxALDAsICnAHBAsACvwK+ApwBvQK8ArsCugK5ArgCtwK2ArUCtAKzArICsQKwAq8CrgKtAqwCqwKqAqkCqAKnAqYCpQKkAqMCogL2AfMB6wHpAeoB4gE3hAGEAYMBN4MBN+AB0QHVAd8BN9MB1gHeATfUAdcB3QE32wEKn7UMyQLXAgEFfyAABEAgAEEEayIBKAIAIgQhAyABIQIgAEEIaygCACIFQX9MBEAgASAFaiIAKAIFIgIgACgCCTYCCCAAKAIJIAI2AgQgBCAFQX9zaiEDIABBAWohAgsgASAEaiIAKAIAIgEgACABakEEaygCAEcEQCAAKAIEIgQgACgCCDYCCCAAKAIIIAQ2AgQgASADaiEDCyACIAM2AgAgA0F8cSACakEEayADQX9zNgIAIAICfyACKAIAQQhrIgBB/wBNBEAgAEEDdkEBawwBCyAAZyEBIABBHSABa3ZBBHMgAUECdGtB7gBqIABB/x9NDQAaIABBHiABa3ZBAnMgAUEBdGtBxwBqIgBBPyAAQT9JGwsiA0EEdCIAQcDmE2o2AgQgAiAAQcjmE2oiACgCADYCCCAAIAI2AgAgAigCCCACNgIEQcjuE0HI7hMpAwBCASADrYaENwMACwszAQF/IABBASAAGyEAAkADQCAAEC4iAQ0BQbjmEygCACIBBEAgAREGAAwBCwsQDgALIAEL8wICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4IEAQN/IAJBgARPBEAgACABIAIQHhogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCACQQFIBEAgACECDAELIABBA3FFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANPDQEgAkEDcQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC9wBAgF/AX4jAEGgAmsiBCQAAkAgASAAKAIISwRAAkACQCACRQ0AIAGtIgV7QgFRDQAgBUIBfSIFQiCIIAWEIgVCEIggBYQiBUIIiCAFhCIF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OgA0IAEgHSADIARqIgOtiKcgAHE6ADUgASAdIAMgBGoiA62IpyAAcToANiABIB0gAyAEaiIDrYinIABxOgA3IAEgHSADIARqIgOtiKcgAHE6ADggASAdIAMgBGoiA62IpyAAcToAOSABIB0gAyAEaiIDrYinIABxOgA6IAEgHSADIARqIgOtiKcgAHE6ADsgASAdIAMgBGoiA62IpyAAcToAPCABIB0gAyAEaiIDrYinIABxOgA9IAEgHSADIARqIgOtiKcgAHE6AD4gASAdIAMgBGoiA62IpyAAcToAPyABQUBrIB0gAyAEaiIDrYinIABxOgAAIAEgHSADIARqIgOtiKcgAHE6AEEgASAdIAMgBGoiA62IpyAAcToAQiABIB0gAyAEaiIDrYinIABxOgBDIAEgHSADIARqIgOtiKcgAHE6AEQgASAdIAMgBGoiA62IpyAAcToARSABIB0gAyAEaq2IpyAAcToARgwBCyAXBEBBgYgCIA52QQFxBEAgASAdpyIAQQdxOgAnIAEgHUI7iKdBD3E6ADYgASAdQjeIp0EPcToANSABIB1CM4inQQ9xOgA0IAEgHUIviKdBD3E6ADMgASAdQiuIp0EPcToAMiABIB1CJ4inQQ9xOgAxIAEgHUIjiKdBD3E6ADAgASAdQh+Ip0EPcToALyABIABBG3ZBD3E6AC4gASAAQRd2QQ9xOgAtIAEgAEETdkEPcToALCABIABBD3ZBD3E6ACsgASAAQQt2QQ9xOgAqIAEgAEEHdkEPcToAKSABIABBA3ZBD3E6ACgMAgsgASAdpyADcToAJyABIB0gBa2IpyAAcToAKCABIB0gBCAFaiIDrYinIABxOgApIAEgHSADIARqIgOtiKcgAHE6ACogASAdIAMgBGoiA62IpyAAcToAKyABIB0gAyAEaiIDrYinIABxOgAsIAEgHSADIARqIgOtiKcgAHE6AC0gASAdIAMgBGoiA62IpyAAcToALiABIB0gAyAEaiIDrYinIABxOgAvIAEgHSADIARqIgOtiKcgAHE6ADAgASAdIAMgBGoiA62IpyAAcToAMSABIB0gAyAEaiIDrYinIABxOgAyIAEgHSADIARqIgOtiKcgAHE6ADMgASAdIAMgBGoiA62IpyAAcToANCABIB0gAyAEaiIDrYinIABxOgA1IAEgHSADIARqrYinIABxOgA2DAELIAEgHacgAyAAIAotAAIiBkUgCi0AACIIRSAKLQABIgpFcnIiCRtxOgAnIAEgHSAFIAQgCRsiCa2IpyADIAAgCEEBRiAKQQFGciAGQQFGciING3E6ACggASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQJGIApBAkZyIAZBAkZyIg0bcToAKSABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBA0YgCkEDRnIgBkEDRnIiDRtxOgAqIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEERiAKQQRGciAGQQRGciING3E6ACsgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQVGIApBBUZyIAZBBUZyIg0bcToALCABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBBkYgCkEGRnIgBkEGRnIiDRtxOgAtIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEHRiAKQQdGciAGQQdGciING3E6AC4gASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQhGIApBCEZyIAZBCEZyIg0bcToALyABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBCUYgCkEJRnIgBkEJRnIiDRtxOgAwIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEEKRiAKQQpGciAGQQpGciING3E6ADEgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQtGIApBC0ZyIAZBC0ZyIg0bcToAMiABIB0gBSAEIA0bIAlqIgmtiKcgAyAAIAhBDEYgCkEMRnIgBkEMRnIiDRtxOgAzIAEgHSAFIAQgDRsgCWoiCa2IpyADIAAgCEENRiAKQQ1GciAGQQ1GciING3E6ADQgASAdIAUgBCANGyAJaiIJrYinIAMgACAIQQ5GIApBDkZyIAZBDkZyIg0bcToANSABIB0gBSAEIA0bIAlqrYinIAMgAyADIAAgCkEPRhsgCEEPRhsgBkEPRhtxOgA2CyAOQQ9rQQNJDQAgAkUNAEEAIQMgC0EAOgAOIAtBADsBDCAYQQEgGEEBSxshCCABQRVqIQYgFkEJdEHQ5BJqIQJBACEFAkADQCACIAYgAyAYbCIKQQF0Ig5qIgAtAANBAXRqLQAAIAIgBiAOQQFyai0AAEEBdGotAABqIAIgAC0ABUEBdGotAABqIAIgAC0ABEEBdGotAAAgAiAALQACQQF0ai0AACACIAAtAABBAXRqLQAAampJBEBBACEAA0AgBiAAIApqQQF0IgVqIg4tAAAhCSAOIAYgBUEBcmoiBS0AADoAACAFIAk6AAAgAEEBaiIAIAhHDQALQQEhBSALQQxqIANqQQE6AAAgA0EBaiIDIA9HDQEMAgsgA0EBaiIDIA9HDQALIAVBAXFFDQELQX8gBHRBf3MhACAHLQAAIAtBDGpqLQAAIQIgEUUEQCACBEAgASAAIAEtACdrOgAnCyAHLQABIAtBDGpqLQAABEAgASAMaiICQSdqIAAgAi0AJ2s6AAALIActAAIgC0EMamotAAAEQCABIAxBAXRqIgJBJ2ogACACLQAnazoAAAsgBy0AAyALQQxqai0AAARAIAEgDEEDbGoiAkEnaiAAIAItACdrOgAACyAHLQAEIAtBDGpqLQAABEAgASAMQQJ0aiICQSdqIAAgAi0AJ2s6AAALIActAAUgC0EMamotAAAEQCABIAxBBWxqIgJBJ2ogACACLQAnazoAAAsgBy0ABiALQQxqai0AAARAIAEgDEEGbGoiAkEnaiAAIAItACdrOgAACyAHLQAHIAtBDGpqLQAABEAgASAMQQdsaiICQSdqIAAgAi0AJ2s6AAALIActAAggC0EMamotAAAEQCABIAxBA3RqIgJBJ2ogACACLQAnazoAAAsgBy0ACSALQQxqai0AAARAIAEgDEEJbGoiAkEnaiAAIAItACdrOgAACyAHLQAKIAtBDGpqLQAABEAgASAMQQpsaiICQSdqIAAgAi0AJ2s6AAALIActAAsgC0EMamotAAAEQCABIAxBC2xqIgJBJ2ogACACLQAnazoAAAsgBy0ADCALQQxqai0AAARAIAEgDEEMbGoiAkEnaiAAIAItACdrOgAACyAHLQANIAtBDGpqLQAABEAgASAMQQ1saiICQSdqIAAgAi0AJ2s6AAALIActAA4gC0EMamotAAAEQCABIAxBDmxqIgJBJ2ogACACLQAnazoAAAsgBy0ADyALQQxqai0AAEUNASABIAxBD2xqIgFBJ2ogACABLQAnazoAAAwBCyACBEAgASAAIAEtACdrOgAnIAEgACABLQAoazoAKAsgBy0AASALQQxqai0AAARAIAEgDGoiAiIDQSdqIAAgAy0AJ2s6AAAgAiAAIAItAChr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IQQMAQsgBCAAayEDAkAgACAIa0EPTARAIAghAQNAIAAgASkAADcAACABQQhqIQEgAEEIaiIAIARJDQALDAELIAAgCCkAADcAACAAIAgpAAg3AAggA0ERSA0AIAFBGGohACAIIQEDQCAAIAEpABA3AAAgACABKQAYNwAIIAAgASkAIDcAECAAIAEpACg3ABggAUEgaiEBIABBIGoiACAESQ0ACwsgAyAIaiEICyACIARNDQADQCAEIAgtAAA6AAAgCEEBaiEIIARBAWoiBCACRw0ACwsgDSEMCyAMC/cDAQF/IAAoAowDIgEEQCABECQLIAAoAoADIgEEQCABECQLIAAoAvQCIgEEQCABECQLIAAoAugCIgEEQCABECQLIAAoAtwCIgEEQCABECQLIAAoAtACIgEEQCABECQLIAAoAsQCIgEEQCABECQLIAAoArgCIgEEQCABECQLIAAoAqwCIgEEQCABECQLIAAoAqACIgEEQCABECQLIAAoApQCIgEEQCABECQLIAAoAogCIgEEQCABECQLIAAoAvwBIgEEQCABECQLIAAoAvABIgEEQCABECQLIAAoAuQBIgEEQCABECQLIAAoAtgBIgEEQCABECQLIAAoAswBIgEEQCABECQLIAAoAsABIgEEQCABECQLIAAoArQBIgEEQCABECQLIAAoAqgBIgEEQCABECQLIAAoApwBIgEEQCABECQLIAAoApABIgEEQCABECQLIAAoAoQBIgEEQCABECQLIAAoAngiAQRAIAEQJAsgACgCbCIBBEAgARAkCyAAKAJgIgEEQCABECQLIAAoAlQiAQRAIAEQJAsgACgCSCIBBEAgARAkCyAAKAI8IgEEQCABECQLIAAoAjAiAQRAIAEQJAsgACgCJCIBBEAgARAkCyAAKAIYIgEEQCABECQLIAAoAgwiAQRAIAEQJAsgACgCACIABEAgABAkCwvUAQEBfyAAQbQBahBqIAAoAqQBIgEEQCABECQLIAAoApgBIgEEQCABECQLIAAoAowBIgEEQCABECQLIAAoAoABIgEEQCABECQLIAAoAnQiAQRAIAEQJAsgACgCaCIBBEAgARAkCyAAKAJcIgEEQCABECQLIAAoAlAiAQRAIAEQJAsgACgCRCIBBEAgARAkCyAAKAI4IgEEQCABECQLIAAoAiwiAQRAIAEQJAsgACgCICIBBEAgARAkCyAAKAIQIgEEQCABECQLIAAoAgQiAARAIAAQJAsLwQ4CBX8BfiMAQRBrIhckAAJAIAWtIhogDK0gC618VA0AIA5BACAOrSANrXwgGlYbDQBBCCEFIAFBfnFBCEYEQCAGQQJ0aUEBRw0BIAdBAnRpQQFHDQELQQQhFgJAAkACQAJAAkACQAJAAkBBCUEIIBAbIAEgAUEJRhsiGQ4WBAMEAwQDAwMEBAMEAwIBAQEDBAQEAwALQQAhBQwDC0ECIRYLIAYgB2whGAwCC0EQIQULIAYgB2whGCAZQQ1rQQNLDQEgBSEWCyAUIAkgFBsgEiAIIBIbbCADTQ0BDAILIAMgGEkNASAFIRYgGUERRg0BCyAEIAtqIgMgBCANaiIBIBBBAXMiDSAPQQRxIgtFciIFGyEEIAwgDiAFGyEFIAtBAEcgEHEhCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBkOEQAGAQcCCAUFAwQJDQ0KCwsMDQsgACACIAYgByAEIAVBACAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMDAsgACACIAYgByAEIAVBAiAWQQEgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCwsgACACIAYgByAEIAVBBCAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCgsgACACIAYgByAEIAVBBiAWQQAgESALIAogCCAJIBIgE0EAQQAgFBAqIRUMCQsgF0EANgIIIBdCADcDAEEAIQsgGARAIBcgGCAYQQFGQQQQKCAXKAIAIgsgFygCBCIEQQJ0akEAIBggBGtBAnQQJhoLIAAgCyAGIAcgASAOQRRBBEEAIBFBASAKIAggCSAGIBNBAEEAQQAQKgRAIAAgAiAGIAcgAyAMQQcgFkEAIBFBACAKIAggCSASIBNBACALQQAQKiEVCyALRQ0IIAsQJAwICyANIAAgAiAGIAcgAyAMQQkgFkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiIVQQFzcg0HIAAgAiAGIAcgASAOQQogFkEAIBFBASAKIAggCSASIBNBAEEAIBQQKiEVDAcLAkAgEEUEQCAGRQ0BIAdFDQEgEiAGIBIbQQR0IQRBACEQQfiIASgBACELQfyIAS8BACENA0AgBCAQbCEVQQAhBQNAIAIgFWoiAUH/OzsAACABIAs2AAIgASANOwAGIBVBEGohFSAFQQFqIgUgBkcNAAsgEEEBaiIQIAdHDQALDAELIAAgAiAGIAcgASAOQQsgFkEAIBFBASAKIAggCSASIBNBAEEAIBQQKkUNBwsgACACQQhqIAYgByADIAxBACAWQQAgEUEAIAogCCAJIBIgE0EAQQAgFBAqIRUMBgsCQCAQRQRAQQAhASAXQQA7AQQgF0EANgIAIAZFDQEgB0UNASASIAYgEhtBBHQhCwNAIAEgC2whFUEAIQUDQCACIBVqIgRB//8DOwAAIAQgFygCADYAAiAEIBcvAQQ7AAYgFUEQaiEVIAVBAWoiBSAGRw0ACyABQQFqIgEgB0cNAAsMAQsgACACIAYgByABIA5BBCAWQQAgEUEBIAogCCAJIBIgE0EAQQAgFBAqRQ0GCyAAIAJBCGogBiAHIAMgDEECIBZBACARQQAgCiAIIAkgEiATQQBBACAUECohFQwFCyAAIAIgBiAHIAMgDEEEIBZBACARQQAgCiAIIAkgEiATQQBBACAUECpFDQQgAkEIaiEDIBAEQCAAIAMgBiAHIAEgDkEEIBZBACARQQEgCiAIIAkgEiATQQBBACAUECohFQwFC0EAIQ4gF0EAOwEEIBdBADYCAAJAIAZFDQAgB0UNACASIAYgEhtBBHQhAQNAIAEgDmwhFUEAIQIDQCADIBVqIgBB//8DOwAAIAAgFygCADYAAiAAIBcvAQQ7AAYgFUEQaiEVIAJBAWoiAiAGRw0ACyAOQQFqIg4gB0cNAAsLQQEhFQwECyAQBEAgACACIAYgByABIA5BFCAWQQAgEUEBIAogCCAJIBIgE0EAQQAgFBAqRQ0EIAAgAiAGIAcgAyAMQQwgFkEAIBFBACAKIAggCSASIBNBAUEAIBQQKiEVDAQLIAAgAiAGIAcgAyAMQQwgFkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiEVDAMLQRYhCyAQBEBBFSELIAAgAiAGIAcgASAOQRdBBEEAIBFBASAKIAggCSASIBNBAEEAIBQQKkUNAwsgACACIAYgByADIAwgC0EEQQAgEUEAIAogCCAJIBIgE0EAQQAgFBAqIRUMAgsgACACIAYgByAEIAVBGEEZIBlBDkYbQQJBACARIAsgCiAIIAkgEiATQQBBACAUECohFQwBC0EcIQsgEARAQRohCyAAIAIgBiAHIAEgDkEbQQJBACARQQEgCiAIIAkgEiATQQBBACAUECpFDQELIAAgAiAGIAcgAyAMIAtBAkEAIBFBACAKIAggCSASIBNBAEEAIBQQKiEVCyAXQRBqJAAgFQuVAwEKfyABLQABIgUgA3ZBA2wgAS0AACIEIAN2aiABLQACIgsgA3ZBCWxqIAEtAAMiDCADdkEbbGogAS0ABCINIAN2QdEAbGpBoL4Rai0AACEGIANBAmohCUF/IAN0QX9zIQcgA0EBdCIKQQJqIgEEQCAEIAdxIAZBA3EgA3RyIAUgB3EgCXRyIQUgAigCACEEA0AgACAEQQN1aiIIIAgtAAAgBSAEQQdxIgR0cjoAACACIAFBCCAEayIEIAEgBEgbIgggAigCAGoiBDYCACAFIAh2IQUgASAIayIBDQALCyADQQNsIgVBBmoiAQRAIAZBAnZBA3EgBkEHdiAFQQVqdHIgBkEEdkEBcSAJdHIgBkEFdkEDcSAKQQNqdHIgByALcUECdHIgByAMcSADQQNqdHIgByANcSAKQQVqdHIhBSACKAIAIQQDQCAAIARBA3VqIgMgAy0AACAFIARBB3EiA3RyOgAAIAIgAUEIIANrIgMgASADSBsiAyACKAIAaiIENgIAIAUgA3YhBSABIANrIgENAAsLC70CAQV/IwBBIGsiAyQAAkAgAUVBACACGw0AIANCADcDGCADIAE2AhAgAyABNgIMIAMgAjYCCCADIAEgAmo2AhQgA0EIaiAAQSBqEDFFDQAgACgCJEUNACADQQhqIABBxABqEDFFDQAgACgCSEUNACADQQhqIABB6ABqEDFFDQAgACgCbEUNACADQQhqIABBjAFqEDFFDQAgACgCkAFFDQACQCADKAIcIgFBDU8EQCADKAIYIQQMAQsgAygCDCECIAMoAhQhBgNAQQAhBCACIAZJBEAgAyACQQFqIgU2AgwgAi0AACEEIAUhAgsgAyABQQhqIgU2AhwgAyADKAIYIAQgAXRyIgQ2AhggAUEFSSEHIAUhASAHDQALCyADIARBDXY2AhggACAEQf8/cTYCsAFBASEECyADQSBqJAAgBAsTABDQARCoAUHo5RNBggERAAAaCwkAIAEgABEAAAvEDwEhfyMAQRBrIgMkACAAIAEpAAA3AAAgACABKQAINwAIIAItAAgEQCAAIAAtAA46AA8gACAALwAMOwANIAAgAC0ACjoACyAAIAAvAAg7AAkgACAALQAGOgAHIAAgAC8ABDsABSAAIAAtAAI6AAMgACAALwAAOwABCyACLQAJBEAgACgADCEBIAAgACgACDYADCAAIAAoAAQ2AAggACAAKAAANgAEIAAgATYAAAsgAi0ADCEjAn8gAi0ABgRAIABBAmohBCAAQQFqIQUgAEEHaiEGIABBBmohByAAQQVqIQggAEEEaiEJIABBC2ohCiAAQQpqIQsgAEEJaiEMIABBCGohDSAAQQ9qIQ4gAEEOaiEPIABBDWohECAAQQxqIREgACESIABBA2oMAQsgAEEOaiEEIABBDWohBSAAQQxqIRIgAEELaiEGIABBCmohByAAQQlqIQggAEEIaiEJIABBB2ohCiAAQQZqIQsgAEEFaiEMIABBBGohDSAAQQNqIQ4gAEECaiEPIABBAWohECAAIREgAEEPagshASARLQAAIRMgEC0AACEUIA8tAAAhFSAOLQAAIRYgDS0AACEXIAwtAAAhGCALLQAAIRkgCi0AACEaIAktAAAhGyAILQAAIRwgBy0AACEdIAYtAAAhHiASLQAAIR8gBS0AACEgIAQtAAAhISABLQAAISJBACEBQQAhBEEAIQVBACEGQQAhB0EAIQhBACEJQQAhCkEAIQtBACEMQQAhDUEAIQ5BACEPQQAhEEEAIRFBACESAkACQAJAAkACQCAjDgQDAgEABAsgHyEBIBshBCAXIQUgEyEGICAhByAcIQggGCEJIBQhCiAhIQsgHSEMIBkhDSAVIQ4gIiEPIB4hECAaIREgFiESDAMLIBMhASAUIQQgFSEFIBYhBiAXIQcgGCEIIBkhCSAaIQogGyELIBwhDCAdIQ0gHiEOIB8hDyAgIRAgISERICIhEgwCCyAWIQEgGiEEIB4hBSAiIQYgFSEHIBkhCCAdIQkgISEKIBQhCyAYIQwgHCENICAhDiATIQ8gFyEQIBshESAfIRIMAQsgIiEBICEhBCAgIQUgHyEGIB4hByAdIQggHCEJIBshCiAaIQsgGSEMIBghDSAXIQ4gFiEPIBUhECAUIREgEyESCyAAIAE6AA8gACAEOgAOIAAgBToADSAAIAY6AAwgACAHOgALIAAgCDoACiAAIAk6AAkgACAKOgAIIAAgCzoAByAAIAw6AAYgACANOgAFIAAgDjoABCAAIA86AAMgACAQOgACIAAgEToAASAAIBI6AAAgAi0ABwRAIAMgABC2ASAAIAMpAwg3AAggACADKQMANwAACyACLQAKBEAgAyAAELUBIAAgAykDCDcACCAAIAMpAwA3AAALIAItAAsEQCADIAAQtAEgACADKQMINwAIIAAgAykDADcAAAsgAi0AAQRAIAMgABCzASAAIAMpAwg3AAggACADKQMANwAACyACLQADBEAgACAALQAPQcWnBWotAAA6AA8gACAALQAOQcWnBWotAAA6AA4gACAALQANQcWnBWotAAA6AA0gACAALQAMQcWnBWotAAA6AAwgACAALQALQcWnBWotAAA6AAsgACAALQAKQcWnBWotAAA6AAogACAALQAJQcWnBWotAAA6AAkgACAALQAIQcWnBWotAAA6AAggACAALQAHQcWnBWotAAA6AAcgACAALQAGQcWnBWotAAA6AAYgACAALQAFQcWnBWotAAA6AAUgACAALQAEQcWnBWotAAA6AAQgACAALQADQcWnBWotAAA6AAMgACAALQACQcWnBWotAAA6AAIgACAALQABQcWnBWotAAA6AAEgACAALQAAQcWnBWotAAA6AAALIAItAAQEQCADIAAQsgEgACADKQMINwAIIAAgAykDADcAAAsgAi0AACIBBEAgACABQQJ0QdCnBWoiASAALQAPai0AADoADyAAIAEgAC0ADmotAAA6AA4gACABIAAtAA1qLQAAOgANIAAgASAALQAMai0AADoADCAAIAEgAC0AC2otAAA6AAsgACABIAAtAApqLQAAOgAKIAAgASAALQAJai0AADoACSAAIAEgAC0ACGotAAA6AAggACABIAAtAAdqLQAAOgAHIAAgASAALQAGai0AADoABiAAIAEgAC0ABWotAAA6AAUgACABIAAtAARqLQAAOgAEIAAgASAALQADai0AADoAAyAAIAEgAC0AAmotAAA6AAIgACABIAAtAAFqLQAAOgABIAAgASAALQAAai0AADoAAAsgAi0ABQRAIABBAyAALQAPazoADyAAQQMgAC0ADms6AA4gAEEDIAAtAA1rOgANIABBAyAALQAMazoADCAAQQMgAC0AC2s6AAsgAEEDIAAtAAprOgAKIABBAyAALQAJazoACSAAQQMgAC0ACGs6AAggAEEDIAAtAAdrOgAHIABBAyAALQAGazoABiAAQQMgAC0ABWs6AAUgAEEDIAAtAARrOgAEIABBAyAALQADazoAAyAAQQMgAC0AAms6AAIgAEEDIAAtAAFrOgABIABBAyAALQAAazoAAAsgAi0AAgRAIAMgABCxASAAIAMpAwg3AAggACADKQMANwAACyADQRBqJAALQgEBf0E8ECUiAEIANwMAIABBADYCOCAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAACwQAQQELhgQBCH8CQCAAKAIAIg1FDQAgACgCXCABTQ0AAkAgACgALEECTwRAIANBBU0NAQwCCyADDQELIAAoACgiDEEBIAxBAUsbIAJNDQAgAEGMBmohDAJ/IAAoADRBAkcEQCANIAAoAlggAUEYbGoiDigAAGohDyAOKAAIDAELIAEgDCgCpANHBEAgACABIAxBmANqELgBRQ0CIAwgATYCpAMLIAwoApgDIQ8gDCgCnAMLIRAgACgAICABdiINQQEgDUEBSxsiEUEDakECdiENIAAoABwgAXYiDkEBIA5BAUsbIhJBA2pBAnYhDgJAAkACQCAAKAKcAQ4CAAEDCyAAKALEAUUNAiADIAAoACwgAiAAKAAoIgNBASADQQFLGyABbGpsaiICIAAoApQBTw0CIABBvAFqIAYgBCAFIAAoAgAgACgCBCAOIA0gEiARIAEgACgCWCABQRhsaigAACIDIAAoApABIAJBFGxqIgEoAARqIAEoAAggASgAECICBH8gASgADCADagVBAAsgAiAHIAAtALQJIAAtALUJIAggDCAJEGwNAQwCCyAQIA0gDmxBBHQiASAAKAAsIAJsIANqbCICTQ0BIAGtIBCtIAKtfVYNASAAIAYgBCAFIAIgD2ogASAOIA0gEiARQQAgASAHIAAtALQJIAggCSAKIAsQV0UNAQtBASETCyATC7kCAQZ/IAJBAnQgAkEEdnIiCCAFQQJ0IAVBBHZyIgVBAXRqQQNuIAUgCGsiAmwgAUEDdCABQQJ2ciIJIARBA3QgBEECdnIiBEEBdGpBA24gBCAJayIBbGogA0EDdCADQQJ2ciIKIAZBA3QgBkECdnIiBkEBdGpBA24gBiAKayIDbGoiCyAFIAhBAXRqQQNuIAJsIAQgCUEBdGpBA24gAWxqIAYg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RiECCyACIAdyIQILIARBEGokACACQQFxC6kDAQh/IwBB4AFrIgIkAAJAIAAgAkHIAGpBAEEBEC0iB0UNACACKAKwASIDQQhGBEAgAi0AuwEhAEEAIQMgAUEANgACIAEgADoAASABIAA6AAAgAUEAOwAGQQEhBUGqASEEAkACfyACLQC6AUEBdCIAQZGsEmotAAAgAi0AuQFBAXQiCEGRtBJqLQAAQQV0IAItALgBQQF0IglBkawSai0AAEELdHJyIgYgAEGQrBJqLQAAIAhBkLQSai0AAEEFdCAJQZCsEmotAABBC3RyciIARgRAIABFBEBB1QAhBAwDC0EAIQQgAEEBayEGCyAAIAZPCwRAIAAhBSAGIQMMAQsgBEHVAHIhBCAGIQUgACEDCyABIAM6AAogASAFOgAIIAEgBEGBgoQIbDYADCABIANBCHY6AAsgASAFQQh2OgAJDAELIAFBCGohACADIAIoArQBIAJBuAFqIAJByABqIAIQLyABIAJBA3IQSyACLQC8AQRAIAJByABqIAAQfAwBCyACLQC9AQRAIAJByABqIAIgABB7DAELIAAgAkEAEFgLIAJB4AFqJAAgBwu7AgACQCABQRRLDQACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDgoAAQIDBAUGBwgJCgsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACQQARAgALC0oBA38gACgCACwAAEEwa0EKSQRAA0AgACgCACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBMGshAiABLAABQTBrQQpJDQALCyACCxIAIABFBEBBAA8LIAAgARDwAQv1GAEcfyMAQSBrIgYkAAJAIAAoAmhBCEYEQCACIAAoAngiAUEFdCAALQB3QQF0ciABQQJ0cjoAAyAAKAKMASEBIAICfyAALQB3BEAgAiABQQN0OgAAIAIgAC0AkAFBA3Q6AAEgAC0AlAFBA3QMAQsgAiABQQR0IAFyOgAAIAIgACgCkAEiAUEEdCABcjoAASAAKAKUASIBQQR0IAFyCzoAAiACIAAoAogBQQJ0QfCyAWooAgA2AAQMAQsgAiAALQB2IgMgAC0AdyILQQF0ciAAKAJ4QQV0ciAAKAJ8QQJ0cjoAAyABIANBBXQiA0GPswFqLQAAQQR0aiADQY6zAWotAABBAnRqIgctAAAhDiABIANBjbMBai0AAEEEdGogA0GMswFqLQAAQQJ0aiIELQAAIQ8gASADQYuzAWotAABBBHRqIANBirMBai0AAEECdGoiCi0AACEQIAEgA0GJswFqLQAAQQR0aiADQYizAWotAABBAnRqIggtAAAhESABIANBh7MBai0AAEEEdGogA0GGswFqLQAAQQJ0aiIMLQAAIRIgASADQYWzAWotAABBBHRqIANBhLMBai0AAEECdGoiBS0AACETIAEgA0GDswFqLQAAQQR0aiADQYKzAWotAABBAnRqIgktAAAhFCABIANBgbMBai0AAEEEdGogA0GAswFqLQAAQQJ0aiINLQAAIRUgBy0AASEWIAQtAAEhFyAKLQABIRggCC0AASEZIAwtAAEhGiAFLQABIRsgCS0AASEcIA0tAAEhHSAHLQACIR4gBC0AAiEEIAotAAIhCiAILQACIQggDC0AAiEMIAUtAAIhBSAJLQACIQkgDS0AAiENIAZBADoACyAGQR9BDyALGyIHIB4gBCAKIAggDCAFIAkgDWpqampqampsQfwHakH//wNxQfgPbjoACiAGIBYgFyAYIBkgGiAbIBwgHWpqampqamogB2xB/AdqQf//A3FB+A9uOgAJIAYgDiAPIBAgESASIBMgFCAVampqampqaiAHbEH8B2pB//8DcUH4D246AAhBgDogACgCaHZBAXFFBEAgBkEQaiAGQQhqIAAoAoABIAdBABB2IAYgBigCEDYCCAsgASADQZ+zAWotAABBBHRqIANBnrMBai0AAEECdGoiBC0AACEOIAEgA0GdswFqLQAAQQR0aiADQZyzAWotAABBAnRqIgotAAAhDyABIANBm7MBai0AAEEEdGogA0GaswFqLQAAQQJ0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IgM2AhAgBCADIBFqQQF0IgM2AhQgBCADIBBqQQF0IgM2AhggBCADIA9qQQF0IgM2AhwgBCADIA5qQQF0IgM2AiAgBCADIAxqQQF0IgM2AiQgBCADIApqQQF0IgM2AiggBCADIAZqQQF0IgM2AiwgBCADIAlqQQF0IgM2AjAgBCADIAhqQQF0IgM2AjQgBCADIAdqQQF0IgM2AjggBCADIAVqQQF0IgM2AjwgBCAEKAK8ASIVIANqQQF0IgM2AkAgBCAEKALAASIWIANqQQF0IgM2AkQgBCAEKALEASIXIANqQQF0IgM2AkggBCAEKALIASIYIANqQQF0IgM2AkwgBCAEKALMASIZIANqQQF0IgM2AlAgBCAEKALQASIaIANqQQF0IgM2AlQgBCAEKALUASIbIANqQQF0IgM2AlggBCAEKALYASIcIANqQQF0IgM2AlwgBCAEKALcASIdIANqQQF0IgM2AmAgBCAEKALgASIeIANqQQF0IgM2AmQgBCAEKALkASIfIANqQQF0IgM2AmggBCAEKALoASIgIANqQQF0IgM2AmwgBCAEKALsASIhIANqQQF0IgM2AnAgBCAEKALwASIiIANqQQF0IgM2AnQgBCAEKAL0ASIjIANqQQF0IgM2AnggBCAEKAL4ASIkIANqQQF0IgM2AnwgA0GAgICAeEcEQEEAIQMgJCAjICIgISAgIB8gHiAdIBwgGyAaIBkgGCAXIBYgFSAFIAcgCCAJIAYgCiAMIA4gDyAQIBEgEiATIBRqampqampqampqampqampqampqampqampqampqakEBSw0BC0EBIQMgAUEBSA0AQQAhCkF/IQUDQAJAIAIgCmotAAAiCEUNACAEIAhBAnRqIgcgBygCACIGQQFqNgIAQQAhAyAIIQkDQCAGQQFxIANBAXRyIQMgBkEBdiEGIAlBAWsiCQ0ACyAIQQpNBEAgA0GACE8NASAIQRB0IApyIQdBASAIdCEIA0AgDSgCACADQQJ0aiIJKAIABEBBACEDDAULIAkgBzYCACADIAhqIgNBgAhJDQALDAELAkAgDSgCACADQf8HcUECdGoiBygCACIJBEAgBSEHIAkhBQwBCyAHIAU2AgAgBUECayEHCyAFQX9KBEBBACEDDAMLIANBCXYhCSAIQQtKBEADQEEAIQMgBSAJQQF2IglBAXFrIgVB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Shs6AAAgACAEaiAGQQN0IAcgCEECay0AAGprIAEgAkEDciIHai0AACICayABIAlBAnJqLQAAa0EEbUEQdEEQdSIEQQMgBEEDSBsiBEEAIARBAEobOgAAIAAgB2ogAkEDdCAGIAhBAWstAABqayACayABIAlBA3JqLQAAa0EEbUEQdEEQdSICQQMgAkEDSBsiAkEAIAJBAEobOgAAIANBBEcNAAsLwgYBC38gAEIANwAAIABCADcACANAQeMAIQQCfyADQQFrIgZBA0siC0UEQCABIAZBAnQiBGotAAAiAkHjACACQeMASRsiAiABIARBAXJqLQAAIgQgAiAESRshBAsgBAsgA0ECdCIHIAFqIgktAAAiAiACIARLGyIEIAEgB0EBciIFaiIKLQAAIgIgAiAESxshAiADQQFqIQQgACAHaiADQQJLIgwEfyACBSACIAEgBEECdCIDai0AACIIIAIgCEkbIgIgASADQQFyai0AACIDIAIgA0kbCzoAAEHjACECAn8gC0UEQCABIAZBAnQiA2otAAAiAkHjACACQeMASRsiAiABIANBAXJqLQAAIgggAiAISRsiAiABIANBAnJqLQAAIgMgAiADSRshAgsgAgsgCS0AACIDIAIgA0kbIgMgCi0AACICIAIgA0sbIgMgASAHQQJyIghqIgktAAAiAiACIANLGyECIAAgBWogDAR/IAIFIAIgASAEQQJ0IgNqLQAAIgUgAiAFSRsiAiABIANBAXJqLQAAIgUgAiAFSRsiAiABIANBAnJqLQAAIgMgAiADSRsLOgAAQeMAIQICfyALRQRAIAEgBkECdCIDQQFyai0AACICQeMAIAJB4wBJGyICIAEgA0ECcmotAAAiBSACIAVJGyICIAEgA0EDcmotAAAiAyACIANJGyECCyACCyAKLQAAIgMgAiADSRsiAyAJLQAAIgIgAiADSxsiAyABIAdBA3IiB2oiCi0AACICIAIgA0sbIQMgACAIaiAMBH8gAwUgAyABIARBAnQiAkEBcmotAAAiBSADIAVJGyIDIAEgAkECcmotAAAiBSADIAVJGyIDIAEgAkEDcmotAAAiAiACIANLGws6AABB4wAhAwJ/IAtFBEAgASAGQQJ0IgNBAnJqLQAAIgJB4wAgAkHjAEkbIgIgASADQQNyai0AACIDIAIgA0kbIQMLIAMLIAkt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AC9BD3E2ArgBDAELIABBATYCsAEgAEEBNgKcASAAIANBD3EiATYCtAEgACABQQNGIAFBBUZyOgC0CQsgABC/AUUNACAAKAJ0IgJFBEBBAQ8LIAAoAnAhA0EAIQEDQCADIAFBGGxqKAIAQaTHARBnBEBBASEFIAIgAUEBaiIBSw0BDAILC0EBIQUgAEEBOgC1CQsgBQ8LQQALmgQBBH8DQCAAIANBDGxqIgEoAgAiAgRAIAIQJCABQQA2AgAgAUIANwIECyAAIANBwAFsaiIBIgIoAhgiBARAIAQQJCACQQA2AhggAUIANwIcCyABKAIkIgIEQCACECQgAUEANgIkIAFCADcCKAsgASgCMCICBEAgAhAkIAFBADYCMCABQgA3AjQLIAEoAjwiAgRAIAIQJCABQQA2AjwgAUFAa0IANwIACyABKAJIIgIEQCACECQgAUEANgJIIAFCADcCTAsgASgCVCICBEAgAhAkIAFBADYCVCABQgA3AlgLIAEoAmAiAgRAIAIQJCABQQA2AmAgAUIANwJkCyABKAJsIgIEQCACECQgAUEANgJsIAFCADcCcAsgASgCeCICBEAgAhAkIAFBADYCeCABQgA3AnwLIAEoAoQBIgIEQCACECQgAUEANgKEASABQgA3AogBCyABKAKQASICBEAgAhAkIAFBADYCkAEgAUIANwKUAQsgASgCnAEiAgRAIAIQJCABQQA2ApwBIAFCADcCoAELIAEoAqgBIgIEQCACECQgAUEANgKoASABQgA3AqwBCyABKAK0ASICBEAgAhAkIAFBADYCtAEgAUIANwK4AQsgASgCwAEiAgRAIAIQJCABQQA2AsABIAFCADcCxAELIAEoAswBIgIEQCACECQgAUEANgLMASABQgA3AtABCyADQQFqIgNBAkcNAAsLfwAgAEIANwK8ASAAQgA3ApABIABCADcCWCAAQQA2ApgBIABCADcCxAEgAEIANwLMASAAQQA2AtQBIABCADcCYCAAQgA3AmggAEIANwJwIABBADYCeCAAIAE2AtgBIABB3AFqQQBBrAQQJhogAEGMBmpBAEGkAxAmGiAAEFQgAAvIBwIjfwZ9A0AgASAEai0AACIMIAAgBEECdGoiBS0AAiIObCAJaiEJIAwgBS0AASIPbCAHaiEHIAwgBS0AACIFbCANaiENIAogDmohCiAI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IAJBgsgBai8BACIAIAJBhsgBai8BACIBSyIDIAEgACADGyIAIAJBisgBai8BACIBSyIDGyABIAAgAxsiACACQY7IAWovAQAiAUsiAxsgASAAIAMbIgAgAkGSyAFqLwEAIgFLIgMbIAEgACADGyIAIAJBlsgBai8BACIBSyIDGyABIAAgAxsiACACQZrIAWovAQAiAUsiAxsgAkGeyAFqLwEAIgggASAAIAMbIgBB//8DcUkiARsgAkGiyAFqLwEAIgMgCCAAIAEbIgBB//8DcUkiARsgAkGmyAFqLwEAIAMgACABG0H//wNxSRs6AAAgBEHR0RNqQQlBCEEHQQZBBUEEQQNBAiACQdrHAWovAQAiACACQd7HAWovAQAiAUsiAyABIAAgAxsiACACQeLHAWovAQAiAUsiAxsgASAAIAMbIgAgAkHmxwFqLwEAIgFLIgMbIAEgACADGyIAIAJB6scBai8BACIBSyIDGyABIAAgAxsiACACQe7HAWovAQAiAUsiAxsgASAAIAMbIgAgAkHyxwFqLwEAIgFLIgMbIAJB9scBai8BACIIIAEgACADGyIAQf//A3FJIgEbIAJB+scBai8BACIDIAggACABGyIAQf//A3FJIgEbIAJB/scBai8BACADIAAgARtB//8DcUkbOgAAIARB0NETakEJQQhBB0EGQQVBBEEDQQIgAkGyxwFqLwEAIgQgAkG2xwFqLwEAIgBLIgEgACAEIAEbIgQgAkG6xwFqLwEAIgBLIgEbIAAgBCABGyIEIAJBvscBai8BACIASyIBGyAAIAQgARsiBCACQcLHAWovAQAiAEsiARsgACAEIAEbIgQgAkHGxwFqLwEAIgBLIgEbIAAgBCABGyIEIAJByscBai8BACIASyIBGyACQc7HAWovAQAiAyAAIAQgARsiBEH//wNxSSIAGyACQdLHAWovAQAiASADIAQgABsiBEH//wNxSSIAGyACQdbHAWovAQAgASAEIAAbQf//A3FJGzoAACAFQQFqIgVBCEcNAAsgBkEBaiIGQSBHDQALQQAhBkH83RNBBDYCAEHo3RNCg4CAgBA3AwBB1N0TQoWAgIAgNwIAQcjfE0L8gICAsBA3AwBBwN8TQuyAgICwEjcDAEG43xNC3ICAgLAUNwMAQbDfE0LMgICAsBY3AwBBqN8TQruAgIDAGDcDAEGg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QQF0ai0AALNDAAB/Q5U4AhggA0IANwMIIANBADYCBCADQQA2AgBBA0EHIANBIGogA0EQaiADQQRqIAMgA0EIahA1IAEgAy0ABDoALCABIAMtAAA6ADggASADLQAFOgAtIAEgAy0AAToAOSABIAMtAAY6AC4gAy0AAiEEIAFB/wA6ADsgAUH/ADoALyABIAQ6ADogASADKAIINgJIIAEgAygCDDYCTCADIAIgAC0AG0EBdGotAACzQwAAf0OVOAIgIAMgAiAALQAcQQF0ai0AALNDAAB/Q5U4AhAgAyACIAAtAB1BAXRqLQAAs0MAAH9DlTgCJCADIAIgAC0AHkEBdGotAACzQwAAf0OVOAIUIAMgAiAALQAfQQF0ai0AALNDAAB/Q5U4AiggAyACIAAtACBBAXRqLQAAs0MAAH9DlTgCGCADQgA3AwggA0EANgIEIANBADYCAEEDQQcgA0EgaiADQRBqIANBBGogAyADQQhqEDUgASADLQAEOgAoIAEgAy0AADoANCABIAMtAAU6ACkgASADLQABOgA1IAEgAy0ABjoAKiADLQACIQIgAUH/ADoANyABQf8AOgArIAEgAjoANiABIAMoAgg2AkAgASADKAIMNgJECyABIAAtACc6AAggASAALQAoOgAJIAEgAC0AKToACiABIAAtACo6AAsgASAALQArOgAMIAEgAC0ALDoADSABIAAtAC06AA4gASAALQAuOgAPIAEgAC0ALzoAECABIAAtADA6ABEgASAALQAxOgASIAEgAC0AMjoAEyABIAAtADM6ABQgASAALQA0OgAVIAEgAC0ANToAFiABIAAtADY6ABcMCAsgAUEFNgIAIAEgACgCEEEBakEDcTYCXCACQQ9rQQJNBEAgASAGQQl0QdDkEmoiAiAALQAVQQF0ai0AAEH/AGxB/wBqQf8BbiIEOgAoIAIgAC0AFkEBdGotAAAhBiABIAQ6ACkgASAEOgAqIAEgBkH/AGxB/wBqQf8BbiIEOgA1IAEgBDoANCABIAQ6ADYgASACIAAtABdBAXRqLQAAOgArIAEgAiAALQAYQQF0ai0AADoANwwGC0EAQQMgACgCECIIGyEJIAZBCXRB0OQSaiIFIAAtABVBAXRqLQAAIQQgBSAALQAWQQF0ai0AACEHIAgEQCAHQf8BcUH/AGxB/wBqQf8BbiEHIARB/wFxQf8AbEH/AGpB/wFuIQQLIAEgCWoiCCAHOgA0IAggBDoAKCAFIAAtABhBAXRqLQAAIQQgBSAALQAXQQF0ai0AACEFQQNBASAAKAIQQQFGIgcbIQggB0UEQCAFQf8BcUH/AGxB/wBqQf8BbiEFIARB/wFxQf8AbEH/AGpB/wFuIQQLIAEgCGoiByAEOgA0IAcgBToAKCAGQQl0QdDkEmoiBCAALQAaQQF0ai0AACEFIAQgAC0AGUEBdGotAAAhBEEDQQIgACgCEEECRiIHGyEIIAdFBEAgBUH/AXFB/wBsQf8AakH/AW4hBSAEQf8BcUH/AGxB/wBqQf8BbiEECyABIAhqIgcgBToANCAHIAQ6ACggACgCECEHQf8BIQVB/wEhBCACQQhrQQZNBEAgBkEJdEHQ5BJqIgYgAC0AHEEBdGotAAAhBCAGIAAtABtBAXRqLQAAIQULIAdBAk0NAwwECyABQQI2AgAgASAAKAJsQQZsQcCKAWotAAA2AgQgACgCbEEGbEHEigFqLQAAIgJBAXEhBAJAAkACQAJAIAJBAXYiCQ4CAQACCyABIAZBCXRB0OQSaiICIABBFWoiB0EGQQAgBBsiCGoiBS0AAEEBdGotAABBH2xB/wBqQf8BbjoAKCABIAIgByAIQQFyaiIILQAAQQF0ai0AAEEfbEH/AGpB/wFuOgA0IAEgAiAFLQACQQF0ai0AAEEfbEH/AGpB/wFuOgApIAEgAiAILQACQQF0ai0AAEEfbEH/AGpB/wFuOgA1IAEgAiAFLQAEQQF0ai0AAEEfbEH/AGpB/wFuOgAqIAEgAiAILQAEQQF0ai0AAEEfbEH/AGpB/wFuOgA2IAEgAiAHQQBBBiAEGyIEaiIFLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgAsIAEgAiAHIARBAXJqIgctAABBAXRqLQAAQR9sQf8AakH/AW46ADggASACIAUtAAJBAXRqLQAAQR9sQf8AakH/AW46AC0gASACIActAAJBAXRqLQAAQR9sQf8AakH/AW46ADkgASACIAUtAARBAXRqLQAAQR9sQf8AakH/AW46AC4gASACIAdBBGoiBC0AAEEBdGotAABBH2xB/wBqQf8BbjoAOiABIAIgBS0AAEEBdGotAABBH2xB/wBqQf8BbjoAMCABIAIgBy0AAEEBdGotAABBH2xB/wBqQf8BbjoAPCABIAIgBS0AAkEBdGotAABBH2xB/wBqQf8BbjoAMSABIAIgBy0AAkEBdGotAABBH2xB/wBqQf8BbjoAPSABIAIgBS0ABEEBdGotAABBH2xB/wBqQf8BbjoAMgwCCyABIAZBCXRB0OQSaiICIABBFWoiCEEGQQAgBBsiB2oiBS0AAEEBdGotAABBH2xB/wBqQf8BbjoAKCABIAIgCCAHQQFyaiIHLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgA0IAEgAiAFLQACQQF0ai0AAEEfbEH/AGpB/wFuOgApIAEgAiAHLQACQQF0ai0AAEEfbEH/AGpB/wFuOgA1IAEgAiAFLQAEQQF0ai0AAEEfbEH/AGpB/wFuOgAqIAEgAiAHLQAEQQF0ai0AAEEfbEH/AGpB/wFuOgA2IAEgAiAFLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgAsIAEgAiAHLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgA4IAEgAiAFLQACQQF0ai0AAEEfbEH/AGpB/wFuOgAtIAEgAiAHLQACQQF0ai0AAEEfbEH/AGpB/wFuOgA5IAEgAiAFLQAEQQF0ai0AAEEfbEH/AGpB/wFuOgAuIAEgAiAHLQAEQQF0ai0AAEEfbEH/AGpB/wFuOgA6IAEgAiAIQQBBBiAEGyIFaiIELQAAQQF0ai0AAEEfbEH/AGpB/wFuOgAwIAEgAiAIIAVBAXJqIgUtAABBAXRqLQAAQR9sQf8AakH/AW46ADwgASACIAQtAAJBAXRqLQAAQR9sQf8AakH/AW46ADEgASACIAUtAAJBAXRqLQAAQR9sQf8AakH/AW46AD0gASACIAQtAARBAXRqLQAAQR9sQf8AakH/AW46ADIgBUEEaiEEDAELIAEgBkEJdEHQ5BJqIgIgAEEVaiIFQQZBACAEGyIIaiIHLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgAoIAEgAiAFIAhBAXJqIggtAABBAXRqLQAAQR9sQf8AakH/AW46ADQgASACIActAAJBAXRqLQAAQR9sQf8AakH/AW46ACkgASACIAgtAAJBAXRqLQAAQR9sQf8AakH/AW46ADUgASACIActAARBAXRqLQAAQR9sQf8AakH/AW46ACogASACIAgtAARBAXRqLQAAQR9sQf8AakH/AW46ADYgASACIAUgBEEBc0EGbCIIaiIHLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgAsIAEgAiAFIAhBAXJqIggtAABBAXRqLQAAQR9sQf8AakH/AW46ADggASACIActAAJBAXRqLQAAQR9sQf8AakH/AW46AC0gASACIAgtAAJBAXRqLQAAQR9sQf8AakH/AW46ADkgASACIActAARBAXRqLQAAQR9sQf8AakH/AW46AC4gASACIAgtAARBAXRqLQAAQR9sQf8AakH/AW46ADogASACIAVBASAJQQJHQQF0IgdrIAcgBBtBBmwiB2oiBC0AAEEBdGotAABBH2xB/wBqQf8BbjoAMCABIAIgBSAHQQFyaiIFLQAAQQF0ai0AAEEfbEH/AGpB/wFuOgA8IAEgAiAELQACQQF0ai0AAEEfbEH/AGpB/wFuOgAxIAEgAiAFLQACQQF0ai0AAEEfbEH/AGpB/wFuOgA9IAEgAiAELQAEQQF0ai0AAEEfbEH/AGpB/wFuOgAyIAVBBGohBAtBASEFIAEgBkEJdCAELQAAQQF0ckHQ5BJqLQAAQR9sQf8AakH/AW46AD4gASAALQAnOgAIIAEgAC0AKDoACSABIAAtACk6AAogASAALQAqOgALIAEgAC0AKzoADCABIAAtACw6AA0gASAALQAtOgAOIAEgAC0ALjoADyABIAAtAC86ABAgASAALQAwOgARIAEgAC0AMToAEiABIAAtADI6ABMgASAALQAzOgAUIAEgAC0ANDoAFSABIAAtADU6ABYgASAALQA2OgAXDAcLIAAtAHNBA3QiBEHUuBNqLwEAIAAtAHJBA3QiBkHUuBNqLwEAIAAtAHFBA3QiBUHUuBNqLwEAIAAtAHBBA3QiB0HUuBNqLwEAampqIQICQCAEQdC4E2ovAQAgBkHQuBNqLwEAIAVB0LgTai8BACAHQdC4E2ovAQBqamoiBEUNACACRQ0AIAFBBTYCACABIAAtAHBBAnRB0sgTai0AADoAKCABIAAtAHBBAnRB08gTai0AADoANCABIAAtAHFBAnRB0sgTai0AADoAKSABIAAtAHFBAnRB08gTai0AADoANSABIAAtAHJBAnRB0sgTai0AADoAKiAALQByQQJ0QdPIE2otAAAhAiABQoGChIiQoMCAATcCCCABIAI6ADYgAUKBgoSIkKDAgAE3AhAgASAALQBzOgArIAEgAC0AczoANwwGCyABQQY2AgAgASACIARJIgRBAnQiAiAALQBwQQN0ckHSuBNqLQAAOgAoIAEgAC0AcEEDdCACckHTuBNqLQAAOgA0IAEgAC0AcUEDdCACckHSuBNqLQAAOgApIAEgAC0AcUEDdCACckHTuBNqLQAAOgA1IAEgAC0AckEDdCACckHSuBNqLQAAOgAqIAEgAC0AckEDdCACckHTuBNqLQAAOgA2IAEgAC0Ac0EDdCACckHSuBNqLQAAOgArIAAtAHNBA3QgAnJB07gTai0AACEAIAEgBDYCRCABIAQ2AkAgASAAOgA3IAFChYqUqNCgwYIFNwIIIAFChYqUqNCgwYIFNwIQDAULIAFBBzYCACABIAAoAmxBBmxBgIkBai0AADYCBEGrivEUIAAoAmx2QX9zQQFxIQggAkEPa0ECSyEJIABBFWohAiAGQQl0IgpB0OQSaiEFQQEhBwNAIAMgCgJ/IAlFBEAgAyAFIAIgBEECdCIGai0AAEEBdGotAACzQwAAf0OVIhM4AiAgBSACIAZBAXJqLQAAQQF0ai0AACEQIAMgEzgCJCADIBM4AiggAyAQs0MAAH9DlSITOAIQIAMgEzgCFCADIBM4AhggAyAFIAIgBkECcmotAABBAXRqLQAAs0MAAH9DlTgCLCAGQQNyDAELIAMgBSACIARBA3QiBmotAABBAXRqLQAAs0MAAH9DlTgCICADIAUgAiAGQQJyai0AAEEBdGotAACzQwAAf0OVOAIkIAMgBSACIAZBBHJqLQAAQQF0ai0AALNDAAB/Q5U4AiggAyAFIAIgBkEGcmotAABBAXRqLQAAs0MAAH9DlTgCLCADIAUgAiAGQQFyai0AAEEBdGotAACzQwAAf0OVOAIQIAMgBSACIAZBA3JqLQAAQQF0ai0AALNDAAB/Q5U4AhQgAyAFIAIgBkEFcmotAABBAXRqLQAAs0MAAH9DlTgCGCAGQQdyCyAAai0AFUEBdHJB0OQSai0AALNDAAB/Q5U4AhwgA0IANwMIIANBADYCBCADQQA2AgBBBEEFIANBIGogA0EQaiADQQRqIAMgA0EIahA1IAEgBCAIcyIEQQJ0aiIGIAMoAgQ2AiggBiADKAIANgI0IAEgBEEDdGoiBEFAayADKAIINgIAIAQgAygCDDYCRCAHQQFxIQZBACEHQQEhBCAGDQALIAEgAC0AJzoACCABIAAtACg6AAkgASAALQApOgAKIAEgAC0AKjoACyABIAAtACs6AAwgASAALQAsOgANIAEgAC0ALToADiABIAAtAC46AA8gASAALQAvOgAQIAEgAC0AMDoAESABIAAtADE6ABIgASAALQAyOgATIAEgAC0AMzoAFCABIAAtADQ6ABUgASAALQA1OgAWIAEgAC0ANjoAFwwECyAEQf8AbEH/AGpB/wFuIQQgBUH/AGxB/wBqQf8BbiEFCyABIAdqIgYgBDoANCAGIAU6ACggAkENRg0BCyABIAAtACc6AAggASAALQAoOgAYIAEgAC0AKToACSABIAAtACo6ABkgASAALQArOgAKIAEgAC0ALDoAGiABIAAtAC06AAsgASAALQAuOgAbIAEgAC0ALzoADCABIAAtADA6ABwgASAALQAxOgANIAEgAC0AMjoAHSABIAAtADM6AA4gASAALQA0OgAeIAEgAC0ANToADyABIAAtADY6AB8gASAALQA3OgAQIAEgAC0AODoAICABIAAtADk6ABEgASAALQA6OgAhIAEgAC0AOzoAEiABIAAtADw6ACIgASAALQA9OgATIAEgAC0APjoAIyABIAAtAD86ABQgASAAQUBrLQAAOgAkIAEgAC0AQToAFSABIAAtAEI6ACUgASAALQBDOgAWIAEgAC0ARDoAJiABIAAtAEU6ABcgASAALQBGOgAnDAELIAFBA0EAIAAtACcbOgAIIAFBA0EAIAAtACgbOgAYIAFBA0EAIAAtACkbOgAJIAFBA0EAIAAtACobOgAZIAFBA0EAIAAtACsbOgAKIAFBA0EAIAAtACwbOgAaIAFBA0EAIAAtAC0bOgALIAFBA0EAIAAtAC4bOgAbIAFBA0EAIAAtAC8bOgAMIAFBA0EAIAAtADAbOgAcIAFBA0EAIAAtADEbOgANIAFBA0EAIAAtADIbOgAdIAFBA0EAIAAtADMbOgAOIAFBA0EAIAAtADQbOgAeIAFBA0EAIAAtADUbOgAPIAFBA0EAIAAtADYbOgAfIAFBA0EAIAAtADcbOgAQIAFBA0EAIAAtADgbOgAgIAFBA0EAIAAtADkbOgARIAFBA0EAIAAtADobOgAhIAFBA0EAIAAtADsbOgASIAFBA0EAIAAtADwbOgAiIAFBA0EAIAAtAD0bOgATIAFBA0EA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A0AgCyAMIARBuMUBaiwAAGwgD2oiAyADQR91QX9zIANBgAJJG0H/AXEgBWsiAyADQR91IgNqIANzQQN0IARyIgMgAyALSxshCyAJIAwgBEGoxQFqLAAAbCAPaiIDIANBH3VBf3MgA0GAAkkbQf8BcSAFayIDIANBH3UiA2ogA3NBA3QgBHIiAyADIAlLGyEJIAogDCAEQZDFAWosAABsIA9qIgMgA0EfdUF/cyADQYACSRtB/wFxIAVrIgMgA0EfdSIDaiADc0EDdCAEciIDIAMgCksbIQogBiAUIARB4MQBaiwAAGwgCGoiAyADQR91QX9zIANBgAJJG0H/AXEgBWsiAyADQR91IgNqIANzQQN0IARyIgMgAyAGSxshBiAEQQFqIgRBCEcNAAwCCwALIA8gBWshAyAIIAVrIQUgFgRAA0AgCyAMIARBuMUBaiwAAGwgA2oiByAHQR91IgdqIAdzQQN0IARyIgcgByALSxshCyAJIAwgBEGoxQFqLAAAbCADaiIHIAdBH3UiB2ogB3NBA3QgBHIiByAHIAlLGyEJIAogDCAEQZDFAWosAABsIANqIgcgB0EfdSIHaiAHc0EDdCAEciIHIAcgCksbIQogBiAUIARB4MQBaiwAAGwgBWoiByAHQR91IgdqIAdzQQN0IARyIgcgBiAHSRshBiAEQQFqIgRBCEcNAAsMAQtBASADayADQQFrIANBAUgbQQN0IgRBAiADayADQQJrIANBAkgbQQN0IgpBAXIiBiAEIAZJGyIEQQMgA2sgA0EDayADQQNIG0EDdEECciIGIAQgBkkbIgZBCiADayADQQprIANBCkgbQQN0QQNyIgQgBCAGSxsiBiADIANBH3UiCWogCXNBA3RBBHIiCSAGIAlJGyIGIANBf3MgA0EBaiADQX9IG0EDdCIJQQVyIgsgBiALSRsiBkH+////ASADayADQQJqIANBfkgbQQN0QQZyIgsgBiALSRsiC0H3////ASADayADQQlqIANBd0gbQQN0QQdyIgYgBiALSxshCyAKQQUgA2sgA0EFayADQQVIG0EDdEEBciIHIAcgCksbIgdBByADayADQQdrIANBB0gbQQN0QQJyIg4gByAOSRsiByAEIAQgB0sbIg4gCUEEciIHIAcgDksbIglB/P///wEgA2sgA0EEaiADQXxIG0EDdEEFciIO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QQJBvOoREA82AgBB3OUTEDoLQdjlEygCACEDIAEoAgAQBiACIAEoAgA2AgggAyAEQY3qESACQQhqEBICQCAHIAAoArwJIABBwAlqKAIAEMABDQAgBigCACIBRQ0AIAEQJCAAQcQJakEANgIAIABCADcCvAkLIABB4v229X02AgAgAEEBOgDICSAEEAEgBRABCyACQSBqJAAgAAukAQEDfyAAQaQJaigCACIBBEAgARAkCyAAQYwGahBqIABBvAFqEGsgACgCkAEiAQRAIAEQJAsgACgCcCIBBEAgACgCdCICBH8gASACQRhsaiECA0AgASgCDCIDBEAgAxAkCyABKAIAIgMEQCADECQLIAFBGGoiASACRw0ACyAAKAJwBSABCxAkCyAAKAJkIgEEQCABECQLIAAoAlgiAARAIAAQJAsLywIBAX8jAEHgAGsiAiQAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AggCQCABKAIAQeH9tvV9Rw0AIAJBADYCTCACQQA2AjwgAkIANwJEIAJCADcCNCABKALUBCABKALYBCACEMYBBEAgACACKAIANgIAIAAgAigCMDYCBCAAIAIoAkA2AgggACACKAJQNgIMIAAgAigCVDYCECAAIAIoAlg2AhQgACACLQBcOgAYIAAgAi0AXjoAGSAAIAIoAhQ2AhwgACACKAIYNgIgIAAgAigCHDYCJCAAIAIoAgg2AiggACACKAIMNgIsIAAgAigCEDYCMCAAIAIoAiA2AjQgACACKAIkNgI4CyACKAJEIgAEQCAAECQLIAIoAjQiAEUNACAAECQLIAJB4ABqJAAL7AUBBn8jAEEwayIGJAACQCAEQRVLDQAgACgCAEHh/bb1fUcNACAAQQRqIgogACgC1AQgACgC2AQgAiADIAZBFGogBkEQaiAGQQxqEEhFDQAgBkIANwMAIAZBADYCCCAFQQBHQQJ0IQsCfyAEQQ1rQQRJBEAgBigCBCIHIAYoAhAiCQJ/IARBDWsiBUEDTQRAIAVBAnRB2NERaigCAAwBC0EACyAGKAIUIghsbCIFRwRAIAUgB08EQAJ/IAUgBigCCEsEQCAGIAUgB0EBaiAFRkEBECggBigCBCEHCyAGKAIAIAdqC0EAIAUgB2sQJhogBigCECEJ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AyABECcaDAELIAMoAgQiAUEEahAuIgAgATYCACAAQQRqIAMoAgAiAiABECcaIAIQJAsgA0EQaiQAIAALnQEBAn8gASgCAEHi/bb1fUcEQCAAQQA6AAAgAEEAOgALDwsgASgCdCACQRhsaigCACIDEFkiAkFwSQRAAkACQCACQQtPBEAgAkEQakFwcSIEECUhASAAIARBgICAgHhyNgIIIAAgATYCACAAIAI2AgQgASEADAELIAAgAjoACyACRQ0BCyAAIAMgAhAnGgsgACACakEAOgAADwsQXwALGwEBfyAAKAIAQeL9tvV9RgR/IAAoAngFQQALCyIBAX8gACgCAEHi/bb1fUYEfyAAQQRqIAEQU0EARwVBAAsLnQEBAn8jAEFAaiICJAAgASAAKAIEIgNBAXVqIQEgACgCACEAIAIgASADQQFxBH8gASgCACAAaigCAAUgAAsRAgBBPBAlIgAgAigCODYCOCAAIAIpAzA3AjAgACACKQMoNwIoIAAgAikDIDcCICAAIAIpAxg3AhggACACKQMQNwIQIAAgAikDCDcCCCAAIAIpAwA3AgAgAkFAayQAIAAL4gEAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AgggASgCAEHi/bb1fUYEQCAAIAEoABg2AgAgACABKAAcNgIEIAAgASgAIDYCCCAAIAEoACQ2AgwgACABKAAoNgIQIAAgASgALDYCFCAAIAEoADA2AhggACABKAA0NgIcIAAgASgAODYCICAAIAEoADw2AiQgACABQUBrKAAANgIoIAAgASgARDYCLCAAIAEoAEg2AjAgACABKABMNgI0IAAgASgAVDYCOAsLLAEBfyAAKAIAQeL9tvV9RgR/IAAoAmxFBEBBAQ8LIAEgAEHoAGoQRgVBAAsLBwAgACgCbAs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxEEAAs8AQF/IAAoAgBB4v229X1GBEAgACgCvAkiAQRAIAEQJCAAQcQJakEANgIAIABCADcCvAkLIABBBGoQVAsLHwEBfyAAKAIAQeL9tvV9RgR/IAAtAMgJQQBHBUEACwsMAEHMCRAlIAAQnAILJAEBfyAABEAgACgCvAkiAQRAIAEQJAsgAEEEahCdAiAAECQLCwYAQfD0EQs0AQF/QSwQJSIAQgA3AwAgAEEANgIoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAC2ABAX8jAEEQayITJAAgEyACNgIIIBMgBDYCACABIBNBCGogAyATIAUgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiAAEREAIQAgEygCABABIBMoAggQASATQRBqJAAgAAuNAQECfyMAQRBrIhQkACABIAAoAgQiFUEBdWohASAAKAIAIQAgFUEBcQRAIAEoAgAgAGooAgAhAAsgFCADNgIIIBQgBTYCACABIAIgFEEIaiAEIBQgBiAHIAggCSAKIAsgDCANIA4gDyAQIBEgEiATIAARDwAhACAUKAIAEAEgFCgCCBABIBRBEGokACAAC7cCAgN/AXwjAEEgayITJAACQEHQ5RMoAgBFDQAgE0EANgIYIBNCADcDECAEIBNBEGoQRAJAIBMoAhRFDQAgAigCAEH40REQBSIUEAQhBCAUEAEgBEHcpRIgExAMIRYgEygCABALIAQQAQJ/IBZEAAAAAAAA8EFjIBZEAAAAAAAAAABmcQRAIBarDAELQQALIgRFDQAgE0EANgIIIBNCADcDACATIAQgBEEBRkEBECggEygCBCIUIBMoAgBqQQAgBCAUaxAmGiATIAQ2AgQgACABIBMoAgAgAyATKAIQIBMoAhQgBSAGIAcgCCAJIAogCyAMIA0gDiAPIBAgESAAQcwEaiASEGwEQCACIBMQRiEVCyATKAIAIgBFDQAgABAkCyATKAIQIgBFDQAgABAkCyATQSBqJAAgFQtPAQJ/IwBBEGsiAiQAIAJBADYCCCACQgA3AwAgASACEEQgAigCBCIBBEAgACACKAIAIAEQbiEDCyACKAIAIgAEQCAAECQLIAJBEGokACADC3EBAn8jAEEQayIGJAAgASAAKAIEIgdBAXVqIQEgACgCACEAIAdBAXEEQCABKAIAIABqKAIAIQALIAYgAzYCCCAGIAU2AgAgASACIAZBCGogBCAGIAARCAAhACAGKAIAEAEgBigCCBABIAZBEGokACAAC4wBAQJ/IwBBIGsiBSQAIAVBADYCGCAFQgA3AxAgBUEANgIIIAVCADcDACACIAVBEGoQRCAEIAUQRAJAIAUoAhQiAkUNACAFKAIEIgRFDQAgACABIAUoAhAgAiADIAUoAgAgBBBRIQYLIAUoAgAiAARAIAAQJAsgBSgCECIABEAgABAkCyAFQSBqJAAgBgslAQF/QeQHECUiAEHQ5RMoAgAQvQEgAEHMBGpBAEGYAxAmGiAACxcAIAAEQCAAQcwEahBqIAAQayAAECQLCwYAQZDwEQs+AQF/IwBBEGsiBCQAIAQgASACIAMgACgCABEJAEEQECUiACAEKQMINwIIIAAgBCkDADcCACAEQRBqJAAgAAtyAQF/IwBBQGoiBCQAIABCADcCACAAQgA3AggCQCABKAIAQeH9tvV9Rw0AIAEoAtQEIAEoAtgEIAQgAiADEHhFDQAgACAEKAIoNgIAIAAgBCgCLDYCBCAAIAQoAjA2AgggACAEKAI0NgIMCyAEQUBrJAALSQEBfyMAQSBrIgMkACADQQhqIAEgAiAAKAIAEQUAQRgQJSIAIAMpAxg3AhAgACADKQMQNwIIIAAgAykDCDcCACADQSBqJAAgAAuVAQEBfyMAQTBrIgMkACAAQgA3AgAgAEIANwIQIABCADcCCAJAIAEoAgBB4f229X1HDQAgASgC1AQgASgC2AQgAyACEHlFDQAgACADKAIINgIAIAAgAygCDDYCBCAAIAMoAhg2AgggACADKAIcNgIMIAAgAygCBDYCECAAIAMtACg6ABQgACADLQApOgAVCyADQTBqJAALdgEBfyMAQUBqIgIkACACIAEgACgCABECAEE8ECUiACACKAI4NgI4IAAgAikDMDcCMCAAIAIpAyg3AiggACACKQMgNwIgIAAgAikDGDcCGCAAIAIpAxA3AhAgACACKQMINwIIIAAgAikDADcCACACQUBrJAAgAAsJACAAIAEQngILQwEBfyMAQRBrIggkACAAKAIAIQAgCCACNgIIIAEgCEEIaiADIAQgBSAGIAcgABEOACEAIAgoAggQASAIQRBqJAAgAAsRACAAIAEgAiADIAQgBhCfAgsqAQF/IAAoAgBB4f229X1GBH8gAEEEaiAAKALUBCAAKALYBBDFAQVBAAsLEgAgASACIAMgBCAAKAIAEQcACw0AIAAgASACIAMQoAILWQECfyMAQRBrIgMkACAAKAIAQeH9tvV9RgRAIABBBGogACgC1AQgACgC2AQgASACIANBDGogA0EIaiADQQRqEEghACADKAIIQQAgABshBAsgA0EQaiQAIAQLEAAgASACIAMgACgCABEDAAtZAQJ/IwBBEGsiAyQAIAAoAgBB4f229X1GBEAgAEEEaiAAKALUBCAAKALYBCABIAIgA0EMaiADQQhqIANBBGoQSCEAIAMoAgxBACAAGyEECyADQRBqJAAgBAsOACABIAIgACgCABEBAAtFAQJ/IwBBMGsiAiQAIAAoAgBB4f229X1GBEAgACgC1AQgACgC2AQgAiABEHkhACACKAIEQQAgABshAwsgAkEwaiQAIAMLJQEBfyAAKAIAQeH9tvV9RgR/IAAoAtQEIAAoAtgEEMcBBUEACws0AQF/IAAoAgBB4f229X1GBH8gACgC1AQiASAAKALYBBA2BH8gAS0AFAVBAAtBAUYFQQALC0cBAn8jAEFAaiIBJAAgACgCAEHh/bb1fUYEQCAAKALUBCAAKALYBCABQQBBABB4IQAgAS0AOEEAIAAbIQILIAFBQGskACACCwwAIAEgACgCABEEAAs0AQF/AkAgACgCAEHh/bb1fUcNACAAKALUBCIBRQ0AIAEQJCAAQQA2AtwEIABCADcC1AQLCwwAQeAEECUgABChAgsLiIISwwEAQYAIC2p2ZWN0b3IgdG9vIGxhcmdlCgB2ZWN0b3I6IHJlYWxsb2MoKSBmYWlsZWQgYWxsb2NhdGluZyAldSBieXRlcwB2ZWN0b3I6IG1hbGxvYygpIGZhaWxlZCBhbGxvY2F0aW5nICV1IGJ5dGVzAEH0CAu/gQEFBQAAVVUAAF9fAABQUAUFX18FBVGlqlCqpaX6lVCqaqv75kH1ma4ZpKpXEBpaAFSvrllEWwFWAFSlqbrg5TVDu1/+2WolJSWS6JoA9frVwEHmpVu4yN5+ERJnu+5EmEwVJATurj5m5ZGQkJD/WqSqHW5VFZWRlaa/+L8Er2oWBWUASRWvr1tvAP8A/6pWadlrrxUAqgBa/6pX5eC9GW8aVVVlaVgBUNCU2O3u/uTkABB7G8evWqpVvlmqUOSQ6eQ7tlNT5NDl/hoFr5amlcwDDaS1cG4ZBJWj1wtKkpW4EZVA/6rg1KVVUFClu2YWEQEAQFSlRESZ7b9WWgC5VKmUABBl+z5jTmAVGikUVlmWVsDQ4LhVWlZaahqmZZD5kOT1qofKCwoGBkMxwiRAmqpVBRZeUG5IwM7qVW4VC4uXeTz1lUX3SlxAdX2JwaYL9NUXQESVNWmtFL2nx4eXhU5KVX4d//kAFEV7JxIR+JAFmi5J41OV6ZDlmgpzfueXlpIJFnguoRcj4oTY6e3dXNfdGm8br0eQkOZdrX2nXQ1MGBBgtfrQ8aRea2sWEdZ6GvX0UJn3ERtrG2lkbZp+mUEEmoZGRWVpqpVqWhUA5rBobmWmVVoFFgUb5osdYAYbL72bQppAIScnI6lUdLCho2Z+AFVqG6b14KAABVq/qamlVZXp2ZlvVkDkmb5QZXt3ZyJQ/lD6QbRXpkOT4rTlkFBVa1tGReZU5gCbRpDq9NIFLkREWZlGB8Lx4NJaKZXqkPmuWUSAlJiZqaXkQR/l5UBA8uGBVPFZ/yoSF2trURATpxZvQPmeWysbLw9+WBkZflRbZPXQGxsbC/6kVldlualGnfkpFZDkkOT+lUQABgtemDrS0l9a6dAF9AOR9pCXAgQbLwYbAEVZ7lqbU7a6ZWEQjXxr0qUlKovj1epV4bgfQ0bmtL5FRVqaa1oBBT241JCkmYrbBUmJngERfd2/AF6ppaWfV0XRkqKWLCmTpZWp+VCk6L9b0ZC5GuDRRWf300uaR0PyJwlCfpDg5fmfhhwKNjolAJpWq5sfA0dB/poFCg9Z1uDm1erVQUZLmgZEqlrkkOpVxJsXEJlZSEQ+JVZRVOApH3On2s0FqwFWwJT8lLtmYREGQJa/65ZBQe3ZmISHhuC1UEFWvfidjSt+ARJ/R0eQkKtWCwWQlNHbWVZau+RArwsUkGRtbxYpHXU9T0FAlZJvBa9aVuWEmL0lKjT1rhV5FVVaBRqfoRmQBWq5ZMycaDXiEmCZe2dSUgGkahWD5LwlVVVmqg9Lr9bgvUs/r6kElOT5kKX9pZGBtJCBVhZmGlk+HcGS/OXSl29apfWbluC+yrQYiZdTkeAvR0NSVUDqlaTg5lWB0euaV1Oi9GZWEREK/0X+4dLHi7tWBYCWan11W5qQ+tsvlmiqVgDrQQKXaWStWKrV3tnE8PJbWrQFCb0BeH0ZxO2HiVpWQP+keAlG5H8G5FMxol2uZQW5RrkUXp+HNU5mhi/HL0cWGElJWprl0aBkGlsCx1UbBhsbBar/oe1dr5RQlapalllmrV2pmaWlUJSVpVClULkUaURJRe+QuWuQS5SA1htGkeC7t2NTBjl08GlqVma80IVLpZTkQLa2YRFZvRkFAYSZBWvyURYbuwlXudHhar+XktHk/mkaWmsGBpFkpXRREWa0pJGRVWhqdZamkcf1FXopIAABZmuidzExUEEFVWmWlmoRIbjwlmlaVVopZrZBVKkepWsWam1WGIyKJ5cnvVKlghS9ZPloBlRBWnh4UP5UVwD65eD5Pz1FFamZllpHQYXZ6ZSUhDSXwx2zl+dnbwYHAWyY2a5AQVart6ZRm/Ti01/5KVRaYVGg+WVpWlqEhNjdVfpQ+vrk5ZBrFr8GWmZmZeWmUOQEqkXrRkaa2jVyo9eXG0MRZG4d1KCh09PpQNUFu3d3Yr6kVFDtBTpZS0W+LhUQuhpgtGR8f7RYw5NCbxerF+SmbnUR9pnUQB9fXYiEm5sLLwW+FACQlZHlbhQbEJARJnuw+JbcfiVg9MCvsDT+QJHr3YnFxWVobR+VARD1BwZWr7VmUFCZCVl+5JDhE1m9aqXXaBvC5JTlAFBuV/bRUaf/y3mhGZdncgJ8HJOhGw/Z4RAlK39VAPlqiEweX3p1EOQSInCVACF2e2q/BRurBW8BycnF3ZTlKwdV5ZDkBgHlxRasbYGQ+kBV/wVmFSEmNzt9plcrFh5mbBeplx6D0+LmG/lAGzMzptkphuE06RYWp5ltlISvBmkbBIne73Ak9Yj4kOlQtOGCQVuG4br05EgPf1GgZAJZ9KH1excSkb1eRkenNwAGUQoPpejEBGWed2KJSUne0ZZne4rFxcUHa3jk+eAHb1ClVFUzk1WVtaZHBwBVpKREhJkOcWOW9bsWERF5poMH/5pAleSQlv+9PnRg/ZBaHOkeBSskFnpbAVdB61UBaxuGhcubUVyeWb5kAFFgYPpQW2sGFtWJ2lS1aBSg5VUWDFdm/1XphUkOJ74411DUOGn+5NBHbphYSB5Dk+f9/wUaQZGTGCBG7hVRUeR5VqU6ZtltJtHgVQZ+bWentqVqqVQrCWQWoHpRVrgsQNY8d6dARgZPVS9fjUiVkOTk4LR8HJpSJ3xRofr21lhzzBVtQOhfSwdu91mDY4yo6dQPBYjoC2pU5r1OkLmvYVB1XChxowQZWuktBN3K1m5/dQYfqeQJCV1tuFmV5JtWsPS5tVSEtrVhIe6tWoVEBVtXhtDkv+vLhORvQvX5ZjNlzFZGUqPkiVmaZhRFEFUWHwftpJCb/5lFAZGqZpZFqZlaj82FlpFqULj44Ce0/pCpUJCQ+qWA2tRgs1zjKKrkVQCkVQvShl/hAF6Z5jb/bwNUUCKdpwClEbqsA0ZAoGUQZApK2J0bBpuWE3NzNhpjZXuZwOSkj0SQlYAGf9Vt2JRgvePYFdd9f3VUuEULmPpgZTdWgHq7FoTWMXF2e/7o+ZBFQOWkbh9B4N19fdUzHMszENCtWMalH5uVvgGklPlQqR6XUajMM8wzZLHwEAFvGhUMZrV4JTIzMwIkFkHLBgVfbxaW/UN2QeSUGqVW6r8jUy3RLdGalZmpgmR8VFLmnknl0cdKB609LQESF2tUWAavHYnE1uecc8xjJmmdfFlBPrsUg/P0pFAR+lAeDm8L1vSQ5VRa8LV6IvzXo3NZCkLXWVoBEtWZGU9K5A6ptbllEOMzBdEJhJG6759A5X8ESUWlpldrqpFG6X5uGhG6llQEmdmfBI1bTUFe7xCrBYWH6ZkEkYw+2sXAmHIbb9B4fRdlVntoUwNHP5ClQRRvX5bhjUpbWph8fQQVQUDRPwWauP6VQIxV4GFIB3ZBO+Dk4PkGBVsGNjJjk+SlB6qAcHR38GBhdwUrZwEoBE6lJZYKUmUQWA52bceQs7JXIQa+xQUBWhoVgcDVqVSYzcsfBtH9sRFhtrDXw51CdgplTXOVgBsBUtCbR6Hg+L8BlQ292ekleQF6c3OmaVfl4EEkQYRfXmmw6kBQa1aT1snM3oSWp8HDW2t7ZpWVXMoznMXFhInpvZtF9KUQH6pVKgINQ8OXVZpWqgAeLlWLx8PTHlLHguoFBltokvZfC0aB0AZ/UeTOyUhEQPlpL3CkbUcS/pafjp6NTbUWampmvgUdvfWEAEEbHmkXm5PgqlmQFbmSVx6lAaclLhY5BHwHlOmqlsNcpZoNHY1ZSkprFW8bQA8bGss0yzQuVG8AnHPMMmmW65QdTo3absTFxj8rFRD5+YeHZNBCXukFm2leKTBwvgleSRYQGe5WLR2A+ZkAOp4FCeoAUatbnNSTA8Jd4RDUbQULFWlTAxmHweCQQJbrJycXBvoAWf3ReAvRJiYzM/mQ+VBbCmB4G0C14gSUXq7A8CwPgICdnvn05ISf5fBBEn54kEOR4eQGZx125bxgZdObShOViXYj9q0iAHJcSkNEVJjU/2uTcOfgVKuCpudFkG14egBqVPhARV5fHmWamf2X4vnlhq8AVG4L0IqHQlSlQOlQ8WofBqoBl0ddXkWuPhJgZSV20SJkGweDUQJG+UoGS198QUKHGsWJX1CfohRrvxNQdlY5dvmQpVSnWpFAQeCV6wQFVn7R5LlllKVjPxaCRBfxh08aluaQ+VCa6OwXayYCmJqVahoA9VBVagW//g9HdBEQJWWXZX2fYrkbBZdC0KDR8Fei1WkVW56VQE8NHV3sGhoFAGJk9R1vGknE71VKS18ddP0TZ1Lh4lNRh+KiUpcEhdrvVkfo8OmWoeBAXK9fzFkzmi4GVuDXcXuwXUdmWQARFmZRAUpE9dbH2hTj6PsShQk1kHZ/GlgBl6+WaWpmOAnR0ZuWQgf+pUJFoVC+blV5boHB0OFkqlZREPXQmmounpC0WammVZ+ZtEUmzGYy7hW5CYvlaZdomfUuEQcvP2mEeXm2tmFhsQSVp1GjkptzhcBhb2UbqwEWJzd5CYTk2sHRRRuWxKTw8qdZR8Gf6rBiU2OvHlYJoWJna9NDWlifgYSEXQ3D0R0QIyH55PigIGJnY6W2fgEnP+aQRWAl3aChZnv2Q0EG13nUQYIPUvGHRrQSGr4EFQFU5JBPjsnEfAkZCRkppacTI7a5icCVlr3mxTCbZlWqRQaf0f/iUBEhMSE2BQofH5lQMSoUBB4qBD0+ClEomdVFaqUZ5WkGXcD4waeq5dGEZKSScuT1QJAFVBgPCUWuH76QFvlApUBVS4fSofhlC1bm4QfC+dBGBkAUWgAWQUW7QnJZEwRFOkHS0udmUGnaYaDwnVG0bpLSCwaDpYcVfiS9kAXlRgH17yK3UmJS9ZpLpUUkBNBECF0YHXwNADm1BjSE1n1HQpbmtVAKDkdTY3IGa5pmZZpUkaV8CY/sWJSEdZKw+VoNOXHWyYtHpZpXXQWG0J7TNRzKaZYCAaf+RBOHi0ZbkJnyp1W4vWB0tTA0/2FEVA5VycWnFudpNiMRANfSET/klgcvAAsltd0zzDN2djUgcpJve7sJSxGHyfanM5iVMrZb0kBTAxcTSVku1ThlYpNWmkRDupBYZRuBVi+ITF4OAJUHpgcF+aRVoGBkbZCQ6axWbxUAz1QAClodGEfpCXyMiZ6tEkKR/8ynM2kuW5OyothURLZgpaZ1IJ5RpaZfVxZpsLgbR4tZ0WpoEHAB6kWbC0fQCx5RO9B5PQXFxcrL0EzV2nnuQjX91EoLAf8tZLkJkbmfm5HhYkG4lwpGlen19WAQ8bxtFnqVFEImBsYGC0/+UApHZrTiloWADUTRcLYXhoHt3ejIdDREQFAHPhCpWRUA/yluAUcE/lRcsso0anUwmwVL57AdBRkOUHQuQKvR4PVfm5eHcboHh5GktJABUy8aGNNEbPShwIoGA29akJAV4YNBpfkcMsdMi4ZkfoIF5v0UcOdLAS2QG6ePTRDNpxYAEjlplJp1LgYGqUtZRzcCXa1Xl9/KTDaXZRIB+hZh4RIAVmF6+ZYRUEfiZ1BwsHUqvpYBvAeJ/RmuEYXKEBJne2+W8Lj05QpgjoVGQSTBeaUTbPIZdgcyAgD5W1lVkAX7YOTWb12tbAilU4GU/0bFxlqtmeFqVmpllGklgQBUKHw3as03G07PBLXggdFGn/iQctDSWtREHw/GkeC1ZOeQ/2WZa2XHcTSDAAdH5helIQW/IGYFyVhkeqZZaVbS819aPwZQ0Dl8wZoZPfDBQ5OT5wQkMTUjEmd2BFjQoGIyd3tlZC5eGQWG5lqbkN7klMC1FZsBr38CVxrT53R4Smc1C7ZPhdD9CWWR/5EfQyBUYJu0eGlWLQTR6HQwUwJDRJDs0aQE1EVJmLnmgVFDClLQ3x3GfwOU+kAVU7hth51saJ1C5n1daWZqVQVvFmsWZvDwHwWQ5AYGexTZ2Xb9XU6BO2BkbgEGVPCRNE1ENwC/FxsFWkaoHJ1CEjU5dXn0kZJj9PBhZ2CUeLye15D4Qwd4VHs2MRFkfEjWTy5YjmUql2rl0KYbegDWFycHWYL60JUAfuRAFQsauVbUxIWK5AWCn4vF1IBH5tN1ZtlWWQBF7XRApH4WkeFVAhUVgTHfnZmCuAtnEWXZ2iuaZqVaWhC/VVluSYgAZvVaUedYSLkbgfSwpwG12yYbAYeYfHYDdy1g/fgZEn0pZASV2wb/vwRqFZyjUFCUT8o1G+8Af3MyNWi2YwYVkGFmeUcGZdqalWKp/5bllqMXflNA5PlX/1gUEEHk1KTgxJgYgZQYfgQZx7bd7ZWa/0lElJfJ5GH1+C0FbvRRaq1FkQDS3ajZPeaEh26QW/9ZpZgpM2bMzNDAVLk7ZrVwJYscU5EBuv+QW+P0UHH/QOVaBx//WwHQ29bD3H+gVE56ZOkH4dQZCgREUFGKitbnUKQQr4QRt3EOCpR5bhkbgls6QVAtlgdXYjm20eTtnYFUy8XurdtRAh1tvVB0bpcgT4rJ3el5EEVuFGkAEQNZaPSpRYCWi8XulsnMmFFEeJRbAdbmlVsDA/Y5LgFYQO5QoHQcTQUVKaTUZ2uTnUTBKm1aAaQURMuvOACldMhR0N7adns0G9B+gdJ5Ld0bARpaVvVAoLhGAlQGWrTytJlJar/QZ0sBR2ExwYRsRUyB9LhplgD/mUlKT6uVfZAClKS3HeYmBdNClVoGJnn4aTWRCktTkzF00GF641KkUeWQ5EB3YxAECRdKQCcnVgGWmbjAHnhARFOQ+njoAB5d0HU8HAWrgdWkWFwI5JDkRMrNlM3W5lKyq0XDHwW5xUBROGkmHXTDDpuGtQEQFRYKe5dh4BAFWIpU1WDZkeBTC/oAuRRZRgk+BgkJBhd8tOZAmOzs+gWk+fqU+ZClULcCJT07gF9ArhT94JdvjOM0za/U0N44wNGWh4HnUc3K15OnUtDUT4tV5mZXAvawdEDlLCUTZnV6JQC1ZhIbtuBW+bnj00Tm6cXFmZXW6/jQkZ9TUqCwYRcPboDkX0L/UaClx004sdMc4xwbcPbrmCkVaxAlpjXm5UDRHXlwkNGmPACFicnal36RkJHPmwHHy8fQN2tGtVvSEbGMlymaUGwZA//BxcqSQUpPi3BOsdNY6dUkfnRzotbg7W5DkRsRJSV5RIzFy5D4ZH70uQWf0OBVG2np0SEogFX0wsPl+VsydBnw4JRqvaUB0XVwoQHheC1bB0gZFx1LwvVV5kD6FVUJepP5BuEDEVpW4PZUWm4B4PXBxcvWluZA+ZBtMa4AahRq5OmWm2/YUWOVaUZaigtG1E50wyyWZmaZv3olIFUpPwqakdDVWUhEVG9gXPxJN2WmluYGA3C9KCXlvAcKYmak8ECUZNxKh8eZ68tWBnumUVEFS9tgB0FE0XRLUQBaAmUBARFaW5oXAXELB5rQv5agUB1SqUeSdC1LUxsPP/+rQRkRYWZ7ukXD09apHAC5WYPh+OaQFQJZKPTQkhu/becbAMOCVSpLFnmJQBtyPDDPwDPhHtItBwfT6WXfkgHF55IbaTYzM/RgBR5LA1P7mWZqlqeXl2/bm0bv9vVDGQrHpx2eHnR0Z5lw9fF0C1Kr+0FHuRJn2tDBxstkLX4GJbYDXtXZiMD6BZD4qhYlWtbZx+WWUP5p0eBbQ7g9GQdnmcycATNhVLwREkarbwxzsaVQYEERuX4ALxVq5VpmafiAV66Qb9AHENUyINFGB07MM5ymFiZGGsbGxjYfnaX/8XRtm36QlxGVmWplSC50kfU4BdBCFUQAm0bSQJlZ/wBqlqkV+R6ElB8dZaUzZpzMfhB9Lx9BgZtpplmeBwCXXgMfLn5E8rUpSF1sCLSBhVREz1X5zbJc49e2VqklkebgncVpGe+ZAFUkn9loEFCmX/1WEitHQST4DEdWHXYqFgIQZfFilWlVqmkGVAAml8IUwA95BESbwSyddddsQEH21+SBX0KNNDRQZlkJZfWwYXLRgVavUUBak3t2YlLowl5ZRzh02xOlYDyROR/COMc0y5XpmtGBFxe5ZqsHEZDXwF/28XAgCRpebl5+QLXqlFRQVjVw5J6ZkPiV9Vumf5qRAoA43UkKlu+UBhk9GPn5ABUJRe6dE2P69VBoUuAFAOa/heYWD6VlAPlZ+GqRVIRg/5RQv+b64NGBkf8ZCtmc1WB0QlI59JR5DY1cKTZFOVDgRcWFLVgGUNE1JhciJlaMMwYlgd7Q6Ffb9lXZ6eaUbJ8zzDaWQjUaKvWAXflCbybU+eXJAQ7DoXRQoBZralAD+2m0GEItQtGUMTV9QkCtW8KSspJmpelQWsPUfHFZj5NxCkBHUbVuvEHk1KDU+uXQAQafhvZSUuOnG0LR9OdNiaQaa5QthMb/0OSRwhcAUFJ/OYGEFaVplmZTY6enapaWqcBV4S/WQh4edpmxTGm+AxGCkGlXryQWBwlaROEERZqWXpUCVuRIFVoUQwdbZs6mdC4VOJBPVcTYVwa7PmlWpqgQYLW5hi25lqTM2emnad4z5NiMXBpA0fVrpFlLB40lzXWkw/Mu/F0QQJGS9/5QpKSYRVsAdXsTF4LwBRvRdCTWALU6Z14LRqnRWgJH2ZVmbva2YhKQUeZqmZSmZnY6mdAnFzIib8XAVUMefW8+9VIDL2bWaiM2cWL5hISUBB4WJ1sGlukeQdD+S5rFiwFLnmh+fkZA+OBQBY3XMhiAlexsbo+earHUQFNtnEQBMDUWIsbD9rSV2gGtHgVvZXsWUYFrlsOgFVv4QCqNS91ntksCPxkuBZsBp1YEVWISl2KhEWwGWUugkOlZAAtcpD9Lw5IlY2/QuRiNxjA8eHTNxVjq91EhFASeZNoCBpXaEBVkbkSRJKf/oUYPEfZQqfzhUgdRBUZ60dbguFGR0OkEoUXHh+ZyIAUBh5/78aBl+QDV0OEfkBoBlE5vWCUyMzInU1KCtxbbRmClupaToby3ORtBhHGE3GSzyDFukGZq8NiFP5ND6zaFiVENRy85NJZOzx8GXqD0LBBbvWVqBf8BthtWUQrFrDUyc6PiUxt+5aBRUm8VeOCQ51YfWV2WqX2clOAKVn3Y7Zxk0H6kZRDD5Hwll5VA4iCS1HGfklMCyj5nR/NRa3HFSBxMC1LBx2AwWXseSYhPVqlmpTR6dgcAmhRlX1rXtqZXp5Z7YVCgQdEHsLB3oxL11ejElUvH4PkGPME9IZZ5RY/GmpULRmWSwqeZbJyciEDU7aTfkwYLkORQ/3epBwXQfhTkBZXxgG4GxfwZQ7Z0xh46EH5QiLKgeadWqlaQfP2UEjjBThldH5vB8OEdCtbfxMCUS4JmfmcGZ2nHIBVGHwdmdAAa/ZZl6sQQReA9CeXiAW9GaRkLrUZCUPTgRQuUEb8KWk3JhH7SEQG9G5X2axaB4GWZaVZUbPGhZHoQRpE0HIJbbtiIy8fS5S9DA1IrMxbmOEmF+UJnc9L3YRBnuL1IkuIGQVQNKDRhHQlexmDomVW0RcLs4GRF/vT0ANXtwP1ZdgNTRH52UrFRQwdq3mXFAERYma2Z0PFXhNRSso5NmNFmahkFZ+FZLF8F6cAGbxn9x8Hw9VJR0Pr14CYhESn06ZWYM8i9BdQId0PpUEX5OkQ8KRFQrZeidsVA5B6g2do1kJVBpBmmWxZlmgv2SkSJH1UCGwem8G1HGkodBrCdn0aMXDUyRh0JhgsGledcMJYigB/kBpTlkPSZVuL0UKxlv9t1fkpY9BUQns1KsPR4VO5TDGN/8PVJTpwxo80gbRG+6dmJRUtDNXRWZtn95IH2BVAcrZkBVCpVSUXwaNJmOwcB0YYfCxZB0KX/BvnedpZovYBHX6Wak/BAXwsfPxtQALWTwagzzHOM03xP4mWlkJCa1ZCpd0jBoYCBbZQkMTT4FenBFKXLGUkB0FX/olLh9PB+aEZIvVrwYHSzt1hMRwHokOSUg0HkueEt03ifSOTIW6TaW0cBYbX5pWJRyJFhXabAlUWWyX2lHg2dbWfHi/UJVQ4a19KbQDXB9Q95dTsDAFYD7ysVeQe3kbBQYjE6NttpEElfDE6cEhtalAD/kFQAtKC1StaCHyZ0LAtz2pwypVqZqbR2WPYOiU4edrV6hVTgUgqM2BEdsJVYo5BoGW9wPhTH/gHka2GpGxH1CgdmDxMHX7ZhUKEyzXOM1oFkbMGm1Wosh6UU5Au5RkZpWOWMxWMxULUxFAlP6ZFLwvVmHkZA7pI5WZf0WeAZBS75lOpFxIynZD1A2OUPCwBcm5yk2d5+tZPTfNpQGg93QCs350aQv20eJlZwJSNRqzwVQBJnb5sKFsBRLwWQuVW5iDegZFBVBVsLb2tmdpdFmwaqQBT4rxre5JHGydWApF2eHlC0ZSsrNhMSSmVm12w0YQRBJHsZ60eVXwYFrxWdjUxGepUhQBPkVP41UCkT0uBFAelUSE2bkVC+QPlsp25A4ZGaWmWaWgBlPmZmCxxXrBEmQhR9vvzjEQOFgYWkodJUbt6lQJGF7EQIQBWo9PmbFQF90JYo6pDm1Ud9pEAWLGdvFxJh8WVvCeTvBR1in5dAkEbKxcG1BpZbenYBUWiVjEQSPZjk6bXIywLkFRsVDsbhGYTmRNxIDQm7QpB6XShRARMma2e0RBYS41IPkp7gbQWkB2ZuDgtWXhZ2C8JGQUavNShcjMbCS0fKGWS88FNDXEclOTGqlUJQYzNZzLptDBx/G9cEMzZZzAslGuedWczolaZPiT5Rw05FxsA5NGBSewYuHvmZNmYa75klIJXh0cH/AOZ13OzR0FBg29ZvAeXgFQuR8BdpjNYAPRpvphvW9aUcbTMdlIh4LZHQeEzD0eFBTC5ZBPg5FVCWAfsJBuXV+VPF6L2+EQTa0YDlk9asHOG8Fa+ckAQRhkY7S1ESo7NlVg8F08FOHRLXMCh1BB9A3dSJwAFXQrJlbwdApPVQqb+QmZ8xRCFwMTx1Itlpc8xhkJHp8aFFD9CQBr2AwaZ5WhDdL8qWQlhukG8RXExIWOYQm99tSIRRkJ3Y6dJesGkrHYTZ5sXGws1HifhpZGmQ38bAxUAGe2fFm0dLEbjRg0DkR1vqnUEaqdTYPfOwUoeJgdHRzDKmzHPLXHIzzCVjJUpGFD8wEFSFL8H45QXSOUkFhf61EIfGQngfR2xMStOI0UJHRArVv3x3hxkSHLYFdwZTshapldmglrR152EeA+2dk1MAW3BRRkBauqQU/wD43JklLvBHfWSQlZsU4NTc0S3COIh8ZGVmYGDU0uBRNf5XYdALJjERVOSBi/9lGB4kpWYZ2IRGS7bxUDTRQf7k5vExHUoffMSrVkYJGxBdBBK3gbYVktCbVEGSd6DU7Pwtx/HwT4PQdBeBkORcNuBl7wlalUlDdG4TK2n0bg91NKmY0ZSyLZyDgJWS7WWeYOrR+BUardYA/kEB3NWVOQ3Z7UBmbs9DtKnZgQblWVZwP0RIXl9bSiWalYFhJq1dlIuQ5NTfwFJDZ8DBZ5mV6ZBZukTF3kSkfQroV2QBBP4tFITA1aQ5JRcTkDX8hEhHc6lR9Af+7ZoRQhZ5CI/RZToBdW6FgrmxETUY0Bumk7gZhuWJvUBA9hWaT0ZSQODBh53wWCyXVO3YhF2cTeYvUCH0ZEjyAFShuFnfliWa+uZBFJBv5BtRUJGoESa2pR2EgvW3YlOCfjZfBb1jUkEwOUY+Bkp1aIDyFxFVuBaLxOF17BcRd6BQuJ1mOBIXbRNyFkdGF7KQyEkm2fHGxsppx5Ljm5PnYHUEExR9GgBWjwJX9p6B9gYzTJcpXHylSZDokNUWEf8GZXYrE1YLxqBB30SYPhAbCu9ehETV9dKmAEb6VWQSYb8QNtVqEUpZ7RVQwc9HQiaW2tPxpGbBfiUUwda4T8+Q6gSo1QbolQY/6byQnNEBR6u1V2MTDp5NmbJSFhJh0p9tM5fMXOWVO4eAnF6Qb7pRoImFR1+a0XoZ6V0BUC9BrlsrFhFBhvM4B65bg+TQolVbOLDkBRQQ+fnh0cuPQ0eL2a9dlbnNPTfFFIEcvfEyBSUOTlAkUHwtBlRB1OhEQJSolZlmnfpvDFOnexZlvkHmANK1GoEJnYrRRUAGb5EpkL//B0/FESuW9tufgaRUavRgW4FR5HsZfAAM2kSd/0CWhhhNxBhmfyRAEfchUv+WAVHvYTI1Dg5JRFbplPm/RWySX4WWfYrJ1IRW9GvgQRYbwpO0XEtm05DaRE2W6Np1fBkzY9TWoXheRh5GQhlWZjXBzDHWWEw4c9flQJlKFHT5oCcjU1O1ehB4pRsJPESRRqZBWOREQlgNxXiWGUr4XTZGhz5GBVERLI2VWP8AyDHSL7PSnGyyQ0LX3pxAxB9B4LgFD2cmqZdmWytKRlWaVg8uW+JgRhUHUP4yNWicSVkMy5JlbIBWAZtnFV8A/lD+QKUQFSgfAE9tkIAsBVe1wFupy8WYbE4eWERGSJ2t28dSg9lQHrK3B0brd5ysmfzZCRU+E2BUWu5EQpolWu8bRjk0BQuUa4RE6VletGJQY5ObhZSB5P3SYlMyRvtg5OeYi9dG06Nkd2Kw5UFaZZ8CU2tnfQuV6ooV/QC0YlN3OBnCddK5HobMMpVYCxklEP8Ga9REfA61cqPXzQBhubWhkbTy9GCZXi5YzPF1lcmJX0eheiTBZnvvgdbQCG4VRFYQH49A0mduUUlMmqfkUdQTG5TqcABHfn8uQoX+kJZbJuYG3hVKhchN7QVaG270gALzEZDY0pNEaJ0N5QBEdvtvgdFkFqZlmREYAb9SAlsVEaSdPZBt2VhPwfoFR5/gND0wcHRbbjE1GS14hBSxdGBPEoXfI7dHW3N2MpFIxaMx+QRtAMxi2mVwYpt3mXYDCRsGmtXQ9UDR5QRvVJNhehn6Rg8VUSFZ4NvQqVRR2FWqZG9hUJR5MDUvx5gR0XkuR4EZ8A//Whn2GWLmWHzW02kyyJUz/x2jXYN1btbXeSmABZhBHGqRlqUUREZqRyVwZAS3GtMbwuaRVa9BAGTfAMZgKRYtZKzZ0HhjHJIYHAXQnJYmzJlohTyj06lWZtnMyOJSJbRbWwX/QebHSt3QR+dd96VFBQKW/f2RA6aEhK1eY+XQE78bAREUREoPOQldywTobR1Q+G0tMRThtxA0JYsYqdckah9ZpkUF+gAaQtMQU+RMTj2MxJkPHB0HRUC5tAVdgeAUQoWdNmHw9RX9WBpQpkJHSkZmfvLRxcpBFKmZ+xVhsCI19MDIzemcTkDqWQenQlu9FGkBh/Ath56uFEH+hBI7CFheXmzWgEbCRkI2LkbCZaF4HELq1bgeVUzyKAtnIVB1eL2Qylw4cRF08OdmoxEfUrjfX1rgTUzWmg2ehDyV4EEGzOUG9BvgKgfkUbW4Zk0ErS0nbZjD8lgBaG1VB0tG+0cAVdFBSwdsZ1ivQVJleltQuWSNTR1Nm5Cl/8FUBy9tJVJACYbWuesVZgbRZD2K5dGSI71aofABWzf3oZGSaVQBfWDGzRlvUaydhiZHFhEaC7WwIONQlVD0fyWaZmQyW0Bd3+dVmIGkwJdrRUk5iBFE8byZ1G4A45MBVwFkNPqVkEcPC4Xm5hUWLwtgIV4JPYpNFIbRMjkB+GRb50YHH5jvQxRJTkToUOtAR1hbA7k+G9LTmXZ2uGaD12fLhxG9HAxcbBM+bZBJbB6e7ZgFQP0GkVItDcG0NMMNdKBYlOly1ciUKILR125WPgEp1sMbcmETYxAbGgXg9AXzE2ifZ+pWg9NWyGnWpOVcDHTLOMeAtH1WQJRfpmsXB+KISl6dQGT9HopzlRBuZAXwcBieAUUVSOwFgVkun0P3VaFB29uV+WQOqWSRagQeGaU8QdH0VqBuZGMSkeNlehEgBJMF+VRnNkhnaxYSd6ZoCMCA20aa1ngYwW3SYAToXkC/kNmEBkbV2sxlM9kbl7KTUZEmMcJYDl+QY7kZRNQaCpRtKJB+C9GxUaT6QF6BdoIA9GmGEhumtbjJXwZVqkYEeIMdoWhEn60ebiYh/ESFhhgDUmfr0I2Fb5DUhqap01F+hWeXaJzJ1mcmzDP0lQdmVQHx0RYN2YYDFmrmQGT49QRFjumaS0IXWZ+DsPA4BOdgdSpDxZ/YkpkjxDdwdWERvgWWJGXiGxBTUJDuWdpARf+kKZcHBoXuSFLRnyOz5VBG+Xl1r1mESR4snJF0g9dqIXRksQO24J7pNW0KnmxplgNQelipVJQEk5Ntbel3hsnvwpVABYVgnCwMlBXb0mBbqVGBHNKR9GBTBGcrumQZT1ELQ7RUBIapRh7ksOO3BhTkASdWofbRIGapUlMv1uFkB+3GkhtWgvgEWhmZrOM0yRAYudn0BEtHZpo9AK8QnMoWKZThVVMSCoxcKTLhZFpnlGSQnR/rYGy8wXR4ODC1HNH50FZUuR4LQBV4fJ5hI1OpVeBvIg1E50ejMXRG4RtvAL8VEAUZOGJAtCVwUPBqF/EOJ10YTK9G7dmGSxBwF4sGltD6UF6hvy3XAUdepZiiUKlchicSW5t1kQsO/PGB9EAEXX7lf2ka8MWE3gNTl/lUbLRMZtbQPmVwsOZjEmbwoJN8EeG0bdVdDl4uH+E9hz5BElUE5JxefwvBtFbpkPmVXsmEH0vgtaVbgYZsslx6kR/0QgMuWfQAEx/1D4HXmadRYLE+sFdbVQtZ7tb9FMAFRcD5aZZmGoRfTJjj0m8a5XWgAQxFDti2QmnWH+NQ0EBUYLpqhedQ71NuQBsZAQ9DUgW/5+klm1ehkvhXiVkttpZYCEtYRO/7ZwYXOH8B0YeGxc6ZbDxE04NbCxvZBf3TLdem0NmYbOCQadYPC4XeCUaW6Uu5BYaW0cBtpZSxAE1CE28VMtGenyRkcLDgUVfWJm8W+MKeVXFcLOEVjYlZBVoBvA+L0ZCcZOiw0JgLF5H0gYGMSZDZJSkxdgI0tZNUSxzMBlA/LxBP7FbkAeUa20BNb2ldUqOR5CkTlfkKQAZIXC19ZpGwJxZszOzZXEIak1L1gGXUpuBQrvSakHkZWAB18dnMZTMAZRa6OZd3hhEmfwYLmhBVZWoBUb8LFgEBFGxahJncxERCUzM6EVdAwTH08eVLpPhRaJcaj8K1uVSUCf61uGWwB3chwNEbg/MbQFeXgDUpHQASlXr1WmEgVycnBgcp/ODBtWDYnPiFCV8sXMIBHJR/CkVaqZWa2ERYDBzO+YRBGXGzm1dAHxGQdXADX5ZpUbuRl+wERJzszPgEhF3R6Y8E4uOSR4HjNW/7UANfVmz/APelUGDJJZZYHQZ5jx9C0BGE8WGQvmJGUJDRx48nRkC0Axsf6urQWa8EDuV5XUSAz4vTkUEoE/UIguJTZnM1XIwpWeCQKw2RxUadR64QFnwvfmOxJFUfAMu1hIMREBdCo/QlB6qalcDpFEHn5SXLREqQvWMXBFQJG5XQCc+sRINb0fnAxUFUYadLR5DpI2dTY6ZbMB5rBmvlFnmByniFeZ8GLmnXgRTwVgBRITcBFBEXVfmQ+NZojabwBkrW0tlln18JkL4vB2eZe5Qc4AlXIxL9nVgAQUoVux/AXS0IXIvFTNxky6yTk59+RgNzhMmeWfwR4UYElGd6+0cGqZqU7kAIbgd3I2RzEKuQPQW7EPUBOiXMhWZWkKq0wF4E8SFRg0dCWi6gZIYd4CxEUR5FiN0TAVzoAZZA+icWIaS6UJ9FikVMmNdgWuayQ4GV+luD0xDxJ/dUQwdPPT0RESsxWBXW5gj/EFm8iYeS+Zk/GNRAUKVm2nniXKRRopd/XwIbC2Uid3AWHuLwtVmZ58ZpZkkWB9Ds4ewZVh/B5Qb4/wERyx2gVXA5BaVViEQ9QOWSn9CkuDWnnBGEb0ApVFZb4JDY4VI3hy204fGwVJQFJTjdb+0EGVgMTdkfA1J8BmewFJmHknnHmxRA0Nbc6dH0BAFINGbZA9CFvaPNjDUrQfVmagZlbmGxGW5QqtFVMJ1ceL4wJRZIReZ6DpsbpQBkpfnbNc4ycFMoF3Z7EbBBR+B8pFEMnVVNAL8RrNWqQcuZZUSU0PvlkWKTVqBeLWplKREGlcB/yElB1FIDdbpDGUPSguFneZfEE7hllCEkaZE8xIMU2G88LhUGtkeZBRIN+ScqbQRUmzAh1SE5Zebx9GSRSvshFThMxWG/hGRBH7F2J4TYqVlUa4Dtm9WwG6GRjU4x0S94dwNawCYREnrg0MXfBZ6F7xUFtnuJbdJdVxEpLjA1L5+pVoHAxc2RbReBVPH+FyW1R+lTIMWFV6vgkZpHAf6Qn96EJDGlwRtE9QG1Zlt6YcT0sGuRenxlIP+QU+K0YTgfr4YFVdSZhWvslEKfR4HU9DNSltDtzwUeA2kXWWyX0gKMMzPNreRBFIjAlkEDlAf2MMCdlikNmWRy81Mkm5BYhvtGgEXEhaERRBH8WBpkHgOecEeOdxJh8XqQHwZcDxC3GQsXWn5VYAHQOVsF71bFwJkC9bsSPtLRQ4VYaZBoVAQVQfqQ2F4cAYlHt2gXAW/ArZAnF1SsbWBUgUiNmOxEhNOSZZpAUOHlYhcD21CUCS9aD09A9OkJHR9eBFYAn8n5mWVsE5Fuw7CwNSgcteYLBtG0L0bXthnL2cRIbGmb0dD8ROWlMR6F5Lhk5EHU+cZZflKm8ODRM1MG9mJIMQY3csWQtMJc3kNGicT5VEBsUvyVaKWwNMHBRYEZj3YFUCluZGkLlenVTEtFEhPrRPhHBHYdGxOngZkJCh8LUBsbAZEJR+ZkRYFcpNEBMLWFKEbbFdAGvhtUWEi1w4Zse5ahcBQEm5YEXEjvwVHhf0T05+sLmUFTYIDVcRAepvVTLJ8HAB/k5QVF/wvptBvgXZDjv9BkdttbBmqV4ZQoAQG0FL+Xeg8D4JdcqOlDBvQGZ1D4qwabm5VZoFo9jkRFf5DR4SzC9CSalcKCQ1IGvy2BhYcWqZSaYCxbMdmRMlIJFpnynFcwKMxzmZmYwBRLU1AcDIrGwdHzZ0sGHYCb0EQQfGpUCVhIWgmfhSA2U0YthSxZQZFBpdChFk07FQsLSk6U4TMWNyHkxMnOCA7Xpd3E5AQErBxZvB0CWzPMZ5n95cCBBMFR9slgZ5Y8MOGVQGRc7PT5CwUew2E1rZagRQtQkv8EiVn2C8X5GRhNxmBPWEDW8+GUIT0WMfDgVhsQ2iFZ3tEf8AuU/QYHzjDLNBwGV7gJtiVSNTE8xFCTO8BvZwHwZ4fB8Bs5EWZGmvgEGkRCH0YPn2ReAeC1DoNmeff0QJdRRMzIS0C9WeE1lMygshU7BxY8EpCNRllJ1+BAbvTBFKnWi0RW9ZplW0PnUDyT0q4IEwVWUG4UzhBPkBwNXkjsbJOaFgU2Y1EwqFfbq1cpBkhE8fRdrVwEBsBcabkGRhBt2NGBUPBJhlbb0SDAPOXlVgJHy5TkKcaPXzhJMW4FZZXwhpxlmMzIGIGdhhEfAtHi0dqHANUEr2SEUQSFsFe4NOgFRQRf4rGEkN3YM4yXNVdCphFBHhqZUmewZkMU9LpERUq9Zjt11jnGxsr9gEQVvBmdCULkblQ+GcDQH+KRdMezsCQB1YH5WItDdJFzxFSAEd2eT4eX5uX4QS7Z/WgEnEMeT4HrQlXg+lSlsOJDHphYbWDoxIdlEcWGa9OmUGCFNFIclgNT8oRYLUqTkdBvhI+XKZkJSf5eZ4mRAXQnmZQkb91Ek9OM2YNXC+5ZyAADFXCs4dfBjxdDhaBEhJ7QvfIQRdRMSO0cDF3eZ0OFwDQhZNFuhwMFXmoEfDVAZOVzMQQ9kYneBdDWA6YbS2RwVT8cBFDsmQdaAB1cuydAtfsDF1CELV7Oa3dIwrEdwzT2RoHQiNSUYd+VLZCZliNWlmlWeZdnNkZJtHUgS5AZ5h1J/PFfkiZAlOlcCBtlLca0UA8OVW+XYKYGd1tBH0dJUhPZ9i8GGlXKz0VBNEKxVTEl8av08BW5deLHii/BeUbsUxPipQI2aatWwkumZD1GuMbnBfCDORQah0Y2/tEBBvwBRk3f0Im0RkCB96cLpeUWoTQLUUF8cLtmRIBcDEXP9LkpE1UGQP4bQ6H0LSDTUUSksHQSFm8KjExYbGX2FMBXKZjT0TbBNtDMRVyCmEWfolOnkUwsdamXQhtCEyNqdwZ5OTViVwZIQLQpEV0LQa/SgpV/UOZRS3cNHYnlCZnlSyNdcFWQ2sMBFbHx2ZS8REhcpR9XJkIqoZEQxHQOlxiZkGkH12phEBCf4RoxbFpH6VdyoixYhMRaZpnWGEzJF5tW4QC/WoURB9aApX6LwWQFpjBw0GA2KwPhWxZnGJ6A139AR4uF5DQLdO2Q9cJDG3xSUfTF4SNXWwbR4fSdGqWFmgl/CwNXQbhgnx39kRTBVQqF/h9DkLkWjcegQE1abx5B5A9Wa0I0D/4UUBrFXb3DNzbGslm04QUbh/qt0ERFPQnl5d3FBjOENMNHRuHxBvF0SQ4PBUjdEh4Vq5L8aVF6slVQXK1C0fSwFktVySsx/BBbB1gEnkrONF2mz2bTkCmdCRAZhDWL2rXSh/UuFjHFiRn2+EFDH5xtTLxZpxEAITpVCTAVxM8QtgUfwGQvWyQRfxHZJD0PdHhERAYaNXR5icRkWxg8BqSU8JFIHB1OrgORlmdg/JxFQMkvxEQ47VuTbGe1kSBu7ESXLScSEWrlkNt4flhFgB5Z5MTg4ZtHmXRmWz5J4FCcgVT7+JEUQ+BQ79MmOTYHQGT/UJ1s3ERaltn2mYRUAAMUChXHTDLHS0fwr26WebRRVJ6tQTyR+Uab8AEeRjU+EGzGoAPR0aS0cFSgMTUab/WyR0DgLEcRMRbkOgWpNv2Rb0P0ZpdBSmeeaVA92QhUrxEnES9kAPVq1gsW/gsbAaFcxcJZ+BwDAVTJxsHlwNmuVmDkEAfj9VAB/6U/IFREWQlmtnYnUgJwaVgtVwc3BxczlWAtB+eB5kmBBjQ4ZQCBnT02PxEptFgCbFYAL/lRElic4VCxHwEAUqZZ9OB1J6NSZxAmQ1cHOUfDXAVI1drHa5NeycXKz1UlxC/AlGnQAHSsXHTQhF0EhmZtvRkL5VWflucFUJL/ayZbBl4DQ0fHRCyXYHK0WoA1EncEtC3Z0bgbRUdES7kQUpWbFTglCoRRrHlcDNHj+xAkRUih099GbjPgmXUoTqlQtxJH3sDaqVmEwTDNZMdeZzQjuA1J9nkmF0mUaZtlkSaRenRgt7IEh+W5qdkzzKf2BwIB+AXEz5cCVl8OFEhqZ07E7R0ZC2BfAxG0YB9bQxTrpOYGbFrpWpEBlibNM0REn4cLF0LU1tnJySTB1KG3ZgPE6ZckAvnXGM0aEf2ZoVNrn/yrUeAdBxC8WadmpeXF2wZRqJ1KFWsmAptuPRJJVOBmcDgN0WLkBhdRmwuvbJ0Q4BuGRPEb0D6BEGxJtmgH0B4QfHRgdkNJRrAQTF4GWT1X/uUCWvIF4LNFT1zAgonV2x8XE20A+kGXUrgdBpnSRo1NHkJH5pRKB9Mco03/AhZo12J5xroLVgGFnYT4uNXWfUBGa1ufNBpEH2CzYdPiUNUbERjPMzNnl+QJmcVA6NpX5RC5C/mERBQRJVyo6tWSQJEDkYkAVTh9diEdPRvUL4CQSNmlmZBuZeYGaebVojFDW+J4RB3EeA552WU1OxNHQUrGxonPzclF+hUjUwQNWj782xGx9y8WY9CcC55r5FinH0KXoGJCVK7dXZqlHSYyN5Bnc3FzoZWIsXB0aP5k5VcEVHZqghTi9eFQcWbZZKfAFAyViSuRVjeZNJEDw1O1b5UJkik4xw51kmlcwwTkVapTB0vLVmE5IMH0BNtfgnZ4mjFi1RsSLVlWCTb5RxuBR4RYvdleo3ABmuVOhNrthIYAEF9Ap0E2gaKBZhdAZL59VGp8CAXZhcQdgbAakZKl23yBUvrw5YE55f4JUVdFKMEDJztXWQZkMJfp0/G3U2KQ/cN2kFzTNMocSYH0wKR2WUQR/wNJBhcmZZBrGQk9aZAXGiHw1G0Br0icRE70hJpvGJhEtESxbWCml2uRGf3Q60HVCKoF5RvXrwdlHmETSz4ZFjkPULxkQiEzVmAXBjdK51JkQwR2EL6OwandcQNbvwcRb5A8yMVVgkc2MfHZjQbmB5b5fjaWKVhErwUwLViWitnkxL4Zh+ZkbMUgRgJVWnmwWbf7m0NkLg0ksbJQEydWrxRDco2ZqYEUjV5Tcl22uJKTZmybkfDdkJefOJiXYGhRYj1YbRkSikTpWZJ8VDCQdTGOQ0iVewdJPTIIU01a25AE0RFFzpIlMTW5UEAfqQhdSNxCF/ECDwm0uf+RmNA2OVAJX1DjgF9Ame3eWJDqwJ8BVSxBH5raYBZHBcXQ9G1mJknvw5FB9SYFGseJ+FU4xzzTAcZmemLGAfcGOZVurVllbnrFJhZmUgfgW5oGZwEE96WQYHhHO8URgRoLZLSuXZ0mdKTEUH2YlComUsBEP0IUYR1PR7jYBQ6O0g+0h/2SQx+V6XAB4D1WAcrFmm8dDSp10EQK/2bT0H8FLqZR3ujV0DA/EVaHbQXkAFE7q8Y5ZQSQYmd/DRNRuIOR4PUtXaxkS0D5VXf5VuJgd2FwUORI7sg1Xt34ANSUZwZqRIRRk+r4B0tG1LZ0jKVZnY3VrcbOo1YJLQNRuqUjMTUxQEH/VRUPRKKSZyaJVOHhRDgTtOUBmc4vG4HmlXHIdQRESp6uQdHgBWvWAufiB0dHxcuGZG4BdnRWm9KxBcY0egZ5QlGXf5bnkJzSZa2BUAVFQObWaEMTZ93mAZFBeJVoCVk9Pa9bUuA8TUoTCRmxwXY7SRag0JZr1nkOv/mWcCzWBPyQcuRCF6yhHFNGhtDaaWYGCYaNWKfCVDyRFEUqdLwaERfl7dfdmMSZZjUxMXVkX5nkfmaCJUhMXJzZEA0dZMG0BcsW5ka/RITRXGnU4ZleCUBVKeDsEaRA/xtC0lQF28fhXQnlgAfpRWcHcBmm+XQGdgoXIhX/gVEGRdoPDmd4HFKC05FrwYN6ZTWMyXPWMcyzeyVLFvkFlm+1nvRSBylZh/jWEBtU/UkJuhUDkUeb8EBEwWG31TnQBj8RmwXZxuUA+5BpF2Wk+JBE0bhtkuNSRbmWQ8mXWjE2FUKHfm9vEUABNBnfF5NocEAXAn69RMDVlG5j8aE0DVuJ9icQkFWkRF8DQ9SMQaTXgPRJ2VThwYRulpBgHmy1QEDFaZYFVTCmROJnFl2IRcJeSlANScXwpKhyhDUgvxTEKZc2QxEnEbFSQ2R4VrgcgfCSl2+VQR4eFIzFYqLTGSa9VoCZEDQ/ZeSEkZFsbZBklnk9DmMFZkcDH6lQy8X4SV4jFf5RNHgJt1dicVFTqwGE3BAXWh2gP2StRJi8AdnkUmNU7od5VPlHS4P2bR9lC0WQnOBOQpHkCwX5lB0Jpn10TcG1nWk6EsM8QR9YQUOfxMjYVf8GEQUcyzYN4fxBFdNONMMF2Sk+eWUKFVpHAgUED0tFIieQZVWgngDFjFYmQxTrB5ZvGEKpVyMTEx8JdA9IVe5FSgt6N4Ya8NVofZMVEWHiYzaFiquV0mAaRkYZoZBRuxhCUW3PgmR8yKxZhwXIhn5fddNCKQXB9AAUH0eMI5RTqFQtEfhQ5FW6kSHcETD5pfVZIRqXolFAmWkGZljARKZIkexURgH7+uz8UBFx0UFBRASf8A5ejkgQDxk9X0BuQK0Emf5vXB8QOwlLRR9slEBtlgsP22RkwfnW4pF0kHiXQFx8U8MzpUQzKxB0wSXUQDbJSNfJGWZ4hXmRQBxMWWbS0gUvtBHHCFcnYPlKhRMQ0JZiffC4mT1DMl1JvmRokUe5Q04QoVbnfZ3QqJVQYr+Hj9TBmXDUixUTY9ugOUHlY5zc5EQlbITRBA5PJlux4J1JSTIAEAAAAQADApJJJJJJJAAAAAAcAAAAAQAUAAAAAgAQAAEAAwAdAAAABABbAAEABQAJAAAABgBrAAEABwBIAAEACACVAAAACQDMAAEACgAyAAAACwByAAEADADwAQEADQARAAEADgBOAAAADwAnAAEAEQD8AAEAEgA8AwEAEwArAAAAFACcAAAAFQB0AAAAFgDSAAEAFwDcAQEAGAARAQAAGQCsAgEAGgBnAQAAHQD2AAEAIADDAAEAIQC2AgEANAAMAgEAQcCKAQtxCgAkAAQACwAwAAQAAAA9AAMAAgCJAAQACAChAAUADQC3AAQAAQDiAAIAIQAZAQIAKAAuAQMAFAAzAQQAFQDfAQAAOgDvAQMAAwBRAgAAIABSAgIAOwBdAgEAIgAfAwMAFAAsAwEADgDcAwQAHwDhAwMAQcCLAQs/BAAEAQAACABKAAUACQAgAAUACgCcAAIACwC3AAIADAAPAAAADQDpAgQAFAAAAAEAIwBPAQEAJACGAwUAOQD+AEGRjAELEQECAQIAAgABAgEAAAIBAQACAEGyjAELewEBAAABAQAAAQEAAAEBAAAAAQAAAAEAAAABAAAAAQEAAAABAAAAAQAAAAEAAAAAAAABAAABAQAAAQEAAQEBAQEBAQEBAQABAQEAAQEAAAAAAQEAAQEBAAEBAQEBAQEBAQEAAQEAAAEAAAAAAAAAAQEBAQEBAQABAQAAAQBBu40BCwoBAAABAQEBAAABAEHXjQELHgEAAQEBAQEBAQEBAQEBAQEBAQEBAAEAAAABAQEAAQBBgI4BCwgBAQEBAQEBAQBBlI4BC1QBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQAAAAEBAQABAQEBAQEBAQEBAQEBAQEBAAEBAQAAAAEAAQEBAAABAQAAAAEAAAAAAAABAQAAAAEAQfSOAQuaAQEAAAABAQAAAQEBAAEBAQEBAQEBAAEBAQAAAQEBAAAAAQEAAAEBAAABAQEAAAABAQAAAAEAAAABAAAAAAEBAQEAAQEBAAEBAQAAAQEAAQEAAAEBAAABAQAAAQEAAQEBAQAAAAAAAAAAAQEBAQEAAQABAAEAAQABAAEAAQABAQEBAAAAAAEBAQEAAAAAAQAAAQAAAQEAAQEAAQEAQZiQAQuwAQEBAgIBAQICAQEBAQEBAQEAAAAAAgICAgEBAQEAAAAAAAAAAAICAgIBAQEBAgICAgAAAAAAAAAAAQECAAEBAgABAQIAAQECAAABAQIAAQECAAEBAgABAQIAAgEBAAIBAQACAQEAAgEBAgAAAAIAAAACAQEBAgEBAQIAAQICAAECAgABAgIAAQIBAQEBAAAAAAICAgIBAQEBAAACAgAAAQEAAAEBAAACAgAAAAABAQEBAEHSkQELFwEAAAABAAAAAQAAAAEAAQEAAAEBAAABAEH3kQELYQEAAAEBAAABAQEBAQEBAQEBAAAAAAEBAQEAAQAAAAEAAAABAAAAAQAAAAAAAQAAAQEBAQEBAQEBAQABAQEAAAEBAAABAQAAAQEBAQAAAAAAAAAAAQEBAQAAAAEBAQABAQEAQeiSAQsKAQEBAAEBAQABAQBB/JIBCwwBAQAAAAEBAQAAAQEAQZeTAQtRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAAEBAAABAQAAAQEAAAEAAAABAQEBAQEBAQEAAAABAAAAAAABAQABAQABAQAAAQAAAAEBAQEAAQEBAEHxkwELVwIAAAMAAQAAAAMABwAAAAIAAwAABwAAAAsAAgAAAAcACwAAAwAACAAAAAQADAAAAQAACAAAAAEAAAIAAAQACAAAAQAAAAIABAAAAAEABAAAAQAABAAAAQBB0ZQBCyAICggADAQADAgABAMAAgABAwACAQEJAAECAAQACAAGAgBBgZUBCzYEAAACAAIAAAAHAAgAAAABAAADAAABAAIAAAABAAAIAAIAAAABAAAHAAwAAAIAAAkAAAACAAQAQcCVAQuzAQEAAAAEAAAANQAAAAYAAAAdAAAABQAAAAMAAAAFAAAAEwAAAAUAAAALAAAABQAAABsAAAAFAAAABwAAAAUAAAAXAAAABQAAAA8AAAAFAAAAAgAAAAMAAAAAAAAAAgAAAAYAAAADAAAAHwAAAAUAAAANAAAABQAAAAUAAAAHAAAAFQAAAAYAAAAlAAAABgAAAAkAAAAEAAAARQAAAAcAAAAEAgMCAgMCAgACBAIDAQIEAgIFAEGAlwELEwgCBQICBQICAAIIAgUAAggCAgsAQaCXAQsTExQIBwwUEgwACA0NExQUFBQUCwBBwJcBCxMBAQIDAgEBAgACAQEBAQEBAgEBAEHglwELEwEBAQEBAQIBAAEBAgECAQEBAgEAQYCYAQsTAwMDAwMDAwMEBAQEBAQEAgICAwBBoJgBCwEBAEGwmAELCQEAAAAAAAAAAgBBzJgBCxEBAAAAAQAAAAEAAAAAAAAAAwBB6JgBCxkBAAAAAAAAAAEAAAACAAAAAQAAAAAAAAAEAEGMmQELGQIAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAUAQbCZAQsZAwAAAAAAAAABAAAABAAAAAEAAAAAAAAABgBB1JkBCxkEAAAAAAAAAAEAAAAFAAAAAQAAAAAAAAAHAEH4mQELGQUAAAAAAAAAAQAAAAYAAAABAAAAAAAAAAgAQaCaAQuiAX5EAAAAAAAAfkQAAAAAAAB+RAAAAAAAAH5EAAAAAAAAYWcEAMwAAAB+RAAAAAAAAGFnBABxAAAAa2cEAF0AAAB+RAAAAAAAAHVnBAA2AAAAf2cEACwAAAB+RAAAAAAAAIlnBAAaAAAAk2cEABYAAAB+RAAAAAAAAJ1nBAANAAAAp2cEAAsAAAB+RAAAAAAAALFnBAAGAAAAu2cEAAUAAAB+RABBzJsBC/EBQAAAAAAAAAAVAAAAKwAAAEAAAAAAAAAACQAAABIAAAAbAAAAJQAAAC4AAAA3AAAAQAAAAAAAAAAEAAAACAAAAAwAAAARAAAAFQAAABkAAAAdAAAAIwAAACcAAAArAAAALwAAADQAAAA4AAAAPAAAAEAAAAAAAAAAAgAAAAQAAAAGAAAACAAAAAoAAAAMAAAADgAAABAAAAASAAAAFAAAABYAAAAYAAAAGgAAABwAAAAeAAAAIgAAACQAAAAmAAAAKAAAACoAAAAsAAAALgAAADAAAAAyAAAANAAAADYAAAA4AAAAOgAAADwAAAA+AAAAQABB0p0BC34BAQAAAQEAAAEBAAABAQAAAAEAAAABAAAAAQAAAAEAAQEBAAEBAQABAQEAAQEBAAAAAQAAAQEAAAEBAAEBAQAAAAAAAAABAAAAAQAAAQEAAAEBAAEBAQABAQEBAQEBAAAAAQAAAQEAAQEBAQEBAQAAAAAAAAABAAABAQABAQEAQdueAQslAQAAAQEAAAEBAAEBAQEBAQEBAQEBAAAAAAAAAAEAAQEBAQEBAQBBi58BCzUBAAEBAQAAAAEAAQEBAQEBAQEBAQEAAAAAAAAAAAEBAQEBAQEBAAAAAAEBAQEBAQEBAQEBAQBBzJ8BCxwBAQEBAAAAAAEAAAABAQEAAQEBAQABAQEAAAABAEH4nwELIAEAAAABAQEAAAEBAQAAAQEAAAABAAAAAAAAAQEAAAABAEGkoAELCwEAAAABAQAAAQEBAEG4oAELswMBAAAAAQEAAAABAQEAAAEBAAABAQAAAAEAAAEBAAAAAQAAAAEAAAAAAAAAAAEAAAABAAAAAQEAAAABAQAAAQEAAAEBAAABAQAAAAEBAAEBAAABAQABAQAAAAAAAQABAQEBAQEAAQAAAAAAAAABAQEBAQEBAQAAAAAAAQEBAAAAAQEAAAABAQEAAAABAQEAAAEBAAABAQEAAAABAAEAAQABAAEAAQABAAEAAAAAAQEBAQAAAAABAQEBAAEAAQEAAQAAAQABAQABAAAAAQEAAAEBAQEAAAEBAAAAAAEBAQEAAAAAAQEBAQAAAAEAAQABAAEBAAEAAQABAAABAQABAAABAAEBAAEAAAEAAQABAQABAAEAAQAAAQABAAEBAQAAAQEBAQAAAQEBAAAAAAEAAAEBAQEAAAEAAAAAAAEBAAABAAABAAABAQAAAAABAQEAAQEBAQABAQEAAAABAQABAAABAQAAAQABAQAAAAEBAQEAAAEBAAAAAAEBAAEBAAABAQABAAABAQAAAQAAAAAAAQEAAAEBAAAAAAAAAQAAAQEBAAABAAAAAAAAAAABAAABAQEAAAEAQfajAQuKCQEAAAEBAQAAAQAAAAAAAAEAAAEBAQAAAQAAAAEBAAEBAAABAAABAAABAQAAAQEAAQEAAQEAAAEAAAEAAQEAAAABAQEAAAEBAQAAAAABAQEAAAEBAQAAAAEBAAABAQABAQAAAQEAAAEAAAEAAQEAAAABAQAAAQEBAAABAAEBAQEBAQABAAAAAAAAAQAAAAEBAAAAAQEBAAABAQEAAAAAAQEBAQAAAQEAAAEBAAABAQAAAQEBAQEBAAAAAAAAAQAAAAEAAQEBAAEBAQAAAQAAAAEAAAABAQEAAQEBAAABAQAAAQEAAgIBAgICAgAAAAEAAAEBAgIBAQICAgEAAAAAAgAAAQICAQECAgEBAAICAgAAAgIAAAEBAAEBAQAAAAAAAAAAAQECAgEBAgIAAAEBAAABAQAAAgIAAAICAAACAgAAAgIBAQEBAQEBAQAAAQEAAAEBAgIBAQICAQEAAAAAAAAAAAEBAQECAgICAAAAAAEBAQEBAQEBAgICAgAAAAABAQEBAgICAgICAgIAAAECAAABAgAAAQIAAAECAAEBAgABAQIAAQECAAEBAgABAgIAAQICAAECAgABAgIAAAEBAAEBAgEBAgIBAgICAAABAQIAAAECAgAAAgICAAAAAAEAAAEBAAEBAgEBAgIAAQEBAAABAQIAAAECAgAAAAAAAAEBAgIBAQICAQECAgAAAgIAAAICAAACAgEBAQEAAQEBAAEBAQACAgIAAgICAAAAAQAAAAECAgIBAgICAQAAAAAAAAEBAAECAgABAgIAAAAAAQEAAAICAQACAgEAAAECAgABAgIAAAEBAAAAAAAAAQIAAAECAQECAgICAgIAAQEAAQICAQECAgEAAQEAAAAAAAABAQABAgIBAQICAQAAAgIBAQACAQEAAgAAAgIAAQEAAAEBAAIAAAICAgICAAABAQABAgIAAQICAAABAQAAAAACAAAAAgIBAQICAgEAAAAAAAAAAgEBAgIBAgICAAICAgAAAgIAAAECAAABAQAAAQEAAAECAAACAgACAgIAAQIAAAECAAABAgAAAQIAAAAAAAEBAQECAgICAAAAAAABAgABAgABAgABAgABAgAAAQIAAgABAgECAAEAAQIAAAABAQICAAABAQICAAABAQAAAQEBAQICAgIAAAAAAQEAAQABAAEAAQICAgICAgICAAAAAAAAAAACAQIBAgECAQAAAgIBAQICAAACAgEBAgIAAAICAAABAQAAAgIAAAEBAAICAAECAgEAAgIAAQICAQABAAECAgICAgICAgABAAEAAAAAAgECAQIBAgECAQIBAAEAAQABAAEAAQABAgICAgACAgIAAQEBAAICAgABAQEAAAACAQEBAgAAAAIBAQECAAAAAAIBAQICAQECAgEBAgACAgIAAQEBAAEBAQACAgIAAAACAQEBAgEBAQIAAAACAAEBAAABAQAAAQEAAgICAgAAAAAAAAAAAgEBAgIBAQIAAQEAAAEBAAICAgICAgICAAACAgAAAQEAAAEBAAACAgAAAgIBAQICAQECAgAAAgIAQYytAQuIAwIBAQIAAAACAAAAAQAAAAIAAAABAAICAgECAgIAAgICAQICAgABAAECAgICAgICAgICAgIAAQEBAgABAQICAAECAgIADw8PDw8PDw8PDw8PDw8PDw8CCAICCAgPAggCAggIAgIPDwYIAggPDwIIAgICDw8GBgIGCA8PAgIPDw8PDwICDwMDDw8IAw8PCAgGBgYFAwMDAwgPAwMGCgUICAYIBQ8PCA8DBQYKCA8PAw8FDw8PDwMPBQUFCAUKBQoIDQ8MAwMPCAgDDw8DCA8PDw8PDw8IDwgPAw8IDwgDDwYKDw8KCA8DDwoKCAkKBg8IDwMGBggPAw8PDw8PDw8PDw8DDw8IAwIDAgEBAQIDAwICAgIEAgQGBQcFBwcFAAAAAAYIBwUAAAAAAwIEAgAAAAAAAAAAQgIAAEIAAABTAAAAQgAAAEIAAABTAAAAQgQAAEIAAAAAAAAAQgAAAEICAABCBAAAUwAAAEEEAABCAAAAQgIAAEIAAABCBAAAUwIAAAAEAgYBBQMHAEGhsAELLwgEDAIKBg4BCQUNAwsHDwAQCBgEFAwcAhIKGgYWDh4BEQkZBRUNHQMTCxsHFw8fAEHgsAELkwELAAoDCw8MBwsSCgULDgwJCwAKBAsQDAgLEgoGCwIMDQsACgMLEQwHCxIKBQsODAkLAAoECwEMCAsSCgYLAgwNCwAKAwsTDAcLEgoFCw4MCQsACgQLEAwICxIKBgsCDA0LAAoDCxEMBwsSCgULDgwJCwAKBAsBDAgLEgoGCwIMDQ8PDw8PDw8PABcREREXFxcXFw8AQYCyAQsTCAgICAgICAgADAwMDAwMBAQECABBpLIBCxLITQAA0E0AAOBNAAAATgAAQE4AQcKyAQuCEQEBAgIDAwQEBQUGBgYHCAkJCQoKCwsMDA0NDg4PDwAFCg8AAgQGCQsNDwAAAAD///////8AAAAAAAAAAP//AAAAAQACAAMBAAEBAQIBAwIAAgECAgIDAwADAQMCAwMAAAEAAgADAAABAQECAQMBAAIBAgICAwIAAwEDAgMDAwAADQNAAKEABAHAACEAgwBgAEABQQCiAAUBwQAiACMBYQDgAEIAowAGAcIAIwAlAmIABABDAI0CpADDAAsCJABjAAUAQgJEAKUAYQHEACUAhwBkAEQBRQCmAGIBxQAmACcBZQDkAEYApwBjAcYAJwApAmYACABHAGACqADHAA8CKABnAAkARgJIAKkAZQHIACkAiwBoAEgBSQCqAGYByQAqACsBaQDoAEoAqwBnAcoAKwAtAmoADABLAGQCrADLABMCLABrAA0ASgJMAK0AaQHMAC0AjwBsAEwBTQCuAGoBzQAuAC8BbQDsAE4ArwBrAc4ALwAxAm4AEABPAGgCsADPABcCMABvABEATgJQALEAbQHQADEAkwBwAFABUQCyAG4B0QAyADMBcQDwAFIAswBvAdIAMwA1AnIAFABTAGwCtADTABsCNABzABUAUgJUALUAcQHUADUAlwB0AFQBVQC2AHIB1QA2ADcBdQD0AFYAtwBzAdYANwA5AnYAGABXAHACuADXAB8COAB3ABkAVgJYALkAdQHYADkAmwB4AFgBWQC6AHYB2QA6ADsBeQD4AFoAuwB3AdoAOwA9AnoAHABbAHQCvADbAPICPAB7AB0AWgJcAL0AeQHcAD0AnwB8AFwBXQC+AHoB3QA+AD8BfQD8AF4AvwB7Ad4APwByA34AAAAWAQACAAILAQECAQIAAwADCAAVAQkBCQEDAggBCAEUAQEDBAIIAggCEwEJAgkCBQIIAxAAHQERAREBCwIQARABHAEJAwwCEAIQAhsBEQIRAg0CEAMYACUBGQEZARMCGAEYASQBEQMUAhgCGAIjARkCGQIVAhgDIAAtASEBIQEbAiABIAEsARkDHAIgAiACKwEhAiECHQIgAygANQEpASkBIwIoASgBNAEhAyQCKAIoAjMBKQIpAiUCKAMwAD0BMQExASsCMAEwATwBKQMsAjACMAI7ATECMQItAjADOABFATkBOQEzAjgBOAFEATEDNAI4AjgCQwE5AjkCNQI4A0AATQFBAUEBOwJAAUABTAE5AzwCQAJAAksBQQJBAj0CQANIAFUBSQFJAUMCSAFIAVQBQQNEAkgCSAJTAUkCSQJFAkgDUABdAVEBUQFLAlABUAFcAUkDTAJQAlACWwFRAlECTQJQA1gAZQFZAVkBUwJYAVgBZAFRA1QCWAJYAmMBWQJZAlUCWANgAG0BYQFhAVsCYAFgAWwBWQNcAmACYAJrAWECYQJdAmADaAB1AWkBaQFjAmgBaAF0AWEDZAJoAmgCcwFpAmkCZQJoA3AAfQFxAXEBawJwAXABfAFpA2wCcAJwAnsBcQJxAm0CcAN4AHgAeQF5AXMCeAF4AW4CeAIWBAAIAAoLBQEKAQoADwAPAA8IABUFCQUJBQMKCAUIBQEPAQ8ICggKEwUJCgkKBQoIDwgPEAAdBREFEQULChAFEAUJDwkPEAoQChsFEQoRCg0KEA8QDxgAJQUZBRkFEwoYBRgFEQ8RDxgKGAojBRkKGQoVChgPGA8gAC0FIQUhBRsKIAUgBRkPGQ8gCiAKKwUhCiEKHQogDyAPKAA1BSkFKQUjCigFKAUhDyEPKAooCjMFKQopCiUKKA8oDzAAPQUxBTEFKwowBTAFKQ8pDzAKMAo7BTEKMQotCjAPMA84AEUFOQU5BTMKOAU4BTEPMQ84CjgKQwU5CjkKNQo4DzgPQABNBUEFQQU7CkAFQAU5DzkPQApACksFQQpBCj0KQA9AD0gAVQVJBUkFQwpIBUgFQQ9BD0gKSApTBUkKSQpFCkgPSA9QAF0FUQVRBUsKUAVQBUkPSQ9QClAKWwVRClEKTQpQD1APWABlBVkFWQVTClgFWAVRD1EPWApYCmMFWQpZClUKWA9YD2AAbQVhBWEFWwpgBWAFWQ9ZD2AKYAprBWEKYQpdCmAPYA9oAHUFaQVpBWMKaAVoBWEPYQ9oCmgKcwVpCmkKZQpoD2gPcAB9BXEFcQVrCnAFcAVpD2kPcApwCnsFcQpxCm0KcA9wD3gAeAB5BXkFcwp4BXgFbg54AgCgAKgLVAGqAaoA/gD/AP8IABVVCVUJVQOqCFUIVQiVCKUIqQiqE1UJqgmqBaoI/wj/EAAdVRFVEVULqhBVEFUQlRClEKkQqhtVEaoRqg2qEP8Q/xgAJVUZVRlVE6oYVRhVGJUYpRipGKojVRmqGaoVqhj/GP8gAC1VIVUhVRuqIFUgVSCVIKUgqSCqK1UhqiGqHaog/yD/KAA1VSlVKVUjqihVKFUolSilKKkoqjNVKaopqiWqKP8o/zAAPVUxVTFVK6owVTBVMJUwpTCpMKo7VTGqMaotqjD/MP84AEVVOVU5VTOqOFU4VTiVOKU4qTiqQ1U5qjmqNao4/zj/QABNVUFVQVU7qkBVQFVAlUClQKlAqktVQapBqj2qQP9A/0gAVVVJVUlVQ6pIVUhVSJVIpUipSKpTVUmqSapFqkj/SP9QAF1VUVVRVUuqUFVQVVCVUKVQqVCqW1VRqlGqTapQ/1D/WABlVVlVWVVTqlhVWFVYlVilWKlYqmNVWapZqlWqWP9Y/2AAbVVhVWFVW6pgVWBVYJVgpWCpYKprVWGqYapdqmD/YP9oAHVVaVVpVWOqaFVoVWiVaKVoqWiqc1VpqmmqZapo/2j/cAB9VXFVcVVrqnBVcFVwlXClcKlwqntVcapxqm2qcP9w/3gAeAB5VXlVc6p4VXiVeCVuDngCAwIAAQBB0MMBC4oC+P////7///8CAAAACAAAAO/////7////BQAAABEAAADj////9////wkAAAAdAAAA1v////P///8NAAAAKgAAAMT////u////EgAAADwAAACw////6P///xgAAABQAAAAlv///9////8hAAAAagAAAEn////R////LwAAALcAAAD9+vfxAgUIDv359vMCBgkM/vv48wEEBwz+/PrzAQMFDP36+PQCBQcL/fn39QIGCAr8+fj1AwYHCv37+PUCBAcK/vr49gEFBwn++/j2AQQHCf78+PYBAwcJ/vv59gEEBgn9/Pn2AgMGCf/+/fYAAQIJ/Pr49wMFBwj9+/n3AgQGCAABAAACAgMDAQEAQePFAQuUAwICAgICAwMDAwMBAQEAAAAAAAACAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQEAAAAHAAAABgAAAAUAAAAEAAAAAwAAAAIAAAAAAAAACAAAADgAAAAwAAAAKAAAACAAAAAYAAAAEAAAAAAAAABAAAAAwAEAAIABAABAAQAAAAEAAMAAAACAAAAAAAAAAAACAAAADgAAAAwAAAAKAAAACAAAAAYAAAAEAAAAAAAAAAMBAgACAwGrS1RYIDIwuw0KGgpLVFhhbmltRGF0YQAAAhIAACACAAAQCgAAEAoAACAjAAAQGwAAEAsAABAbAAAQJAAAEBwAAAISAAAgAgAAEAoAABAKABAAIwAAEBsAABALAAAQGwAgACMAABAbAAAQAQAAEAEAABABAAAQAQAAEAIAABACAAAQAgAAAAQAAAAEAAAABAAAEAEAABABAAAQAQAAEAEAABACAAAQAgAAEAIAAAAEABAAAgAAAAQAAAISAAAgAgAAEAoAABAKAAACEgACABIAABAKAAAQEgACABIAABASAEGgyQEL1zsQBCwAEBIbABACHgAQAh4AAAQ0AAASFAAAAgEAACAbAAACTQAAICQAEAQTABASAgAQAgUAEAIFACAgMwAAEhQAAAIBAAAgGwAgIDMAACAbABASGgAQEhoAEBIaABAgGwAAIggAAAIBAAACAQAAIAIAACATAAAgCwAQEgEAEBIBABASAQAQIAIAEAIIAAACAQAAAgEAACACACIACAAAIAIAEAQSABASAQAQAgQAAAIAABAEEgAEEBIAAAIAAAAgGgAEEBIAACAaABAAGgAQABoAEAAaABAAGgAAEgAAABIAAAASAAAAIAEAABAKAAAQCgAgJCQAIAQUACAiHwAgEhwAEAY8ACAiHwAgEhMAEBIcAAAiNAAAEhYAAgQWAAIiBgACEg4AAhIOABICMwAgIhYAIBIKAAASEgAmADMAABISACAEEwAgBBMAIAQTACASEwAgIhEAIBIKACASCgAgAg0AEBIOABACCAACEgUAAhIFAAISBQACEgUAAgIIACASAQAgEgEAIAIEAAICCAAgAgQABAASACAEAgACEgoAACIJAAQAEgAIABIAACIJAAASEgAIABIAABISACAAEgAgABIAIAASACAAEgAgEgkAIBIJACASCQAgAgkAEAIEABACBAASBiwAEhQaABIEHgASBB4AAgY0AAIUFQACBAEAAiIbABAUNAAgIhsAEgYTABIUAQASBAUAEgQFABQQMwACFBUAAgQBAAIiGwAQFDMAAiIbABIUGgASFBoAEhQaABIiGwACJAgAAgQBAAIEAQACIgIAIAQLACAiAgASFAEAEhQBABIUAQASIgIAEgQIAAIEAQACBAEAAiICACQCCAACIgIAJAASABIUAAASBAQAAgQAACQAEgAGEhIAAgQAAAAiGgAGEhIAACIaABIAGgASABoAEgAaABIAGgACBAEAAgQBAAIEAQACIgEAICIBACAiAQAiCCgAIgYVACIkIQAiJBwAIhY3ACIkGQAiJA0AIhQfACAGNwASFBQABAYVAAQkBQAEJAUABBQLABYAMwAiJBUAIiQJAAIUEwAgBjMAAhQTACIGFQAiBhUAIgYVACIUFQAiBg4AIhQGACIUBgAiBA4AEhQLABIUCwAEJAEABCQBAAQkAQAEFAIAAhgIACIUAgAiFAIABAQKABwACAAEBAoAFhASACIGAQAEJAQAEiQEABYQEgAsEBIAEiQEAAAUEgAsEBIAABQSACIAFAAiABQAIgAUACIAFAAiFAUAIhQFACIUBQAiBAUAEhQCABIUAgAUCC4AFBYbABQGHwAUBhwABBg0AAQWEwAEBgcABAYkABIWOAAiBh8AFAgVABQWAgAUBgYAFAYDACQGMwAEFhIABAYGABIGGgAfADMAEgYaABQWGgAUFhoAFBYaABQGGwAEJgkABAYGAAQGBgAEJAEAIgYJAAQkBAAUFgEAFBYBABQWAQAUBgIAFgIIABQkBAAUJAQABCQAACoCCAAEJAAAFgQSABQWAQAkBgIABAYCABYEEgAPABIABAYCAAAGGgAPABIAAAYaABQAGgAUABoAFAAaABQAGgAEFgEABBYBAAQWAQAEJAEABCQEAAQkBAAkKCYAJAgWACQmIQAkJhwAJBg3ACQmGQAkJg0AFBYcACIINwAEFhcABggVAAYmBQAGJgUABhYLABgCMwAkJhUAFCYJAAQWEwANADMABBYTACQIFQAkCBUAJAgVACQWFQAkCA4AJBYGACQWBgAkBg4ABCYKAAQWDgAGJgEABiYBAAYmAQAGFgIACAIIACQWAgAkFgIABgYKAB4CCAAGBgoACgASACQIAgAGJgQABCYFAAoAEgAECBIABCYFAAAWEgAECBIAABYSACQAFAAkABQAJAAUACQAFAAkFgUAJBYFACQWBQAkBgUABBYFAAQWBQAWCi4AFhgaABYIHgAWCB4ABho0AAYYFQAGCAUABiYlABQYNQAGJigAFgoVABYYAQAWCAUAFggFABALMwAGGBQABggEAAYmJAAZADMABiYkABYYGgAWGBoAFhgaABYIHgAGKAkABggFAAYIBQAGJgEAJAgLAAYmBAAWGAEAFhgBABYYAQAWCAUAGAQIAAYIBAAGCAQABiYAAAsACAAGJgAAKgASABYYAAAWCAQABggAACoAEgAJABIABggAAAAIJAAJABIAAAgkABYAGgAWABoAFgAaABYAGgAGGAEABhgBAAYYAQAGJgEABiYEAAYmBAAmDCwAJgoeACYoLgAmKCIAJho1ACYoFQAmKAkAJhgZAAYKOQAWGBYACAoVAAgoBQAIKAUACBgRABwAMwAmKBQAJigIAAYYFQAlADMABhgVACYaGgAmGhoAJhoaACYYHgAmCgkAJigFACYoBQAmGAkAFhgLABYYBgAIKAEACCgBAAgoAQAIGAEAJgoIAAgYBAAIGAQABhgFABcACAAGGAUAEAcSACYKBAAIKAQABigFABAHEgAVABIABigFAAAYFAAVABIAABgUACYAGgAmABoAJgAaACYAGgAmKAEAJigBACYoAQAmCAIAFhgCABYYAgAYDCYAGBoWABgKHgAYChYACBw0AAgaEwAICgYACCglACYaNwAmCh4AGAwWABgaBgAYCg4AGAoGACoGMwAIGhIAGAoDABYKGgATADMAFgoaABgaFQAYGhUAGBoVABgKFQAIKgkACAoFAAgKBQAIKAEAJgoIAAgoBAAYGgUAGBoFABgaBQAYCgUAHAIIABgKAgAYCgIACCgAACoICAAIKAAAGggSABgaAgAoCgIACAoBABoIEgAPBhIACAoBAAAKGgAPBhIAAAoaABgAFAAYABQAGAAUABgAFAAIGgEACBoBAAgaAQAIKAEAJgoEACYKBAAoDigAKAwVACgqIQAoKiEAKBw3ACgqFwAoKhIAKBohAAgMOQAYGhYACgwVAAoqBQAKKgUAChoRAB4CMwAoKhMAGCoOAAgaFQAjAjMACBoVACgMFQAoDBUAKAwVACgaFQAoDA4AKBoGACgaBgAoCg4ACCoKABgaBgAKKgEACioBAAoqAQAKGgEAEAMIACgaAgAoGgIACBoFABEACAAIGgUAEAESACgMAQAKKgQACCoFABABEgATAhIACCoFAAAaFAATAhIAABoUACgAFAAoABQAKAAUACgAFAAoGgUAKBoFACgaBQAoCgUAGBoCABgaAgAaDiYAGhwWABoMHgAaDBYACh40AAocFQAKDAYACiolABgcNQAoDB8AGg4WABocBgAaDA4AGgwGAC8CMwAKHBQAGgwDABgMGgARAjMAGAwaABocFQAaHBUAGhwVABoMFQAKLAkACgwFAAoMBQAKKgEAKAwJACgqAgAaHAUAGhwFABocBQAaDAUAHgQIABoMAgAaDAIACioAAA8ICAAKKgAADwASABocAgAqDAUACgwBAA8AEgAFBBIACgwBAAAMGgAFBBIAAAwaABoAFAAaABQAGgAUABoAFAAKHAEAChwBAAocAQAKKgEAKCoCACgqAgAqLy4AKg4fAAwsJQAqLB8AKi40ACosFQAqLAYAKhwZAAoOMwAaHBQADB4SAAwOAgAMLAEADCwKAB0AMwAqLBQAKiwFABocFAAlBjMAGhwUACoeGgAqHhoAKh4aACocHgAqDgkAKiwFACosBQAqHAkACiwJABocBAAMLAAADCwAAAwsAAAMHAAALQAIAAwcBAAMHAQAGhwEABsICAAaHAQALQISAAwOAgAMLAEAGiwBAC0CEgAZCBIAGiwBAAAcFAAZCBIAABwUACoAGgAqABoAKgAaACoAGgAqLAEAKiwBACosAQAqDAUAGhwAABocAAAcLyYAHB4WABwOIQAcDhkADB83AAweFwAMDhIADA4hACoeNwAqDhUAHC8WABweBgAsDg4AHA4JAC4KMwAMHhMAHA4GABoOFQAXCDMAGg4VABweFQAcHhUAHB4VABwOFQAMLg4ADA4OAAwODgAMLAYAKg4KAAwsBgAcHgUAHB4FABweBQAcDgUAHQIIABwOAgAcDgIADCwCACMGCAAMLAIACAcSABweAgAsDgUADA4FAAgHEgAhBhIADA4FAAAOFAAhBhIAAA4UABwAFAAcABQAHAAUABwAFAAMHgUADB4FAAweBQAMLAUAKg4BACoOAQAsDy4ALC8bAA4uJQAsLh8ALB81ACwuFQAsLgYALB4ZACovNwAcHhYADh8UAA4vCAAOLgEADi4KACYDMwAsLhQALC4FAAweFQAjCDMADB4VACwfGgAsHxoALB8aACweHgAsLwsALC4FACwuBQAsHgkADC4JABweBgAOLgAADi4AAA4uAAAOHgAAKwIIAA4eBAAOHgQADB4FABUICAAMHgUAKQASACwvAQAOLgEAHC4BACkAEgATCBIAHC4BAAAeFAATCBIAAB4UACwAGgAsABoALAAaACwAGgAsLgEALC4BACwuAQAsDgUAHB4CABweAgAeLSYAHh8VAB4vGAAeLxgADh03AA4fFgAOLwgADi43ABwfNQAsLykAHi0WAB4fBQAeLwgAHi8IACkCMwAOHxIADi8EAAwvJQARCDMADC8lAB4fFAAeHxQAHh8UAB4vGAAODw4ADi8IAA4vCAAOLgYALC8JAA4uBgAeHwQAHh8EAB4fBAAeLwgAJgEIAA4vBAAOLwQADi4CACscCAAOLgIACQASAB4fAQAuLwEADi8AAAkAEgAACRIADi8AAAAvJAAACRIAAC8kAB4AFAAeABQAHgAUAB4AFAAOHwQADh8EAA4fBAAOLgUADi4FAA4uBQAuKzYALi0pAC8PNwAuDywALg0zAC4PFAAuDwgALh8YAA4tOAAeHxUALx0VAC8PBgAvDwYALx8RABcAMwAuDxQALg8IAB4fFAASCTMAHh8UAC4NJQAuDSUALg0lAC4PKAAuLQgALg8EAC4PBAAuHwgADg8OAB4fBQAvDwIALw8CAC8PAgAvHwEAJwAIAC4PBAAuDwQAHh8EAAkcCAAeHwQAJwISAC8PBQAvDwUAHg8EACcCEgAiCRIAHg8EAAAfFAAiCRIAAB8UAC4AJAAuACQALgAkAC4AJAAuDwAALg8AAC4PAAAuLwEAHh8BAB4fAQAfKyYAHx0WAB8tGQAfLRYALys1AC8dEwAvLQYALw8lAC4dNAAuLRsAHysWAB8dBgAfLQkAHy0GAAkGMwAvHRIALy0FAB4tGgAgBzMAHi0aAB8NFQAfDRUAHw0VAB8tFQAvDQkALy0FAC8tBQAvDwEALi0KAC4PCAAfDQUAHw0FAB8NBQAfLQUAFwIIAB8PBAAfDwQALw8AABQJCAAvDwAALwsSAB8dAgAPLQUALy0BAC8LEgAWCRIALy0BAAAtGgAWCRIAAC0aAB8AFAAfABQAHwAUAB8AFAAvHQEALx0BAC8dAQAvDwEALi0BAC4tAQAPCyYADysVAA8NIQAPDSEADxs3AA8NFwAPDRIADx0hAC8NOwAfHRYALRsVAC0NBgAtDQYALR0RABUCMwAPDRMADw0OAB8dFQAYCTMAHx0VAA8bFQAPGxUADxsVAA8dFQAPDQ4ADx0GAA8dBgAPLQ4ALw0KAB8dBgAtDQIALQ0CAC0NAgAtHQEAJQIIAA8dAgAPHQIAHx0FACIHCAAfHQUAIwASAA8rAQAtDQUAHw0FACMAEgAkBxIAHw0FAAAdFAAkBxIAAB0UAA8AFAAPABQADwAUAA8AFAAPDQUADw0FAA8NBQAPLQUAHx0CAB8dAgAdKSYAHRsUAB0rGQAdKxkALSk1AC0bFQAtKwYALQ0lAB8bNQAPKx8AHSkWAB0bBAAdKwkAHSsJACMCMwAtGxQALSsFAB8rGgAiBTMAHysaAB0bFAAdGxQAHRsUAB0NGAAtCwkALSsFAC0rBQAtDQEADysJAA8NAgAdGwQAHRsEAB0bBAAdDQgALAEIAB0NBAAdDQQALQ0AABoJCAAtDQAAAwASAB0bAAANKwUALSsBAAMAEgAAAxIALSsBAAArGgAAAxIAACsaAB0AFAAdABQAHQAUAB0AFAAtGwEALRsBAC0bAQAtDQEADw0CAA8NAgANCS4ADSkfACsLJQANCx8ADRk1AA0LFQANCwYADRseAB0LOAAdGxYAKxkSACspAgArCwEAKxsQABEAMwANCxQADQsFAB0bFQASAzMAHRsVAA0ZGgANGRoADRkaAA0bGwANKQkADRsDAA0bAwANGw4ALQsJAB0bBgArCwAAKwsAACsLAAArGwAAHwUIAA0bAgANGwIAHRsFAA4JCAAdGwUAHwMSACspAgArCwEAHQsBAB8DEgAiAxIAHQsBAAAbFAAiAxIAABsUAA0AGgANABoADQAaAA0AGgANCwEADQsBAA0LAQANKwUAHRsCAB0bAgAbJyYAGxkWABspIQAbKRkAKxc3ACsZFwArKRIAKykhAA0ZNwANKRUAGycWABsZBgALKQ4AGykJABsJMwArGRMAGykGAA0pFQAOBzMADSkVABsJFQAbCRUAGwkVABspFQArCQ4AKxkOACsZDgArCwUADSkKACsLBQAbCQUAGwkFABsJBQAbKQUAEQIIABspAgAbKQIAKwsBABABCAArCwEAKwcSABsZAgALKQUAGykFACsHEgASARIAGykFAAApFAASARIAACkUABsAFAAbABQAGwAUABsAFAArCQUAKwkFACsJBQArCwQADSkBAA0pAQALBy4ACyceACkJJQALCR8ACxc1AAsJFQALCQYACxkeAA0nNwAbGRYAKRcSACkJBAApCQEAKRkQABEGMwALCRQACwkFABsZFQAUATMAGxkVAAsXGgALFxoACxcaAAsZGwALJwkACxkDAAsZAwALGQ4AKwkJABsZBgApCQAAKQkAACkJAAApGQAAHQMIAAsZAgALGQIAGxkFACsJCAAbGQUAHQESACkJBAApCQEAGwkBAB0BEgAkARIAGwkBAAAZFAAkARIAABkUAAsAGgALABoACwAaAAsAGgALCQEACwkBAAsJAQALKQIAGxkCABsZAgAZJSYAGRcWABknGQAZJxkAKRU3ACkXFwApJwkAKScuABsXNQALJx4AGSUWABkXBgAZJwkAGScJABsDMwApFxMAKScFABsnGgAnCTMAGycaABkHFQAZBxUAGQcVABkJGAApBw4AKScIACknCAApCQUACycIACkJBQAZBwUAGQcFABkHBQAZCQgAJwsIABkJBAAZCQQAKQkBABYBCAApCQEAKQUSABkXAgAJJwIAKScBACkFEgAXCRIAKScBAAAnGgAXCRIAACcaABkAFAAZABQAGQAUABkAFAApBwUAKQcFACkHBQApCQQAKQkEACkJBAAnFTYAJwcoACcHJQAJBykACQUzAAkHFAAJBwUACRceACklMwAZFxoAJxUSACcHBAAnBwEAJwcRAAsBMwAJBxQACQcFABkXGgAFCTMAGRcaACcHJAAnByQAJwckACcXJAAJFQoACQcEAAkHBAAJFwUAKQcMABkXAQAnBwAAJwcAACcHAAAnFwAAGQUIAAkHBAAJBwQAGRcBAAoBCAAZFwEAGQMSACcHBAAnBwEAGQcBABkDEgAMARIAGQcBAAAXGgAMARIAABcaAAkAJAAJACQACQAkAAkAJAAJBwAACQcAAAkHAAAJFwQAGRcAABkXAAAXEyYAFwUXABcVHAAXJRcAJxM3ACcVGQAnJQ0AJyUhAAkVNQAJJRYABxUbABcFDgAHJQ4AFyUOABcFMwAnFRUAFyUGAAklFQAOATMACSUVABcFEwAXBRMAFwUTABclEwAnBQ4AJxUJACcVCQAnBwUACSULACcHBQAXBQoAFwUKABcFCgAHBwoACQMIABclAgAXJQIAJwcBAB8DCAAnBwEAJQcSABcFBQAHJQUAFyUFACUHEgAeARIAFyUFAAAlFAAeARIAACUUABcAEgAXABIAFwASABcAEgAnBQUAJwUFACcFBQAnBwQACSUCAAklAgAHISwAByMfAAcFJAAHBR8ABxM1AAcFFgAHBQcABxUfACcjOQAXFRsAJRMUACUFBAAlBQEAJQURABcRMwAHBRUABwUGABcVGgAtETMAFxUaAAcTGgAHExoABxMaAAcFHgAHIwkABwUGAAcFBgAHFQYAJwUJABcVAgAlBQAAJQUAACUFAAAlFQAAFwMIACUVBAAlFQQAFxUBACsDCAAXFQEAFwESACUFBAAlBQEAFwUBABcBEgAhBxIAFwUBAAAVGgAhBxIAABUaAAcAGgAHABoABwAaAAcAGgAHBQIABwUCAAcFAgAHJQIAFxUBABcVAQAVESYAFRMUABUjHwAVIxcAJRE3ACUTFgAlIw0AJSMhABcTOAAHIxUABRMbABUTCwAFIw4AFSMOABUDMwAlExIAFSMGAAcjFQArATMAByMVABUDEwAVAxMAFQMTABUjEwAlAw4AJSMJACUjCQAlBQUAByMKACUFBQAVAwoAFQMKABUDCgAFBQoAAxkIABUjAgAVIwIAJQUBAB0BCAAlBQEAIwUSABUTAgAFIwUAFSMFACMFEgAbARIAFSMFAAAjFAAbARIAACMUABUAEgAVABIAFQASABUAEgAlEwQAJRMEACUTBAAlBQQAByMBAAcjAQAjESwAIyEbACMDGwAjAyMABQEzAAUDGgAFAwEABRMeACUhMwAVExoAIxETACMhAgAjAwIAIwMKAAUBMwAFAxoABQMBABUTGgAJATMAFRMaACMDGwAjAxsAIwMbACMTGwAFEQoABQMBAAUDAQAFEwUAJQMMABUTAQAjAwIAIwMCACMDAgAjEwIAEwUIAAUDAQAFAwEAFRMBACUDCAAVEwEAEwMSACMhAQAjAwEABQMBABMDEgAnARIABQMBAAATGgAnARIAABMaACMAGgAjABoAIwAaACMAGgAFAwAABQMAAAUDAAAFEwQAFRMAABUTAAATATYAEwEWABMRHAATIRsAEwE9ACMRHgATIRMAIyEfAAURNAAFIRQAAwEYAAMRCAADIQ0AAyERABEFMwAjERUAEyEKAAUhEwAFETMABSETABMBEgATARIAEwESABMhEgATERMAEyEKABMhCgATAw4ABSELACMDBgADIQQAAyEEAAMhBAADAwgAAwMIABMhAQATIQEAEwMFAAMDCAATAwUAISESABMBBAADIQkAEyEJACEhEgAhIRIAEyEJAAAhEgAhIRIAACESABMAEgATABIAEwASABMAEgAjAQkAIwEJACMBCQATAwoAIwMCACMDAgAhAUwAIQEkACEBGwAhASMAIQFUAAMBGgADAQEAAxEeABMBOAATERsAEQErACEBCwAhAQIAIQEKAAEDMwADARoAAwEBABMRGgADATMAExEaACEBGwAhARsAIQEbACERGgADARAAAwEBAAMBAQADEQUAIwEMABMRAgAhAQIAIQECACEBAgAhEQEAEQMIAAMBAQADAQEAExEBACMBCAATEQEAEQESABEBCgAhAQEAEwEAABEBEgAhARIAEwEAAAARGgAhARIAABEaACEAGgAhABoAIQAaACEAGgADAQAAAwEAAAMBAAADEQQAExEBABMRAQARASQAEQEcABEBGwARARMAEQEcABEBDAARAQsAEQEKACEBFAAhAQIAAQEEAAEBBAABAQQAAQEEAAERAwARAQMAEQECABEBAQARAQMAEQEBABEBGwARARsAEQEbABEBEwARARMAEQELABEBCwARAQoAIQELACEBAgABAQQAAQEEAAEBBAABAQQAARECABEBAgARAQIAEQEBABEBAgARAQEAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAABAAABAQAAAAEAABEAEgARABIAEQASABEAEgARAQoAEQEKABEBCgARAQoAIQECACEBAgAABEoAABIKAAACAQAAAhoAACKaAAACYwAAIDEAACB5AAAgogAAIIIAAARKAAASCgAAAgEAAAIaACAAmQAAAmMAACAxAAAgeQAAIJkAACB5AAACAAAAAgAAAAIAAAAQBAAAIA0AABAFAAAQBQAAEAkAABAOAAAQCgAAAgAAAAIAAAACAAAAEAQAEAANAAAQBQAAEAUAABAJACAADQAAEAkAICBIAAASCgAAAgEAAAIaACAgSAAgIEgAAAIaAAAgSAAgIEgAACBIAEGhhQIL1jsmUQAAFAoAECIiAAASGgAAJPMAACJjAAASGgAAAosAABIXAQACpAAQBkwAEAQIABAiCQAQEhgAEgDzAAAiYwAAEhoAAAKLACQA8wAAAosAABQKAAAUCgAAFAoAABIKAAAiMgAAEgoAABIKAAAgFAAAID0AACAdABAEBAAQBAQAEAQEABACBQAQAjIAABIKAAASCgAAIBQAIgAyAAAgFAASAkgAABQBABAiBQAAEhEAEgJIACYASAAAEhEAABJQACYASAAAElAAAAAJAAAACQAAAAkAAAAJAAAgAAAAIAAAACAAAAAQAAAAEAEAABABABAYhwAQBkIAEBR6ABAEQgAACPQAABRRAAAEAgAAInkAAARYAQAiuQAgCEoAICQBACAEEQAgBBEAECbzAAAUUQAABAIAACJ5ACYQ8wAAInkAEBY9ABAWPQAQFj0AEARBAAAGNAAABAEAAAQBAAASCQAAEl4AABItACAkAAAgJAAAICQAACAiAAACAjIAAAQBAAAEAQAAEgkAAgIyAAASCQAUEEgAICQBAAIEAQAABAEAFBBIABAUSAAABAEAACJIABAUSAAAIkgAEAA9ABAAPQAQAD0AEAA9AAAEAQAABAEAAAQBAAACAQAAIBkAACAZACAamAACFlsAAiR3ACAUWQAQCvcAEAZOABAkDQAQBG4AACQlAQAEZwASCEwAEgYIABIkCQACFBMAFALzABAGSgAgFAkAAAReACoA8wAABF4AIAhRACAIUQAgCFEAIBRQABAINgAQJAkAECQJABAiCAAABE0AACIGABIGBAASBgQAEgYEABIEBQASBDIAIBQAACAUAAAQIgQAJAIyABAiBAASCEgAAhYBABIkBQAAJAQAEghIACwASAAAJAQAAARaACwASAAABFoAIABQACAAUAAgAFAAIABQABAGBAAQBgQAEAYEABAiBAAAIgIAACICABIqkgASCFMAEhaLABIGTwACGvMAAiZOAAIGCQACJG4AACb8AAAkTwAiCkkAIggGAAQGFQAiBg4AJgDzAAImTgASBgYAACRLAB4A8wAAJEsAEhhLABIYSwASGEsAEgZLAAIYMgACBgUAAgYFAAIUBAAABjUAEBQCACIIAgAiCAIAIggCACIkAgACGDIAEgYCABIGAgAQFAEAHAAyABAUAQAkBkgAIggFAAQGBQACBgUAJAZIAB8ASAACBgUAACRKAB8ASAAAJEoAEgBKABIASgASAEoAEgBKAAIWAAACFgAAAhYAAAIEBAAQFAIAEBQCAAQMmgAEGFUABCZqACImXwASDP0AEghaACImDwASBnoAABj0ABAWXQAUCkwAFAgJABQmBgAUFhgAGADzABIIUQAiJgYAABZQACAI8wAAFlAABChQAAQoUAAEKFAABBZQACIYOwAiFgoAIhYKABIkEwAgFjUAIAYFABQIBQAUCAUAFAgFABQGCAAWAjIAIhYBACIWAQAgBgQAKgIyACAGBAAYAkgAFAgFABQmAgASJgEAGAJIAA0ASAASJgEAABZQAA0ASAAAFlAABABQAAQAUAAEAFAABABQACIWCQAiFgkAIhYJABIkCgAgBgEAIAYBABQckgAUCk0AFAh6ABQITQAEHPMABChOAAQIBQAEJm4AICj0AAImTwAkDEkAJCgCAAYIEgAkCBIAJgbzACIoSQAECAUAAiZLABsA8wACJksAFBpJABQaSQAUGkkAFAhMAAQaMgAECAQABAgEAAQWBAACCDIAEhYCACQoAQAkKAEAJCgBACQmAgAIAjIABAgEAAQIBAASFgEAHgIyABIWAQAQC0gAJCgBAAYIAgAECAEAEAtIABkASAAECAEAACZKABkASAAAJkoAFABIABQASAAUAEgAFABIAAQYAAAEGAAABBgAAAQGBAASFgIAEhYCAAYOmgAGGlUABihtAAYYYQAUDvgAFApOABQoDQAUCG4AAhr0ACIIWwAWDEwAFgoJABYoCQAWGB0AGgLzABQKSgAUKAkAAhhQACYI8wACGFAABipQAAYqUAAGKlAABhhRABQMNgAUKAkAFCgJABQmDQAiGDUAIggKABYKBQAWCgUAFgoFABYIBQAYBDIAJBgBACQYAQAiCAkACwAyACIICQAaBEgAFgoFABYoBQAEKAUAGgRIAAcASAAEKAUAABhQAAcASAAAGFAABgBQAAYAUAAGAFAABgBQABQKBAAUCgQAFAoEABQmBAAiCAEAIggBABYukgAWDFMAJhp6ABYKTwAGHvUABipKAAYKCgAGKG8ABCr3ABQoTwAmDkwAJgwFAAgKFQAmChEALADzAAYqSQAGCgkABChKABoI8wAEKEoAFhxLABYcSwAWHEsAFgpLAAYcMwAGCgYABgoGAAYYBgAECjUAFBgGACYMBAAmDAQAJgwEACYoBQAmCjIAFigEABYoBAAkGAEAFwAyACQYAQAqBkgAJgwBAAgKBQAGCgUAKgZIABMASAAGCgUAAChKABMASAAAKEoAFgBKABYASgAWAEoAFgBKAAYaAgAGGgIABhoCAAYIBQAUGAUAFBgFAAgumgAIHFUACCpqAAgqYQAmLvcAJgxSACYqCgAWGncABBz3ACQaUwAYDksAGBwGABgqBgAYGh4AHgDzACYMTgAmKgYABBpLACEA8wAEGksACCxQAAgsUAAILFAACBpQACYcOAAmGgkAJhoJACYoDgAUKjYABgoJABgMAQAYDAEAGAwBABgKBQAcAjIAJhoFACYaBQAGCgUAKggyAAYKBQAeAkgACBwFABgqBQAWKgEAHgJIACMCSAAWKgEAABpKACMCSAAAGkoACABQAAgAUAAIAFAACABQACYaBQAmGgUAJhoFACYoBQAGKAQABigEABgPkgAYDlMAGBx+ABgMTwAIH/MACCxOAAgMCQAIKm4AJCz1ABYqTwAoLksAKA4GAAoMFQAoDA4ALwDzAAgsTgAIDAkABipKABsG8wAGKkoAGB5LABgeSwAYHksAGAxLAAgONAAIDAUACAwFAAgaBQAGDDUAFhoGACgOAgAoDgIAKA4CACgqAQAQAzIAGCoEABgqBAAmGgEAEQAyACYaAQAvAkgAKA4FAAoMBQAIDAUALwJIABECSAAIDAUAACpKABECSAAAKkoAGABKABgASgAYAEoAGABKAAgcAAAIHAAACBwAAAgKAQAWGgUAFhoFAAoPmAAKHlUACixqACgsXwAoH/wAGA5aACgsDwAYDHoABh73ACYcWQAaL0kAGh4GABosBgAaHBUAIgPzAAgeTAAoLAYABhxQACME8wAGHFAACi5QAAouUAAKLlAAChxRACgeOwAoHAoAKBwKABgqEgAWLDMACAwJABoOAQAaDgEAGg4BABoMBQAeBDIAKBwBACgcAQAIDAUADwgyAAgMBQAPAkgACh4FABosBQAYLAEADwJIACEESAAYLAEAABxQACEESAAAHFAACgBQAAoAUAAKAFAACgBQACgcCQAoHAkAKBwJABgqCQAIDAUACAwFABoNmAAaL1kAKh56ABoOWQAKHfUACi5KAAoeDwAKLGoACC73ABgsUQAqLUwAKi8JAAweEgAqDhEABAHzAAouSQAaDgoACCxQAAEE8wAILFAAGg9QABoPUAAaD1AAGg5QAAofMwAKHgYACh4GAAocBgAYDjYAGBwGACovBQAqLwUAKi8FACosBQAtADIAGg4BABoOAQAoHAEAGwgyACgcAQAuCkgADC4FAAweCQAaDgkALgpIABcISAAaDgkAACxQABcISAAALFAAGgBQABoAUAAaAFAAGgBQAAoeAgAKHgIACh4CAAoMBQAYLAEAGCwBAAwNlAAMH08ADC5uAAwuUwAqHfgAKi9VACouBQAaHn4ACB/3ACgeUwAcHUsAHC8FABwuBQAcLhoAGwDzABofUAAqLgEACB5LACUI8wAIHksADA9KAAwPSgAMD0oADB5KACoPOAAqLgUAKi4FABoOFQAYLjgACg4CABwvAQAcLwEAHC8BABwOBQAdAjIAKi4BACouAQAKDgEAIwYyAAoOAQAmA0gAHC8EACwuAQAaLgEAJgNIACMISAAaLgEAAB5KACMISAAAHkoADABKAAwASgAMAEoADABKACouBAAqLgQAKi4EACosBQAKDgEACg4BABwLkgAcLVQALC95ABwvTwAMG/QADA9PAAwvBgAMLmoAKA/0ABouUQAsK0wALA8GAA4vCwAsLw4AHA3zACoPTAAMLwUACi5QABsM8wAKLlAAHA1LABwNSwAcDUsAHC9OAAwdMwAMLwUADC8FAAweBgAKLzMAGh4GACwPBQAsDwUALA8FACwuBQArAjIADC8EAAwvBAAqHgEAFQgyACoeAQApAkgALA8CAA4vAgAMLwEAKQJIABEISAAMLwEAAC5QABEISAAALlAAHABKABwASgAcAEoAHABKAAwfAQAMHwEADB8BAAwOBQAaLgEAGi4BAA4LlAAOHU8ADg9yAA4fWgAsG/gAHC1UABwPEgAcL3MACh33ACovWwAeG0sAHi0FAB4PBgAeHxUAKAPzABwtSwAcDwkACh9QABAJ8wAKH1AADg1KAA4NSgAODUoADh9KACwNOAAsHwYALB8GACwuFQAqHzQAKi8KAB4tAQAeLQEAHi0BAB4vAgAmATIALB8CACwfAgAqLwkAKxwyACovCQAdDEgAHi0EAB4PBQAMDwUAHQxIABoNSAAMDwUAAB9QABoNSAAAH1AADgBKAA4ASgAOAEoADgBKACwPBQAsDwUALA8FACwuBQAqLwEAKi8BAB4JmgAuK1sALh1zAB4tVQAOCfcADg1NAA4dEgAOD3IADA33ABwPTwAuGVMALisKAC8tFQAuLREACgHzAA4NSQAeLQYADA9KAAQJ8wAMD0oAHgtQAB4LUAAeC1AAHi1RAA4LOAAOHQkADh0JAA4fBgAMLTgALB8FAC4rCQAuKwkALisJAC4PCgAnADIAHi0CAB4tAgAsHwEACRwyACwfAQAJBkgALisBAC8tBQAOLQUACQZIACAHSAAOLQUAAA9KACAHSAAAD0oAHgBQAB4AUAAeAFAAHgBQAA4NBQAODQUADg0FAA4fBQAsHwQALB8EAC8JmgAvG1EALw1qAC8NYQAuCfQALitPAC4NBgAuLXkADBv4ACwdVAAfGUsAHxsGAB8NBgAfHR4AFQDzAC4rTgAuDQUADB1LABIH8wAMHUsALwtQAC8LUAAvC1AALx1QAC4LMwAuDQUALg0FAC4PCwAcDTYADi0GAB8rAQAfKwEAHysBAB8dBQAXAjIALg0EAC4NBAAOLQUAFAkyAA4tBQAVAkgALxsBAA8NBQAeDQEAFQJIABgJSAAeDQEAAB1KABgJSAAAHUoALwBQAC8AUAAvAFAALwBQAC4NAQAuDQEALg0BAC4PAgAOLQIADi0CAB8HkgAfKVMAHxt+AB8rTwAvF/MALwtOAC8rBQAvDW4ADgv3AB4NTwAPCUsADwsCAA8bFQAPKw4ADgPzAC8LTgAvKwUADg1KACAF8wAODUoAHwlLAB8JSwAfCUsAHytLAC8ZNAAvKwEALysBAC8dBQAOKzgALh0FAA8LAQAPCwEADwsBAA8NAQAlAjIALysBAC8rAQAuHQEAIgcyAC4dAQAjAkgADwsBAC0rBQAvKwQAIwJIACIFSAAvKwQAAA1KACIFSAAADUoAHwBKAB8ASgAfAEoAHwBKAC8bAQAvGwEALxsBAC8tAQAuHQQALh0EAC0HmAAtGVEALQtqAC0LYQAPF/0AHxlaAB8LDwAfK3oADhn3AC4bWQAdJ0kAHRkGAB0LBgAdGxoALgPzAC8ZTAAfCwYADhtQABAD8wAOG1AALQlQAC0JUAAtCVAALRtRAA8ZOwAPGwoADxsKAB8NEgAeCzYALisJAB0pAQAdKQEAHSkBAB0rAgAsATIADxsBAA8bAQAuKwUAGgkyAC4rBQAuAUgALRkBAA0LBQAfCwIALgFIABoHSAAfCwIAABtQABoHSAAAG1AALQBQAC0AUAAtAFAALQBQAA8bCQAPGwkADxsJAB8NCQAvDQUALw0FAB0FmgAdJ1kADRl6AB0pWQAtFfUALQlKAC0pDwAtC2oALwn3AB8LVQANJUwADQkJACsZEgANKREAAQDzAC0JSQAdKQoALwtQAAAB8wAvC1AAHQdQAB0HUAAdB1AAHSlQAC0XMwAtKQYALSkGAC0bBgAfKTYAHxsGAA0JBQANCQUADQkFAA0LBQAfBTIAHSkBAB0pAQAPGwEADgkyAA8bAQAbCUgADQkFACsZCQAdKQkAGwlIAA4HSAAdKQkAAAtQAA4HSAAAC1AAHQBQAB0AUAAdAFAAHQBQAC0ZAQAtGQEALRkBAC0bBQAfCwUAHwsFACsFlAArF08AKwluACsJUwANFfgADSdVAA0JCQAdGX4ALxf4AA8ZUwAbFUsAGxcGABsJBQAbCRoADwHzAB0XSgANCQUAHxlLAAkL8wAfGUsAKwdKACsHSgArB0oAKxlKAA0HOAANCQkADQkJAA0LFQAPCTgADykGABsnAQAbJwEAGycBABsZBQARAjIAKxkEACsZBAAPKQIAEAEyAA8pAgARBkgAGxcFAAsJAQAdCQAAEQZIABQBSAAdCQAAABlKABQBSAAAGUoAKwBKACsASgArAEoAKwBKAA0JBQANCQUADQkFAA0LBQAPKQUADykFABsDkgAbJVMAGxd3ABsnTwArE/QAKwdPACsnCgArCWoADwf1AB0JVQALI0wACwcJACknDgALJxEAGwXzAA0HTgAbJwkALQlQAAYB8wAtCVAAGwVLABsFSwAbBUsAGydLACsVMwArJwYAKycGACsZBgAtJzUAHRkGAAsHBQALBwUACwcFAAsJBQAdAzIAGycFABsnBQANGQEAKwkyAA0ZAQAbA0gAKQcEACknBQAbJwUAGwNIACcJSAAbJwUAAAlQACcJSAAACVAAGwBKABsASgAbAEoAGwBKACsXAQArFwEAKxcBACsZ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EmUAEAgFABAIBQAQCAUAEAQIAAICogAABBkAAAQZAAASQQACAqIAABJBABIIyAAQCAEAAiQFAAAkFAASCMgALADIAAAkFAAABNoALADIAAAE2gAQAB0AEAAdABAAHQAQAB0AABIBAAASAQAAEgEAACAAAAAgCQAAIAkAEB5HASAoiwAgFsoAEAaXAAAc1AIACOwAABYOAAAUXgEABrwDABTuAQIMywACGAIAAhYbAAIGKgAkAtMCAAjsAAAWDgAAFF4BFATTAgAUXgEQKn0AECp9ABAqfQAQBn4AABikAAAGAQAABgEAAAQlAAAEGAEAIm0AAhgBAAIYAQACGAEAAiQCABIEogAABgEAAAYBAAAEJQAkAqIAAAQlAAgAyAACGAEAEhYFAAAWCgAIAMgALwDIAAAWCgAAJMgALwDIAAAkyAAQAH0AEAB9ABAAfQAQAH0AAAYAAAAGAAAABgAAABIBAAASJQAAEiUAAi6aAQIa2gACCD0BAibiABAe1QIQKNkAECYPAAAGOAEAJtwDAAahASIc0QASGg0AIggbABImIgAIANMCACjLABAmDgAABigBLwDTAgAGKAECDNAAAgzQAAIM0AACFtEAECqjABAmBgAQJgYAEBQaAAAGHQEAFFEAEhoJABIaCQASGgkAIgYKAAIYogAgFgUAIBYFAAAUEQAcAKIAABQRABgCyAASGgQABAgJAAAICgAYAsgADQDIAAAICgAAFtAADQDIAAAW0AACANAAAgDQAAIA0AACANAAEAgBABAIAQAQCAEAEAQCAAAELQAABC0AEg+SARIM3gAiGEsBEhjaACAv1QIgGtQAIBgFACAmRAEAGHQDACYsAQQeyAAEGgUABBgkAAQIKQAoANMCEBrLACAYBAAAJvsALgLTAgAm+wASDssAEg7LABIOywASCMoAIByjACAYBQAgGAUAIAYVAAAm2wAABg0ABBoBAAQaAQAEGgEABCYAABYCogACCAEAAggBAAAGBAAqAqIAAAYEABALyAAiKgQAFBgEACAYAAAQC8gAGQDIACAYAAAAJsoAGQDIAAAmygASAMoAEgDKABIAygASAMoAICgBACAoAQAgKAEAICQBAAAGCQAABgkABA+YAQQc3QAECj0BBCjdABIf1QISKtkAEigGAAIIOwEAGhQDAAjkABQvzAAUDAYAJAobABQoIQAKAtMCIAzLABIoBQAACOMALQLTAgAI4wAEDtAABA7QAAQO0AAEGNEAEiyjABIoAgASKAIAEhYaAAAYswAAJgMAFAwFABQMBQAUDAUAFBgFAAgCogASKAEAEigBAAAmAgAeAqIAACYCABoEyAAUDAIABigFABIoBAAaBMgABwDIABIoBAAAGNAABwDIAAAY0AAEANAABADQAAQA0AAEANAAEgoBABIKAQASCgEAEgYCAAAmAgAAJgIAFA2SARQO3AAkGksBFBrYACIt1QIiDNUAIhoFACIYUQEADOQCECjYAAYfygAGHAEABhokAAYKKQAqAtMCEhzIACIaBAAAKNEALAbTAgAo0QAULsgAFC7IABQuyAAUCskAIh6jACIaBQAiGgUAIggSAAAapAAgCAIABhwAAAYcAAAGHAAABigBABgEogAECgEABAoBAAIIAgALAKIAAggCAA4AyAAGHAEAFhoEACIaAAAOAMgACArIACIaAAAAKMgACArIAAAoyAAUAMgAFADIABQAyAAUAMgAIioBACIqAQAiKgEAIiYBACAIAQAgCAEABg2UAQYe2wAGDEcBBirXABQd1QIULNkAFAwJAAQKQQEADtMCIBreACYPzgAmDggAJgwYABYqIgAOANMCBA7LABQMCAAAGssACArTAgAaywAGL8oABi/KAAYvygAGGs4AFC6jABQMBQAUDAUAFBgeACAqpAACKAYAJiwEACYsBAAmLAQAJgoFACYKogAUDAQAFAwEAAIoAgAXAKIAAigCAB4CyAAmDgQACAwEAAQMBAAeAsgAIwLIAAQMBAAAGsoAIwLIAAAaygAGAMoABgDKAAYAygAGAMoAFAwBABQMAQAUDAEAFAgCAAIKBAACCgQAFguSARYv4wAmLEEBFhzaACQb1wIkHtcAJBwNACQqRwEgHtUCEirUAAgdyAAIHgQAGBwdAAgMLQAAAdMCFB7LAAYcBQAgKsoAAQDTAiAqygAWD8oAFg/KABYPygAWDMoAJA+oACQcDQAkHA0AJAoRAAIcowAiCgkACB4AAAgeAAAIHgAACCoAABwCogAGDAUABgwFAAQKBAAqCKIABAoEAC8CyAAIHgQAGBwEACQcAAAvAsgAEQLIACQcAAAAKsoAEQLIAAAqygAWAMoAFgDKABYAygAWAMoAJA4FACQOBQAkDgUAJCgEACIaAgAi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BzIAAwcyAAMHMgADBTIAAwYLAAMFBQADBQUAAwQGAAIFCwADBAkABAUEAAQFBAAEBQQABAQIAAQECAADBQQAAwUEAAMEBQAMAAgAAwQFAAcAEgAEBQkABAUAAAMFAAAHABIADgASAAMFAAAABSQADgASAAAFJAADADIAAwAyAAMAMgADADIAAwYCAAMGAgADBgIAAwQCAAIFAgACBQIABAk2AAQHKAAEBj0ABAYkAAQIMwAEBiUABAYBAAQGNAACB0QAAwYmAAUHFgAFBg0ABQYEAAUGDQAIADMABQYiAAQGAQACBiUAEAAzAAIGJQAECCUABAglAAQIJQAEBiQABAcIAAQGAQAEBgEABAUFAAMGCwAEBQkABQYEAAUGBAAFBgQABQUIAAUFCAAEBgEABAYBAAQFBQAPAAgABAUFAAgBEgAEBwQABQYAAAQGAAAIARIAEQASAAQGAAAABiQAEQASAAAGJAAEACQABAAkAAQAJAAEACQABAYBAAQGAQAEBgEABAUBAAMGAgADBgIABQo2AAUIKAAFBz0ABQckAAUJMwAFByUABQcBAAUHNAADCDwABAcoAAYIFgAGBw0ABgcEAAYHDQAJATMABAgdAAUHAQADByUAEwAzAAMHJQAFCSUABQklAAUJJQAFByQABQgIAAUHAQAFBwEABQYFAAQHCAAFBgkABgcEAAYHBAAGBwQABgYIAAkACAAFBwEABQcBAAUGBQASAAgABQYFAAoAEgAFCAQABgcAAAUHAAAKABIAEgESAAUHAAAAByQAEgESAAAHJAAFACQABQAkAAUAJAAFACQABQcBAAUHAQAFBwEABQYBAAQHBAAEBwQABgs2AAYJKAAGCD4ABggmAAYKMwAGCBsABggDAAYHRQAECTwABQg2AAcJFgAHCAkABwgGAAcIFQALADMABggbAAYIAwAECDIAFgAzAAQIMgAGCiUABgolAAYKJQAGCCUABgkIAAYIAgAGCAIABgcFAAUICAAGBwkABwgFAAcIBQAHCAUABwcIAAoBCAAGCAIABggCAAYHBQAVAAgABgcFAAsBEgAGCQQABwgCAAYIAgALARIAEwISAAYIAgAACDIAEwISAAAIMgAGACQABgAkAAYAJAAGACQABggBAAYIAQAGCAEABgcBAAUIBAAFCAQABwxEAAcKPAAICUQABwkyAAcLNQAHChwABwkFAAcJNQAHCUQABgkmAAgKFgAICQ0ACAkEAAgJDQAMATQABwobAAcJBAAFCSUAGQA0AAUJJQAHCzIABwsyAAcLMgAHCTIABwoLAAcJBQAHCQUABwgGAAYJCwAHCAkACAkEAAgJBAAICQQACAgIAAwACAAHCQQABwkEAAcIBQAYAAgABwgFAA0AEgAICQkACAkAAAcJAAANABIAGgASAAcJAAAACSQAGgASAAAJJAAHADIABwAyAAcAMgAHADIABwoCAAcKAgAHCgIABwgCAAYJAgAGCQIACA02AAgLKAAICj0ACAokAAgMMwAICiUACAoBAAgKNAAGC0QABwomAAkLFgAJCg0ACQoEAAkKDQAMBDMACQoiAAgKAQAGCiUAHAAzAAYKJQAIDCUACAwlAAgMJQAICiQACAsIAAgKAQAICgEACAkFAAcKCwAICQkACQoEAAkKBAAJCgQACQkIAA0BCAAICgEACAoBAAgJBQAbAAgACAkFAA4BEgAICwQACQoAAAgKAAAOARIAHQASAAgKAAAACiQAHQASAAAKJAAIACQACAAkAAgAJAAIACQACAoBAAgKAQAICgEACAkBAAcKAgAHCgIACQ42AAkMKAAJCz0ACQskAAkNMwAJCyUACQsBAAkLNAAHDDwACAsoAAoMFgAKCw0ACgsEAAoLDQANBTMACAwdAAkLAQAHCyUAHwAzAAcLJQAJDSUACQ0lAAkNJQAJCyQACQwIAAkLAQAJCwEACQoFAAgLCAAJCgkACgsEAAoLBAAKCwQACgoIAA8ACAAJCwEACQsBAAkKBQAeAAgACQoFAA8CEgAJDAQACgsAAAkLAAAPAhIAHgESAAkLAAAACyQAHgESAAALJAAJACQACQAkAAkAJAAJACQACQsBAAkLAQAJCwEACQoBAAgLBAAICwQACg82AAoNKAAKDD4ACgwmAAoOMwAKDBsACgwDAAoLRQAIDTwACQw2AAsNFgALDAkACwwGAAsMFQARADMACgwbAAoMAwAIDDIAHgIzAAgMMgAKDiUACg4lAAoOJQAKDCUACg0IAAoMAgAKDAIACgsFAAkMCAAKCwkACwwFAAsMBQALDAUACwsIABABCAAKDAIACgwCAAoLBQAfAQgACgsFAA8FEgAKDQQACwwCAAoMAgAPBRIAHwISAAoMAgAADDIAHwISAAAMMgAKACQACgAkAAoAJAAKACQACgwBAAoMAQAKDAEACgsBAAkMBAAJDAQACxBEAAsOPAAMDUQACw0yAAsPNQALDhwACw0FAAsNNQALDUQACg0mAAwOFgAMDQ0ADA0EAAwNDQASATQACw4bAAsNBAAJDSUAHwM0AAkNJQALDzIACw8yAAsPMgALDTIACw4LAAsNBQALDQUACwwGAAoNCwALDAkADA0EAAwNBAAMDQQADAwIABAECAALDQQACw0EAAsMBQAcBAgACwwFABMAEgAMDQkADA0AAAsNAAATABIAHgQSAAsNAAAADSQAHgQSAAANJAALADIACwAyAAsAMgALADIACw4CAAsOAgALDgIACwwCAAoNAgAKDQIADBE2AAwPKAAMDj0ADA4kAAwQMwAMDiUADA4BAAwONAAKD0QACw4mAA0PFgANDg0ADQ4EAA0ODQAUADMADQ4iAAwOAQAKDiUAGAgzAAoOJQAMECUADBAlAAwQJQAMDiQADA8IAAwOAQAMDgEADA0FAAsOCwAMDQkADQ4EAA0OBAANDgQADQ0IABEFCAAMDgEADA4BAAwNBQAfBAgADA0FABQBEgAMDwQADQ4AAAwOAAAUARIAHwUSAAwOAAAADiQAHwUSAAAOJAAMACQADAAkAAwAJAAMACQADA4BAAwOAQAMDgEADA0BAAsOAgALDgIADRI2AA0QKAANDz0ADQ8kAA0RMwANDyUADQ8BAA0PNAALEDwADA8oAA4QFgAODw0ADg8EAA4PDQAVATMADBAdAA0PAQALDyUAGwgzAAsPJQANESUADRElAA0RJQANDyQADRAIAA0PAQANDwEADQ4FAAwPCAANDgkADg8EAA4PBAAODwQADg4IABUACAANDwEADQ8BAA0OBQAeBggADQ4FABYAEgANEAQADg8AAA0PAAAWABIAHgcSAA0PAAAADyQAHgcSAAAPJAANACQADQAkAA0AJAANACQADQ8BAA0PAQANDwEADQ4BAAwPBAAMDwQADhM2AA4RKAAOED4ADhAmAA4SMwAOEBsADhADAA4PRQAMETwADRA2AA8RFgAPEAkADxAGAA8QFQAXADMADhAbAA4QAwAMEDIAHggzAAwQMgAOEiUADhIlAA4SJQAOECUADhEIAA4QAgAOEAIADg8FAA0QCAAODwkADxAFAA8QBQAPEAUADw8IABYBCAAOEAIADhACAA4PBQAfBwgADg8FABcBEgAOEQQADxACAA4QAgAXARIAGwoSAA4QAgAAEDIAGwoSAAAQMgAOACQADgAkAA4AJAAOACQADhABAA4QAQAOEAEADg8BAA0QBAANEAQADxREAA8SPAAQEUQADxEyAA8TNQAPEhwADxEFAA8RNQAPEUQADhEmABASFgAQEQ0AEBEEABARDQAYATQADxIbAA8RBAANESUAHwk0AA0RJQAPEzIADxMyAA8TMgAPETIADxILAA8RBQAPEQUADxAGAA4RCwAPEAkAEBEEABARBAAQEQQAEBAIABgACAAPEQQADxEEAA8QBQAYDAgADxAFABkAEgAQEQkAEBEAAA8RAAAZABIAHgoSAA8RAAAAESQAHgoSAAARJAAPADIADwAyAA8AMgAPADIADxICAA8SAgAPEgIADxACAA4RAgAOEQIAEBU2ABATKAAQEj0AEBIkABAUMwAQEiUAEBIBABASNAAOE0QADxImABETFgAREg0AERIEABESDQAYBDMAERIiABASAQAOEiUAHAwzAA4SJQAQFCUAEBQlABAUJQAQEiQAEBMIABASAQAQEgEAEBEFAA8SCwAQEQkAERIEABESBAAREgQAEREIABkBCAAQEgEAEBIBABARBQAbDAgAEBEFABoBEgAQEwQAERIAABASAAAaARIAHwsSABASAAAAEiQAHwsSAAASJAAQACQAEAAkABAAJAAQACQAEBIBABASAQAQEgEAEBEBAA8SAgAPEgIAERY2ABEUKAAREz0AERMkABEVMwAREyUAERMBABETNAAPFDwAEBMoABIUFgASEw0AEhMEABITDQAZBTMAEBQdABETAQAPEyUAHwwzAA8TJQARFSUAERUlABEVJQAREyQAERQIABETAQAREwEAERIFABATCAAREgkAEhMEABITBAASEwQAEhIIABsACAAREwEAERMBABESBQAeDAgAERIFABsCEgARFAQAEhMAABETAAAbAhIAHg0SABETAAAAEyQAHg0SAAATJAARACQAEQAkABEAJAARACQAERMBABETAQAREwEAERIBABATBAAQEwQAEhc2ABIVKAASFD4AEhQmABIWMwASFBsAEhQDABITRQAQFTwAERQ2ABMVFgATFAkAExQGABMUFQAdADMAEhQbABIUAwAQFDIAHg4zABAUMgASFiUAEhYlABIWJQASFCUAEhUIABIUAgASFAIAEhMFABEUCAASEwkAExQFABMUBQATFAUAExMIABwBCAASFAIAEhQCABITBQAfDQgAEhMFABsFEgASFQQAExQCABIUAgAbBRIAHw4SABIUAgAAFDIAHw4SAAAUMgASACQAEgAkABIAJAASACQAEhQBABIUAQASFAEAEhMBABEUBAARFAQAExhEABMWPAAUFUQAExUyABMXNQATFhwAExUFABMVNQATFUQAEhUmABQWFgAUFQ0AFBUEABQVDQAeATQAExYbABMVBAARFSUAHw80ABEVJQATFzIAExcyABMXMgATFTIAExYLABMVBQATFQUAExQGABIVCwATFAkAFBUEABQVBAAUFQQAFBQIABwECAATFQQAExUEABMUBQAcEAgAExQFAB8AEgAUFQkAFBUAABMVAAAfABIAHhASABMVAAAAFSQAHhASAAAVJAATADIAEwAyABMAMgATADIAExYCABMWAgATFgIAExQCABIVAgASFQIAFBk2ABQXKAAUFj0AFBYkABQYMwAUFiUAFBYBABQWNAASF0QAExYmABUXFgAVFg0AFRYEABUWDQAcCDMAFRYiABQWAQASFiUAGBQzABIWJQAUGCUAFBglABQYJQAUFiQAFBcIABQWAQAUFgEAFBUFABMWCwAUFQkAFRYEABUWBAAVFgQAFRUIAB0FCAAUFgEAFBYBABQVBQAfEAgAFBUFAB8DEgAUFwQAFRYAABQWAAAfAxIAHxESABQWAAAAFiQAHxESAAAWJAAUACQAFAAkABQAJAAUACQAFBYBABQWAQAUFgEAFBUBABMWAgATFgIAFRo2ABUYKAAVFz0AFRckABUZMwAVFyUAFRcBABUXNAATGDwAFBcoABYYFgAWFw0AFhcEABYXDQAdCTMAFBgdABUXAQATFyUAGxQzABMXJQAVGSUAFRklABUZJQAVFyQAFRgIABUXAQAVFwEAFRYFABQXCAAVFgkAFhcEABYXBAAWFwQAFhYIAB8ECAAVFwEAFRcBABUWBQAeEggAFRYFAB8GEgAVGAQAFhcAABUXAAAfBhIAHhMSABUXAAAAFyQAHhMSAAAXJAAVACQAFQAkABUAJAAVACQAFRcBABUXAQAVFwEAFRYBABQXBAAUFwQAFhs2ABYZKAAWGD4AFhgmABYaMwAWGBsAFhgDABYXRQAUGTwAFRg2ABcZFgAXGAkAFxgGABcYFQAfCDMAFhgbABYYAwAUGDIAHhQzABQYMgAWGiUAFholABYaJQAWGCUAFhkIABYYAgAWGAIAFhcFABUYCAAWFwkAFxgFABcYBQAXGAUAFxcIAB8HCAAWGAIAFhgCABYXBQAfEwgAFhcFAB8JEgAWGQQAFxgCABYYAgAfCRIAGxYSABYYAgAAGDIAGxYSAAAYMgAWACQAFgAkABYAJAAWACQAFhgBABYYAQAWGAEAFhcBABUYBAAVGAQAFxxEABcaPAAYGUQAFxkyABcbNQAXGhwAFxkFABcZNQAXGUQAFhkmABgaFgAYGQ0AGBkEABgZDQAfCzQAFxobABcZBAAVGSUAHxU0ABUZJQAXGzIAFxsyABcbMgAXGTIAFxoLABcZBQAXGQUAFxgGABYZCwAXGAkAGBkEABgZBAAYGQQAGBgIABwQCAAXGQQAFxkEABcYBQAYGAgAFxgFAB8MEgAYGQkAGBkAABcZAAAfDBIAHhYSABcZAAAAGSQAHhYSAAAZJAAXADIAFwAyABcAMgAXADIAFxoCABcaAgAXGgIAFxgCABYZAgAWGQIAGB02ABgbKAAYGj0AGBokABgcMwAYGiUAGBoBABgaNAAWG0QAFxomABkbFgAZGg0AGRoEABkaDQAcFDMAGRoiABgaAQAWGiUAHBgzABYaJQAYHCUAGBwlABgcJQAYGiQAGBsIABgaAQAYGgEAGBkFABcaCwAYGQkAGRoEABkaBAAZGgQAGRkIAB0RCAAYGgEAGBoBABgZBQAbGAgAGBkFAB8PEgAYGwQAGRoAABgaAAAfDxIAHxcSABgaAAAAGiQAHxcSAAAaJAAYACQAGAAkABgAJAAYACQAGBoBABgaAQAYGgEAGBkBABcaAgAXGgIAGR42ABkcKAAZGz0AGRskABkdMwAZGyUAGRsBABkbNAAXHDwAGBsoABocFgAaGw0AGhsEABobDQAdFTMAGBwdABkbAQAXGyUAHxgzABcbJQAZHSUAGR0lABkdJQAZGyQAGRwIABkbAQAZGwEAGRoFABgbCAAZGgkAGhsEABobBAAaGwQAGhoIAB8QCAAZGwEAGRsBABkaBQAeGAgAGRoFAB8SEgAZHAQAGhsAABkbAAAfEhIAHhkSABkbAAAAGyQAHhkSAAAbJAAZACQAGQAkABkAJAAZACQAGRsBABkbAQAZGwEAGRoBABgbBAAYGwQAGh82ABodKAAaHD4AGhwmABoeMwAaHBsAGhwDABobRQAYHTwAGRw2ABsdFgAbHAkAGxwGABscFQAfFDMAGhwbABocAwAYHDIAHhozABgcMgAaHiUAGh4lABoeJQAaHCUAGh0IABocAgAaHAIAGhsFABkcCAAaGwkAGxwFABscBQAbHAUAGxsIAB8TCAAaHAIAGhwCABobBQAfGQgAGhsFAB8VEgAaHQQAGxwCABocAgAfFRIAHxoSABocAgAAHDIAHxoSAAAcMgAaACQAGgAkABoAJAAaACQAGhwBABocAQAaHAEAGhsBABkcBAAZHAQAHB5WABsePAAcHUQAGx0yABsfNQAbHhwAGx0FABsdNQAbHUQAGh0mABweFgAcHQ0AHB0EABwdDQAfFzQAGx4bABsdBAAZHSUAHxs0ABkdJQAbHzIAGx8yABsfMgAbHTIAGx4LABsdBQAbHQUAGxwGABodCwAbHAkAHB0EABwdBAAcHQQAHBwIABwcCAAbHQQAGx0EABscBQAcHAgAGxwFAB8YEgAcHQkAHB0AABsdAAAfGBIAHhwSABsdAAAAHSQAHhwSAAAdJAAbADIAGwAyABsAMgAbADIAGx4CABseAgAbHgIAGxwCABodAgAaHQIAHR9WABwfKAAcHj0AHB4kABwfSAAcHiUAHB4BABweNAAaH0QAGx4mAB0fFgAdHg0AHR4EAB0eDQAfGjQAHR4iABweAQAaHiUAHh00ABoeJQAcHygAHB8oABwfKAAcHiQAHB8IABweAQAcHgEAHB0FABseCwAcHQkAHR4EAB0eBAAdHgQAHR0IAB0dCAAcHgEAHB4BABwdBQAfHAgAHB0FAB8bEgAcHwQAHR4AABweAAAfGxIAHx0SABweAAAAHiQAHx0SAAAeJAAcACQAHAAkABwAJAAcACQAHB4BABweAQAcHgEAHB0BABseAgAbHgIAHh9oAB4fTQAdHz0AHR8kAB4fdAAdHyUAHR8BAB0fNAAcH0gAHB8oAB4fKAAeHw0AHh8EAB4fDQAfHTQAHh8iAB0fAQAbHyUAHx40ABsfJQAdHz0AHR89AB0fPQAdHyQAHR8aAB0fAQAdHwEAHR4FABwfCAAdHgkAHh8EAB4fBAAeHwQAHh4IAB8cCAAd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ABUBSAAbCEgACw8BAAAOWgAbCEgAAA5aAAwAWgAMAFoADABaAAwAWgALDwEACw8BAAsPAQALDQEACQ4KAAkOCgANFKIADRJeAA0QcwANEGMADBT0AAwRTQAMEAIADA90AAoR/QAKD2QADRRRAA0SDQAOEBkADRASABQE8wAMEUwADBABAAoPWwAcCPMACg9bAA0SWgANEloADRJaAA0PYwAMEjMADBACAAwQAgAMDhsAChAyAAoPEwANEgkADRIJAA0SCQANDxIAFQAyAAwQAQAMEAEACg8KAB4GMgAKDwoAFwBIAA0SBAAOEAAADBABABcASAAeCEgADBABAAAPWgAeCEgAAA9aAA0AWgANAFoADQBaAA0AWgAMEAEADBABAAwQAQAMDgIACg8KAAoPCgAOFaIADhNeAA4RcwAOEWMADRX0AA0STQANEQIADRBqAAsS/QALEFQADhVRAA4TDQAPERkADhESABUF8wANEkwADREBAAsQUAAfCPMACxBQAA4TWgAOE1oADhNaAA4QXgANEzMADRECAA0RAgANDxsACxEyAAsQFAAOEwkADhMJAA4TCQAOEA0AFgEyAA0RAQANEQEACxAQAB8HMgALEBAAGAFIAA4TBAAPEQAADREBABgBSAAfCUgADREBAAAQUAAfCUgAABBQAA4AWgAOAFoADgBaAA4AWgANEQEADREBAA0RAQANDwIACxAEAAsQBAAPFpoADxRUAA8SdQAPElUADhb0AA4TSwAOEgIADhFqAAwT/QAMEWQADxZaAA8UFAAQEhoADxIVABkA9AAOE0sADhICAAwRWwAeCvQADBFbAA8UUAAPFFAADxRQAA8SVAAOFDQADhIBAA4SAQAOERkADBI0AAwREwAPFBAADxQQAA8UEAAPEhQAGAAyAA4SAQAOEgEADBEKABgMMgAMEQoAGARIAA8UBAAQEgEADhIBABgESAAcDEgADhIBAAARWgAcDEgAABFaAA8AUAAPAFAADwBQAA8AUAAOEgEADhIBAA4SAQAOEAEADBEKAAwRCgAQF6IAEBVeABATdAAQE2QADxf0AA8UTAAPEwIADxJqAA0U/QANEmQAEBdRABAVDQARExoAEBMTABoB9AAPFEwADxMCAA0SWwAfC/QADRJbABAVWgAQFVoAEBVaABASYwAPFTQADxMBAA8TAQAPEhkADRM0AA0SEwAQFQkAEBUJABAVCQAQEhIAGQEyAA8TAQAPEwEADRIKABsMMgANEgoAGQVIABAVBAAREwEADxMBABkFSAAfDEgADxMBAAASWgAfDEgAABJaABAAWgAQAFoAEABaABAAWgAPEwEADxMBAA8TAQAPEQEADRIKAA0SCgARGKIAERZeABEUcwARFGMAEBj0ABAVTQAQFAIAEBN0AA4V/QAOE2QAERhRABEWDQASFBkAERQSABwA8wAQFUwAEBQBAA4TWwAYEPMADhNbABEWWgARFloAERZaABETYwAQFjMAEBQCABAUAgAQEhsADhQyAA4TEwARFgkAERYJABEWCQARExIAGwAyABAUAQAQFAEADhMKAB4MMgAOEwoAHQBIABEWBAASFAAAEBQBAB0ASAAeDkgAEBQBAAATWgAeDkgAABNaABEAWgARAFoAEQBaABEAWgAQFAEAEBQBABAUAQAQEgIADhMKAA4TCgASGaIAEhdeABIVcwASFWMAERn0ABEWTQARFQIAERRqAA8W/QAPFFQAEhlRABIXDQATFRkAEhUSAB0B8wARFkwAERUBAA8UUAAbEPMADxRQABIXWgASF1oAEhdaABIUXgARFzMAERUCABEVAgARExsADxUyAA8UFAASFwkAEhcJABIXCQASFA0AHAEyABEVAQARFQEADxQQAB8NMgAPFBAAHgFIABIXBAATFQAAERUBAB4BSAAfD0gAERUBAAAUUAAfD0gAABRQABIAWgASAFoAEgBaABIAWgARFQEAERUBABEVAQAREwIADxQEAA8UBAATGpoAExhUABMWdQATFlUAEhr0ABIXSwASFgIAEhVqABAX/QAQFWQAExpaABMYFAAUFhoAExYVAB8A9AASF0sAEhYCABAVWwAeEPQAEBVbABMYUAATGFAAExhQABMWVAASGDQAEhYBABIWAQASFRkAEBY0ABAVEwATGBAAExgQABMYEAATFhQAHAQyABIWAQASFgEAEBUKABwQMgAQFQoAHAhIABMYBAAUFgEAEhYBABwISAAYFEgAEhYBAAAVWgAYFEgAABVaABMAUAATAFAAEwBQABMAUAASFgEAEhYBABIWAQASFAEAEBUKABAVCgAUG6IAFBleABQXdAAUF2QAExv0ABMYTAATFwIAExZqABEY/QARFmQAFBtRABQZDQAVFxoAFBcTAB8D9AATGEwAExcCABEWWwAfEfQAERZbABQZWgAUGVoAFBlaABQWYwATGTQAExcBABMXAQATFhkAERc0ABEWEwAUGQkAFBkJABQZCQAUFhIAHQUyABMXAQATFwEAERYKAB8QMgARFgoAHQlIABQZBAAVFwEAExcBAB0JSAAbFEgAExcBAAAWWgAbFEgAABZaABQAWgAUAFoAFABaABQAWgATFwEAExcBABMXAQATFQEAERYKABEWCgAVHKIAFRpeABUYcwAVGGMAFBz0ABQZTQAUGAIAFBd0ABIZ/QASF2QAFRxRABUaDQAWGBkAFRgSABwM8wAUGUwAFBgBABIXWwAcFPMAEhdbABUaWgAVGloAFRpaABUXYwAUGjMAFBgCABQYAgAUFhsAEhgyABIXEwAVGgkAFRoJABUaCQAVFxIAHwQyABQYAQAUGAEAEhcKAB4SMgASFwoAHwhIABUaBAAWGAAAFBgBAB8ISAAeFEgAFBgBAAAXWgAeFEgAABdaABUAWgAVAFoAFQBaABUAWgAUGAEAFBgBABQYAQAUFgIAEhcKABIXCgAWHaIAFhteABYZcwAWGWMAFR30ABUaTQAVGQIAFRhqABMa/QATGFQAFh1RABYbDQAXGRkAFhkSAB0N8wAVGkwAFRkBABMYUAAfFPMAExhQABYbWgAWG1oAFhtaABYYXgAVGzMAFRkCABUZAgAVFxsAExkyABMYFAAWGwkAFhsJABYbCQAWGA0AHwcyABUZAQAVGQEAExgQAB8TMgATGBAAHwtIABYbBAAXGQAAFRkBAB8LSAAfFUgAFRkBAAAYUAAfFUgAABhQABYAWgAWAFoAFgBaABYAWgAVGQEAFRkBABUZAQAVFwIAExgEABMYBAAXHpoAFxxUABcadQAXGlUAFh70ABYbSwAWGgIAFhlqABQb/QAUGWQAFx5aABccFAAYGhoAFxoVAB8M9AAWG0sAFhoCABQZWwAeFvQAFBlbABccUAAXHFAAFxxQABcaVAAWHDQAFhoBABYaAQAWGRkAFBo0ABQZEwAXHBAAFxwQABccEAAXGhQAHBAyABYaAQAWGgEAFBkKABgYMgAUGQoAHBRIABccBAAYGgEAFhoBABwUSAAcGEgAFhoBAAAZWgAcGEgAABlaABcAUAAXAFAAFwBQABcAUAAWGgEAFhoBABYaAQAWGAEAFBkKABQZCgAYH6IAGB1eABgbdAAYG2QAFx/0ABccTAAXGwIAFxpqABUc/QAVGmQAGB9RABgdDQAZGxoAGBsTAB8P9AAXHEwAFxsCABUaWwAfF/QAFRpbABgdWgAYHVoAGB1aABgaYwAXHTQAFxsBABcbAQAXGhkAFRs0ABUaEwAYHQkAGB0JABgdCQAYGhIAHREyABcbAQAXGwEAFRoKABsYMgAVGgoAHRVIABgdBAAZGwEAFxsBAB0VSAAfGEgAFxsBAAAaWgAfGEgAABpaABgAWgAYAFoAGABaABgAWgAXGwEAFxsBABcbAQAXGQEAFRoKABUaCgAZH7QAGR5eABkccwAZHGMAGB8JARgdTQAYHAIAGBt0ABYd/QAWG2QAGh5hABkeDQAaHBkAGRwSABwY8wAYHUwAGBwBABYbWwAYHPMAFhtbABkeWgAZHloAGR5aABkbYwAYHjMAGBwCABgcAgAYGhsAFhwyABYbEwAZHgkAGR4JABkeCQAZGxIAHxAyABgcAQAYHAEAFhsKAB4YMgAWGwoAHxRIABkeBAAaHAAAGBwBAB8USAAeGkgAGBwBAAAbWgAeGkgAABtaABkAWgAZAFoAGQBaABkAWgAYHAEAGBwBABgcAQAYGgIAFhsKABYbCgAaH+oAGh9eABodcwAaHWMAGh9FARkeTQAZHQIAGRxqABce/QAXHFQAGx9hABofDQAbHRkAGh0SAB0Z8wAZHkwAGR0BABccUAAbHPMAFxxQABofWgAaH1oAGh9aABocXgAZHzMAGR0CABkdAgAZGxsAFx0yABccFAAaHwkAGh8JABofCQAaHA0AHxMyABkdAQAZHQEAFxwQAB8ZMgAXHBAAHxdIABofBAAbHQAAGR0BAB8XSAAfG0gAGR0BAAAcUAAfG0gAABxQABoAWgAaAFoAGgBaABoAWgAZHQEAGR0BABkdAQAZGwIAFxwEABccBAAbHzoBGx9pABsedQAbHlUAGx9bARofSwAaHgIAGh1qABgf/QAYHWQAHB9zABwfIwAcHhoAGx4VAB8Y9AAaH0sAGh4CABgdWwAeHPQAGB1bABsfWQAbH1kAGx9ZABseVAAaH1IAGh4BABoeAQAaHRkAGB40ABgdEwAcHhkAHB4ZABweGQAbHhQAHBwyABoeAQAaHgEAGB0KABwcMgAYHQoAHxpKABwfCgAcHgEAGh4BAB8aSgAeHUoAGh4BAAAdWgAeHUoAAB1aABsAUAAbAFAAGwBQABsAUAAaHgEAGh4BABoeAQAaHAEAGB0KABgdCgAcH3MBHB+zABwfcwAcH2MAHB+DARsfegAbHwEAGx5ZABofFwEZHlMAHR+SAB0fPQAdHxkAHB8SAB8b3QAcH2IAGx8BABkeSgAfHd0AGR5KABwfcwAcH3MAHB9zABweYwAbH3oAGx8BABsfAQAbHhkAGR80ABkeEwAdHxkAHR8ZAB0fGQAcHhIAHR0yABsfAQAbHwEAGR4KAB8cMgAZHgoAHx09AB4fIgAdHwAAGx8AAB8dPQAfHj0AGx8AAAAeSQAfHj0AAB5JABwAWgAcAFoAHABaABwAWgAbHwEAGx8BABsfAQAbHQEAGR4KABkeCgAdHxMBHR++AB0fmgAdH2MAHR8OARwfYwAcHyMAHB8jABwfwwAaHxMAHh9GAB4fKwAeHyIAHR8SAB8dXgAdHzEAHR8NABofCgAfHl4AGh8KAB0fmgAdH5oAHR+aAB0fYwAdH5UAHB8jABwfIwAcHhsAGx9NABofEwAeHyIAHh8iAB4fIgAdHxIAHxwyAB0fDQAdHw0AGh8KAB4eMgAaHwoAHx4JAB8fCQAeHwkAHh8AAB8eCQAeHwkAHh8AAAAfCQAeHwkAAB8JAB0AWgAdAFoAHQBaAB0AWgAcHwoAHB8KABwfCgAcHgIAGh8KABofCgAeH6IAHh+HAB4ffgAeH2MAHh+aAB4fZAAdH0kAHR8CAB0fbQAcHwoAHx8ZAB8fGQAfHxkAHh8SAB8eFgAeHxMAHh8KAB0fAQAeHxYAHR8BAB4ffgAeH34AHh9+AB4fYwAeH3YAHR9JAB0fSQAdHwIAHR9JABwfCgAfHxkAHx8ZAB8fGQAeHxIAHx4NAB4fCgAeHwoAHR8BAB4fDQAdHwEAHx8AAB8fAAAfHwAAHx8AAB8fAAAfHwAAHx8AAAAfAAAfHwAAAB8AAB4AWgAeAFoAHgBaAB4AWgAdHyUAHR8lAB0fJQAdHwIAHB8KABwfCgAAB8gAAAUUAAAEFAAAA0oAAAW5AQADGgEAA4oAAAI+AQAC5wEAAlcBAAfIAAAFFAAABBQAAANKAAIBuQEAAxoBAAOKAAACPgEFALkBAAI+AQADAQAAAwEAAAMBAAACAQAAAikAAAEUAAABFAAAARoAAAEt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AQoT3QAKEEQBCg/qAAkW4wIIEukACBAoAAgOKgEEEtQCBg7kAAsVygALEgEACxAgAAsPKQATAtMCBxLTAAgQGAAFDtoAHgXTAgUO2gAKFNEAChTRAAoU0QAKD9EACBSyAAkPFAAJDxQACA0aAAUQqwAHDQoACxIBAAsSAQALEgEACw4EABAEogAJDwQACQ8EAAcNAQAcBKIABw0BABUByAALEgEADBAUAAcQEQAVAcgAGwjIAAcQEQAADtoAGwjIAAAO2gAKANAACgDQAAoA0AAKANAACQ8QAAkPEAAJDxAACQwQAAcNCQAHDQkACxiYAQsU4QALEUQBCxDkAAoX4wIJE+kAChAhAAkPKgEFE9QCBw/kAAwWyQAMEwYADBEhAAwQKgATBdMCCBPMAAoQEQAGD9oAHwbTAgYP2gALFNEACxTRAAsU0QALENQACRWyAAoQEQAKEBEACQ4aAAYRqwAHDg4ADBICAAwSAgAMEgIADA8CABEFogAKEAEAChABAAgOAQAfBKIACA4BABcAyAAMEwUADRARAAoQEQAXAMgAHgjIAAoQEQAAD9oAHgjIAAAP2gALANAACwDQAAsA0AALANAAChAQAAoQEAAKEBAACg0QAAcPCgAHDwoADBmiAQwU5AAMEjsBDBHuAAsY6AIKE+oACxEhAAoQMQEGFNkCBxDhAA0XyQANFAYADRIhAA0RKgAXANgCCRTMAAsREQAHENEAHgjYAgcQ0QAMFdsADBXbAAwV2wAMEd4ACxSyAAsREQALEREACg8aAAcSqwAIDwYADRMCAA0TAgANEwIADRACABUAogALEQEACxEBAAkPAQAeBqIACQ8BABgByAANFAUADhERAAsREQAYAcgAHwnIAAsREQAAENAAHwnIAAAQ0AAMANoADADaAAwA2gAMANoACxEQAAsREAALERAACw4QAAgPBQAIDwUADRqiAQ0V5AANEzsBDRLuAAsb6AILFOEACxMoAAsRMQEHFdkCCBHhAA4YyQAOFQYADhMhAA4SKgAYANQCChXMAAwSEgAIEdEAGAzUAggR0QANFtsADRbbAA0W2wANEt4ACxeyAAsTGAALExgACxAgAAkSsgAJEAUADhQCAA4UAgAOFAIADhECABYBogAMEgIADBICAAoQAQAfB6IAChABABoAyAAOFQUADxIRAAwSEQAaAMgAHgvIAAwSEQAAEdAAHgvIAAAR0AANANoADQDaAA0A2gANANoACxQRAAsUEQALFBEACw8UAAkQBQAJEAUADhuaAQ4X3QAOFEQBDhPqAA0a4wIMFukADBQoAAwSKgEIFtQCChLkAA8ZygAPFgEADxQgAA8TKQAaANMCCxbTAAwUGAAJEtoAHgvTAgkS2gAOGNEADhjRAA4Y0QAOE9EADBiyAA0TFAANExQADBEaAAkUqwALEQoADxYBAA8WAQAPFgEADxIEABgAogANEwQADRMEAAsRAQAYDKIACxEBABkFyAAPFgEAEBQUAAsUEQAZBcgAHwzIAAsUEQAAEtoAHwzIAAAS2gAOANAADgDQAA4A0AAOANAADRMQAA0TEAANExAADRAQAAsRCQALEQkADxyYAQ8Y4QAPFUQBDxTkAA4b4wINF+kADhQhAA0TKgEJF9QCCxPkABAayQAQFwYAEBUhABAUKgAbAdMCDBfMAA4UEQAKE9oAGw7TAgoT2gAPGNEADxjRAA8Y0QAPFNQADRmyAA4UEQAOFBEADRIaAAoVqwALEg4AEBYCABAWAgAQFgIAEBMCABkBogAOFAEADhQBAAwSAQAbDKIADBIBAB0AyAAQFwUAERQRAA4UEQAdAMgAHg7IAA4UEQAAE9oAHg7IAAAT2gAPANAADwDQAA8A0AAPANAADhQQAA4UEAAOFBAADhEQAAsTCgALEwoAEB2iARAY5AAQFjsBEBXuAA8c6AIOF+oADxUhAA4UMQEKGNkCCxThABEbyQARGAYAERYhABEVKgAdANgCDRjMAA8VEQALFNEAHg7YAgsU0QAQGdsAEBnbABAZ2wAQFd4ADxiyAA8VEQAPFREADhMaAAsWqwAMEwYAERcCABEXAgARFwIAERQCABsAogAPFQEADxUBAA0TAQAeDKIADRMBAB4ByAARGAUAEhURAA8VEQAeAcgAHw/IAA8VEQAAFNAAHw/IAAAU0AAQANoAEADaABAA2gAQANoADxUQAA8VEAAPFRAADxIQAAwTBQAMEwUAER6iAREZ5AARFzsBERbuAA8f6AIPGOEADxcoAA8VMQELGdkCDBXhABIcyQASGQYAEhchABIWKgAcBNQCDhnMABAWEgAMFdEAHBDUAgwV0QARGtsAERrbABEa2wARFt4ADxuyAA8XGAAPFxgADxQgAA0WsgANFAUAEhgCABIYAgASGAIAEhUCABwBogAQFgIAEBYCAA4UAQAfDaIADhQBAB8CyAASGQUAExYRABAWEQAfAsgAHhHIABAWEQAAFdAAHhHIAAAV0AARANoAEQDaABEA2gARANoADxgRAA8YEQAPGBEADxMUAA0UBQANFAUAEh+aARIb3QASGEQBEhfqABEe4wIQGukAEBgoABAWKgEMGtQCDhbkABMdygATGgEAExggABMXKQAfAtMCDxrTABAYGAANFtoAHhHTAg0W2gASHNEAEhzRABIc0QASF9EAEByyABEXFAARFxQAEBUaAA0YqwAPFQoAExoBABMaAQATGgEAExYEABwEogARFwQAERcEAA8VAQAcEKIADxUBAB0JyAATGgEAFBgUAA8YEQAdCcgAGxTIAA8YEQAAFtoAGxTIAAAW2gASANAAEgDQABIA0AASANAAERcQABEXEAARFxAAERQQAA8VCQAPFQkAEx+qARMc4QATGUQBExjkABIf4wIRG+kAEhghABEXKgENG9QCDxfkABQeyQAUGwYAFBkhABQYKgAfBdMCEBvMABIYEQAOF9oAHxLTAg4X2gATHNEAExzRABMc0QATGNQAER2yABIYEQASGBEAERYaAA4ZqwAPFg4AFBoCABQaAgAUGgIAFBcCAB0FogASGAEAEhgBABAWAQAfEKIAEBYBAB8IyAAUGwUAFRgRABIYEQAfCMgAHhTIABIYEQAAF9oAHhTIAAAX2gATANAAEwDQABMA0AATANAAEhgQABIYEAASGBAAEhUQAA8XCgAPFwoAFB/UARQc5AAUGjsBFBnuABMf6wISG+oAExkhABIYMQEOHNkCDxjhABUfyQAVHAYAFRohABUZKgAfCNgCERzMABMZEQAPGNEAHhTYAg8Y0QAUHdsAFB3bABQd2wAUGd4AExyyABMZEQATGREAEhcaAA8aqwAQFwYAFRsCABUbAgAVGwIAFRgCAB8EogATGQEAExkBABEXAQAeEqIAERcBAB8LyAAVHAUAFhkRABMZEQAfC8gAHxXIABMZEQAAGNAAHxXIAAAY0AAUANoAFADaABQA2gAUANoAExkQABMZEAATGRAAExYQABAXBQAQFwUAFR8iAhUd5AAVGzsBFRruABQfFAMTHOEAExsoABMZMQEPHdkCEBnhABYf2wAWHQYAFhshABYaKgAcENQCEh3MABQaEgAQGdEAGBjUAhAZ0QAVHtsAFR7bABUe2wAVGt4AEx+yABMbGAATGxgAExggABEasgARGAUAFhwCABYcAgAWHAIAFhkCAB8HogAUGgIAFBoCABIYAQAfE6IAEhgBAB8OyAAWHQUAFxoRABQaEQAfDsgAHhfIABQaEQAAGdAAHhfIAAAZ0AAVANoAFQDaABUA2gAVANoAExwRABMcEQATHBEAExcUABEYBQARGAUAFx+gAhYf3QAWHEQBFhvqABYfeAMUHukAFBwoABQaKgEQHtQCEhrkABcfEAEXHgEAFxwgABcbKQAfDtMCEx7TABQcGAARGtoAHhfTAhEa2gAWH9QAFh/UABYf1AAWG9EAFR60ABUbFAAVGxQAFBkaABEcqwATGQoAFx4BABceAQAXHgEAFxoEABwQogAVGwQAFRsEABMZAQAYGKIAExkBAB0VyAAXHgEAGBwUABMcEQAdFcgAHxjIABMcEQAAGtoAHxjIAAAa2gAWANAAFgDQABYA0AAWANAAFRsQABUbEAAVGxAAFRgQABMZCQATGQkAGB8CAxcf5AAXHUQBFxzkABcfpAMVH+kAFhwhABUbKgERH9QCExvkABkfKwEYHwYAGB0hABgcKgAfEdMCFB/MABYcEQASG9oAGxrTAhIb2gAXH+AAFx/gABcf4AAXHNQAFh+0ABYcEQAWHBEAFRoaABIdqwATGg4AGB4CABgeAgAYHgIAGBsCAB0RogAWHAEAFhwBABQaAQAbGKIAFBoBAB8UyAAYHwUAGRwRABYcEQAfFMgAHhrIABYcEQAAG9oAHhrIAAAb2gAXANAAFwDQABcA0AAXANAAFhwQABYcEAAWHBAAFhkQABMbCgATGwoAGR90AxgfLwEYHjsBGB3uABgfAQQWH+oAFx0hABYcMQETH+sCExzhABofYQEZHxsAGR4hABkdKgAfFNgCFh/aABcdEQATHNEAHhrYAhMc0QAYH/4AGB/+ABgf/gAYHd4AFx/EABcdEQAXHREAFhsaABMeqwAUGwYAGR8CABkfAgAZHwIAGRwCAB8QogAXHQEAFx0BABUbAQAeGKIAFRsBAB8XyAAaHxQAGh0RABcdEQAfF8gAHxvIABcdEQAAHNAAHxvIAAAc0AAYANoAGADaABgA2gAYANoAFx0QABcdEAAXHRAAFxoQABQbBQAUGwUAGh8KBBkf1AEZHzsBGR7uABkflAQYHyMBFx8oABcdMQEVH0UDFB3hABsfmQEaH3UAGh8hABoeKgAcHNQCGB8KARgeEgAUHdEAHBzUAhQd0QAZHysBGR8rARkfKwEZHt4AGB/tABcfGAAXHxgAFxwgABUesgAVHAUAGh8RABofEQAaHxEAGh0CAB8TogAYHgIAGB4CABYcAQAfGaIAFhwBAB8ayAAbHzUAGx4RABgeEQAfGsgAHh3IABgeEQAAHdAAHh3IAAAd0AAZANoAGQDaABkA2gAZANoAFx8UABcfFAAXHxQAFxsUABUcBQAVHAUAGx+lAxsfOgIaH3kBGh/RABsfHgQZHzUBGR8UABgewQAXH98CFh57ABwfUgEcH5IAGx8xABsfEAAdHSICGh/eABkfBAAVHnEAHxwiAhUecQAaH3kBGh95ARofeQEaH9EAGh9SARkfFAAZHxQAGB0aABYfrQAXHQoAGx8xABsfMQAbHzEAGx4EABwcogAZHwQAGR8EABcdAQAcHKIAFx0BAB8ccQAdHzQAHB8BABofAQAfHHEAHh5xABofAQAAHnEAHh5xAAAecQAaANAAGgDQABoA0AAaANAAGR8QABkfEAAZHxAAGRwQABcdCQAXHQkAHB8LAxsfKgIbH7EBGx/gABwfWwMaHw4BGh9KABkeWgAYH04CFx87AB0f2gAdH4UAHB9SABwfAgAfG00BGx+SABsfGQAWHzEAHx1NARYfMQAbH7EBGx+xARsfsQEbH+AAGx96ARofSgAaH0oAGR4aABgf5QAXHg4AHB9SABwfUgAcH1IAHB8CAB0dogAbHxkAGx8ZABgeAQAfHKIAGB4BAB8eGQAeHwoAHh8BABwfAQAfHhkAHh8ZABwfAQAAHzEAHh8ZAAAfMQAbANAAGwDQABsA0AAbANAAGh8ZABofGQAaHxkAGh0QABcfCgAXHwoAHR+sAhwfGgIcH9oBHB8aARwfqgIbHxsBGx+iABofGQAaH+IBGB8FAB4fmQAeH34AHh91AB0fJQAfHcEAHR9sABwfQQAZHwAAHx7BABkfAAAcH9oBHB/aARwf2gEcHxoBHB+qARsfogAbH6IAGh8ZABofHgEYHwUAHh91AB4fdQAeH3UAHR8lAB8ckQAcH0EAHB9BABkfAAAeHpEAGR8AAB8fAAAfHwAAHx8AAB8fAAAfHwAAHx8A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HhAAExgUAB0FUgEQGgEAEBoBAAwXCgAfEFIBDBcKAB8LpQETHgEAFRoBABAaAQAfC6UBHxWlARAaAQAAGLEBHxWlAQAYsQESALEBEgCxARIAsQESALEBEBoCABAaAgAQGgIAEBUCAAwXBQAMFwUAFB++BRMfywETHJoCExvWARMfdwcRHcsBERsDABAZiwILHvYFDRnLARUfTgIUHw4AFRszABQbWwAdDeoFEB6pAREbAgALGbIBHxTqBQsZsgETH8oBEx/KARMfygETGrEBER9lAREbAgARGwIAERcqAAwbUwENGBUAFB8KABQfCgAUHwoAFBkNAB8EUgERGwEAERsBAA0YEQAeElIBDRgRAB8OpQEUHwUAFhsBABEbAQAfDqUBHhelAREbAQAAGbEBHhelAQAZsQETALEBEwCxARMAsQETALEBERsCABEbAgARGwIAERYCAA0YBQANGAUAFR9yBhQfEgIUHJ4CFBzuARQf7gcSHssBEhwDABEaiwIMH/oFDhrLARcfigIVHx0AFhwyABUcWgAfDOoFER+pARIcAgAMGrIBHhbqBQwasgEUH+4BFB/uARQf7gEUG74BEh+bARIcAwASHAMAEhgqAA0cUwEOGRUAFR8NABUfDQAVHw0AFRoNAB8HUgESHAIAEhwCABAYEAAfE1IBEBgQAB8RpQEWHwoAFxwBABIcAQAfEaUBHxilARIcAQAAGrEBHxilAQAasQEUAL0BFAC9ARQAvQEUAL0BEhwCABIcAgASHAIAEhcCAA4ZBQAOGQUAFh9uBxUf0wIVHqYCFR3WARUfuwgTH80BEx0FABIbjQIOHzMGDxvNARgf3gIXH0EAFx01ABYdUQAfD+0FEx/NARMdBQAOG74BHxftBQ4bvgEVHyoCFR8qAhUfKgIVHLEBFB+1ARMdBAATHQQAExkpAA4dVAEQGhMAFx8QABcfEAAXHxAAFxsQABwQUgETHQQAEx0EABAaCgAYGFIBEBoKAB8UpQEXHzEAGB0BABMdAQAfFKUBHhqlARMdAQAAG70BHhqlAQAbvQEVALEBFQCxARUAsQEVALEBEx4BABMeAQATHgEAExgBABAaCgAQGgoAFx8aCBcfogMWH6YCFh7WARcfTgkUHzoCFB4DABMcmgIQH6cGEBzLARkfVgMYH60AGB4zABceUQAcGOoFFR8qAhQeAgAOHLIBGBzqBQ4csgEWH3UCFh91AhYfdQIWHbEBFR/rARQeAgAUHgIAFBoqAA8eVAEQGw4AGB8dABgfHQAYHx0AFxwUAB0RUgEUHgEAFB4BABAbCgAbGFIBEBsKAB8XpQEZH20AGR4BABQeAQAfF6UBHxulARQeAQAAHLEBHxulAQAcsQEWALEBFgCxARYAsQEWALEBFB4CABQeAgAUHgIAFBkCABAbBQAQGwUAGB+1CBgfegQXH7ECFx/VARgfrAkWH9sCFR8CABQdagISHw0HER2qARofuQMZH1MBGR8yABgeUgAdGbMFFx9sAhUfAQAPHZEBGxyzBQ8dkQEXH7ECFx+xAhcfsQIXHrEBFh9FAhUfAgAVHwIAFRsqABAfUwERHBUAGR8yABkfMgAZHzIAGB0NAB8QUgEVHwEAFR8BABEcEQAeGFIBERwRAB8aiAEbH50AGh8AABUfAAAfGogBHh2IARUfAAAAHZABHh2IAQAdkAEXALEBFwCxARcAsQEXALEBFR8CABUfAgAVHwIAFRoCABEcBQARHAUAGR+XBxgfagQYHwEDGB++ARkfNwgXHz0CFh8qABYddQEUH8kFEh7qABsfkQIaHx0BGh9ZABkfEgAfFygEGB+qARcfCAAQHtEAHxsoBBAe0QAYHwEDGB8BAxgfAQMYH74BFx+VAhYfKgAWHyoAFhwqABIfbQESHRUAGh9ZABofWQAaH1kAGR4NAB8TUgEXHwgAFx8IABQcEAAfGVIBFBwQAB8bygAcH1AAGx8EABgfAQAfG8oAHx3KABgfAQAAHtAAHx3KAAAe0AAYAL0BGAC9ARgAvQEYAL0BFh8RABYfEQAWHxEAFhsCABIdBQASHQUAGx+uBhofZgQZH5UDGR/VARof8wYYH/sBGB+SABcemgAWH8UEFB5TABwfwgEbHwIBGx+JABsfEAAdHdICGh8eARkfNAAUHkoAHxzSAhQeSgAZH5UDGR+VAxkflQMZH9UBGR8VAxgfkgAYH5IAFx0pABQfvgEUHhMAGx+JABsfiQAbH4kAGx8QABwcUgEZHzQAGR80ABQeCgAcHFIBFB4KAB8dPQAeHyIAHR8AABsfAAAfHT0AHx49ABsfAAAAHkkAHx49AAAeSQAZALEBGQCxARkAsQEZALEBFx8xABcfMQAXHzEAFxwBABQeCgAUHgoAGx/OBRsfYwQb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AAMAFAADABQAAgcAAAIHAAACBwAAAgQBAAEFAQABBQEABQwmAAUKFQAFCBgABQgYAAQMNAAECRIABAgBAAQHGAACCTUAAwcVAAYKFgAFCgUABggEAAUICAACEDMABAkSAAQIAQADBxQAFAAzAAMHFAAFChQABQoUAAUKFAAFBxUABAoIAAQIAQAECAEABAYFAAIICAADBwUABggEAAYIBAAGCAQABgcEAAkACAAFBwEABQcBAAUGBAASAAgABQYEAAsAEgAFCgEABggAAAQIAAALABIAFgASAAQIAAAABxQAFgASAAAHFAAFABQABQAUAAUAFAAFABQABAkAAAQJAAAECQAABAYBAAMHAQADBwEABw8kAAcMEwAHChwABwoUAAYPNAAGCxYABgoHAAYJHAADDDQABQkbAAgNEwAICwMACAoDAAgKBgANATMABgsVAAcKAwAFCRsAGwAzAAUJGwAHDBMABwwTAAcMEwAHChMABg0JAAYKBgAGCgYABgkDAAUKCQAFCQIACAoCAAgKAgAICgIACAkCAAwBCAAHCgIABwoCAAUJAgAZAAgABQkCAA4BEgAHDAEACAoCAAYKAgAOARIADwcSAAYKAgAACRoADwcSAAAJGgAHABIABwASAAcAEgAHABIABgsCAAYLAgAGCwIABgkCAAUJAQAFCQEACRAmAAkOEwAJDBwACQwUAAgRNAAIDRYACAwHAAgLHAAFDjQABwsbAAoPEwAKDQMACgwDAAoMBgAQATMACA0VAAkMAwAHCxsAIQAzAAcLGwAJDhMACQ4TAAkOEwAJDBMACA8JAAgMBgAIDAYACAsDAAcMCQAHCwIACgwCAAoMAgAKDAIACgsCAA8BCAAJDAIACQwCAAcLAgAfAAgABwsCABEAEgAJDgEACgwCAAgMAgARABIAIgASAAgMAgAACxoAIgASAAALGgAJABIACQASAAkAEgAJABIACA0CAAgNAgAIDQIACAsCAAcLAQAHCwEACxImAAsQEwALDhwACw4UAAoTNAAKDxYACg4HAAoNHAAHEDQACQ0bAAwQFQAMDwMADA4DAAwOBgATATMACg8VAAsOAwAJDRsAJwAzAAkNGwALEBIACxASAAsQEgALDhMAChEJAAoOBgAKDgYACg0DAAkOCQAJDQIADA4CAAwOAgAMDgIADA0CAA8HCAALDgIACw4CAAkNAgAfAwgACQ0CABQAEgALEAEADA4CAAoOAgAUABIAKAASAAoOAgAADRoAKAASAAANGgALABIACwASAAsAEgALABIACg8CAAoPAgAKDwIACg0CAAkNAQAJDQEADRQmAA0SEwANEBsADRATAAwVNAAMERMADBAFAAwPHAAKETQACw8bAA4SFQAOEQMADhABAA0QCgAWATMADBESAA0QAgALDxsALQAzAAsPGwANEhIADRISAA0SEgANEBMADBMJAAwQBQAMEAUADA8DAAoQCwALDwIADhABAA4QAQAOEAEADg8CAA8NCAANEAIADRACAAsPAgAfBggACw8CABcAEgANEgEADhAAAAwQAAAXABIALgASAAwQAAAADxoALgASAAAPGgANABIADQASAA0AEgANABIADBEBAAwRAQAMEQEADA8CAAsPAQALDwEADxcmAA8UFQAPEiUADxIVAA8WNwAPExcADxIFAA4RHgANEzgADREcABAVEwAQEwMAEBIDABASBgARETMADxMTAA8SAQAOERoAMwAzAA4RGgAPFRQADxUUAA8VFAAPEhQADxMOAA8SBAAPEgQADhEFAA0SCQANEQMAEBICABASAgAQEgIAEBECABgBCAAPEgAADxIAAA4RAQAxAAgADhEBABoBEgAPFAEAEBICAA8SAQAaARIANQASAA8SAQAAERoANQASAAARGgAPABQADwAUAA8AFAAPABQADxIEAA8SBAAPEgQADhEEAA0RAgANEQIAERkkABEWEwARFBwAERQUABAZNAAQFRYAEBQHABATHAAPFTgADxMcABIXEwASFQMAEhQDABIUBgAUETMAEBUVABEUAwAOFBoAOQAzAA4UGgARFhMAERYTABEWEwARFBMAEBcJABAUBgAQFAYAEBMDAA8UCQAPEwMAEhQCABIUAgASFAIAEhMCABsBCAARFAIAERQCAA8TAgA3AAgADxMCAB0BEgARFgEAEhQCABAUAgAdARIAOwASABAUAgAAExoAOwASAAATGgARABIAEQASABEAEgARABIAEBUCABAVAgAQFQIAEBMCAA8TAgAPEwIAExskABMYEwATFhwAExYUABIbNAASFxYAEhYHABIVHAAPGDgAERUbABQZEwAUFwMAFBYDABQWBgAXETMAEhcVABMWAwARFRsAPwAzABEVGwATGBMAExgTABMYEwATFhMAEhkJABIWBgASFgYAEhUDABEWCQARFQIAFBYCABQWAgAUFgIAFBUCAB4BCAATFgIAExYCABEVAgA9AAgAERUCAB8DEgATGAEAFBYCABIWAgAfAxIAPwESABIWAgAAFRoAPwESAAAVGgATABIAEwASABMAEgATABIAEhcCABIXAgASFwIAEhUCABEVAQARFQEAFR0kABUaEwAVGBwAFRgUABQdNAAUGRYAFBgHABQXHAARGjQAExcbABYbEwAWGQMAFhgDABYYBgAiATMAFBkVABUYAwATFxsAPwMzABMXGwAVGhMAFRoTABUaEwAVGBMAFBsJABQYBgAUGAYAFBcDABMYCQATFwIAFhgCABYYAgAWGAIAFhcCACEBCAAVGAIAFRgCABMXAgA/AggAExcCAB8JEgAVGgEAFhgCABQYAgAfCRIAPwQSABQYAgAAFxoAPwQSAAAXGgAVABIAFQASABUAEgAVABIAFBkCABQZAgAUGQIAFBcCABMXAQATFwEAFx8oABcdGAAXGyEAFxoYABceNwAWHBgAFxoIABYaHAAUHDMAFRoVABgdFAAYHAEAGBsEABgaBQAmADMAFhwUABcaBAAUGhQAPgczABQaFAAXHRQAFx0UABcdFAAXGhQAFxwMABcaBAAXGgQAFhkEABQbCQAWGQQAGBsAABgbAAAYGwAAGBoBAB8MCAAXGgAAFxoAABYZAAA+BggAFhkAACYBEgAYHAEAGBsEABcaBAAmARIALRASABcaBAAAGhQALRASAAAaFAAXABQAFwAUABcAFAAXABQAFxoEABcaBAAXGgQAFhkEABUaAQAVGgEAGSEmABkfGAAZHSEAGRwYABkgNwAYHhgAGRwIABgcHAAWHjMAFxwVABofFAAaHgEAGh0EABocBQApADMAGB4UABkcBAAWHBQAPgozABYcFAAZHxQAGR8UABkfFAAZHBQAGR4MABkcBAAZHAQAGBsEABYdCQAYGwQAGh0AABodAAAaHQAAGhwBAB8SCAAZHAAAGRwAABgbAAA+CQgAGBsAACkBEgAaHgEAGh0EABkcBAApARIAMxASABkcBAAAHBQAMxASAAAcFAAZABQAGQAUABkAFAAZABQAGRwEABkcBAAZHAQAGBsEABccAQAXHAEAGyMmABsgFQAbHyEAGx4YABsiNwAaIBgAGx4IABoeHAAZHzgAGR4VABwhEgAcIAIAHB8EABweBQAsADMAGiAUABseBAAYHhQAPg0zABgeFAAbIRQAGyEUABshFAAbHhQAGx8OABseBAAbHgQAGh0EABgfCQAaHQQAHB8AABwfAAAcHwAAHB4BACIRCAAbHgAAGx4AABodAAA+DAgAGh0AACwBEgAbIAEAHB8EABseBAAsARIAORASABseBAAAHhQAORASAAAeFAAbABQAGwAUABsAFAAbABQAGx4EABseBAAbHgQAGh0EABkeAQAZHgEAHSUmAB0iFQAdICUAHSAVAB0kNwAdIRcAHSAFABwgJwAbITgAGiAeAB4jEgAeIgIAHiACAB4gBQAvADMAHSETAB0gAQAaIBoALhgzABogGgAdIxQAHSMUAB0jFAAdIBQAHSEOAB0gBAAdIAQAHB8EABsgCQAcHwQAHiEAAB4hAAAeIQAAHh8EACURCAAdIAAAHSAAABwfAAA+DwgAHB8AAC8BEgAdIgEAHiACAB0gAQAvARIAPxASAB0gAQAAIBoAPxASAAAgGgAdABQAHQAUAB0AFAAdABQAHSAEAB0gBAAdIAQAHB8EABwfBAAcHwQAHygsAB8lHAAgIygAHyIfAB8mNQAfIxUAHyIHAB8iHgAcJDMAHSIVACAlFAAgJAEAICMEACAiBQAyADMAHiQTAB8iBgAcIhUAPhMzABwiFQAfJhoAHyYaAB8mGgAfIhsAHyQJAB8iAwAfIgMAHyECAB0iCgAeIQIAICMAACAjAAAgIwAAICIBADEACAAfIgIAHyICAB4hAQA+EggAHiEBAC8IEgAgJAEAICMEAB8iBQAvCBIAPhQSAB8iBQAAIhQAPhQSAAAiFAAfABoAHwAaAB8AGgAfABoAHyMBAB8jAQAfIwEAHyECAB0iAQAdIgEAISkoACEnGAAhJSEAISQYACEoNwAgJhgAISQIACAkHAAeJjMAHyQVACInFAAiJgEAIiUEACIkBQA1ADMAICYUACEkBAAeJBUAPhYzAB4kFQAhJxQAIScUACEnFAAhJBQAISYMACEkBAAhJAQAICMEAB8kCgAgIwQAIiUAACIlAAAiJQAAIiQBADQACAAhJAAAISQAACAjAAA+FQgAICMAAC8OEgAiJgEAIiUEACEkBAAvDhIAPhcSACEkBAAAJBQAPhcSAAAkFAAhABQAIQAUACEAFAAhABQAISQEACEkBAAhJAQAICMEAB8kAQAfJAEAIysoACMpGAAjJyEAIyYYACMqNwAiKBgAIyYIACImHAAgKDMAISYVACQpFAAkKAEAJCcEACQmBQA4ADMAIigUACMmBAAgJhQAPhkzACAmFAAjKRQAIykUACMpFAAjJhQAIygMACMmBAAjJgQAIiUEACAnCQAiJQQAJCcAACQnAAAkJwAAJCYBADcACAAjJgAAIyYAACIlAAA+GAgAIiUAADAREgAkKAEAJCcEACMmBAAwERIAPhoSACMmBAAAJhQAPhoSAAAmFAAjABQAIwAUACMAFAAjABQAIyYEACMmBAAjJgQAIiUEACEmAQAhJgEAJS0oACUrGAAlKSEAJSgYACUsNwAkKhgAJSgIACQoHAAiKjMAIygVACYrFAAmKgEAJikEACYoBQA7ADMAJCoUACUoBAAiKBQAPhwzACIoFAAlKxQAJSsUACUrFAAlKBQAJSoMACUoBAAlKAQAJCcEACIpCQAkJwQAJikAACYpAAAmKQAAJigBADoACAAlKAAAJSgAACQnAAA+GwgAJCcAADMREgAmKgEAJikEACUoBAAzERIAPh0SACUoBAAAKBQAPh0SAAAoFAAlABQAJQAUACUAFAAlABQAJSgEACUoBAAlKAQAJCcEACMoAQAjKAEAKC4sACgsGwAoKxwAJyscACcvNAAnLBYAJysDACYqHAAkLDUAJSoTACguEwAoLAIAKCsDACgqCgA+ATMAJiwTACcrAgAlKhIAPx8zACUqEgAoLBoAKCwaACgsGgAoKhoAJywLACcrAgAnKwIAJykCACUrCwAmKQMAKCwBACgsAQAoLAEAKCoBADUQCAAoKgEAKCoBACcpAQA/HggAJykBAD8AEgAoLAEAKCsCACYrAQA/ABIAPiASACYrAQAAKhIAPiASAAAqEgAnABoAJwAaACcAGgAnABoAJysBACcrAQAnKwEAJykBACUqAQAlKgEAKjAsACouGwAqLRwAKS0cACkwNQApLhYAKS0DACgsHAAmLjUAJywTACowEwAqLgIAKi0DACosCgA/BTMAKC4TACktAgAnLBIALyozACcsEgAqLhoAKi4aACouGgAqLBoAKS4LACktAgApLQIAKSsCACctCwAoKwMAKi4BACouAQAqLgEAKiwBADgQCAAqLAEAKiwBACkrAQA+IQgAKSsBAD8GEgAqLgEAKi0CACgtAQA/BhIAPiMSACgtAQAALBIAPiMSAAAsEgApABoAKQAaACkAGgApABoAKS0BACktAQApLQEAKSsBACcsAQAnLAEALDIsACwwGgAsLxwAKy8cACsyNQArLxsAKy8DACouHAAoMDMAKS4TACwyEwAsMAEALC8DACwuCgA/CzMAKjATACsvAgApLhIALy0zACkuEgAsMBoALDAaACwwGgAsLhoAKzAJACsvAgArLwIAKy0CACkvCwAqLQMALDABACwwAQAsMAEALC4BADsQCAAsLgEALC4BACstAQA+JAgAKy0BAD8MEgAsMAAALC8CACovAQA/DBIAPiYSACovAQAALhIAPiYSAAAuEgArABoAKwAaACsAGgArABoAKy8BACsvAQArLwEAKy0BACkuAQApLgEALjQsAC4yGgAuMR8ALTAfAC00NQAtMRUALTAHAC0wHgAqMjMAKzAVAC40EwAuMgEALjEGAC4wBgA3IDMALDITAC0wBgAqMBUALjAzACowFQAuMhoALjIaAC4yGgAtMBsALTIJAC0wAwAtMAMALS8CACswCgAsLwMALjIBAC4yAQAuMgEALjACAD4QCAAtMAIALTACAC0vAQA+JwgALS8BAD8SEgAuMgAALzAEAC0wBQA/EhIAPikSAC0wBQAAMBQAPikSAAAwFAAtABoALQAaAC0AGgAtABoALTEBAC0xAQAtMQEALS8BACswAQArMAEAMDYsADA0GwAwMxwAMDIjAC83MwAvNBUALzMDAC8yFgAtNDQALTITADA2EwAwNAIAMDMDADAyCgA/FzMALzQVAC8zAwAtMhIAPyszAC0yEgAwNBoAMDQaADA0GgAwMhoALzUIAC8zAgAvMwIALzEBAC0zCAAuMQUAMDQBADA0AQAwNAEAMDIBAD8VCAAwMgEAMDIBAC8xAQA/KggALzEBAD8ZEgAwNAEAMDMCAC4zAQA/GRIAPywSAC4zAQAAMhIAPywSAAAyEgAwABoAMAAaADAAGgAwABoALzMBAC8zAQAvMwEALzEAAC0yAQAtMgEAMjgsADI2GwAyNRwAMTUcADE5NAAxNhYAMTUDADA0HAAvNjQALzQTADI4EwAyNgIAMjUDADI0CgA/HTMAMDYTADE1AgAvNBIAPy4zAC80EgAyNhoAMjYaADI2GgAyNBoAMTYLADE1AgAxNQIAMTMCAC81CAAwMwMAMjYBADI2AQAyNgEAMjQBAD8bCAAyNAEAMjQBADEzAQA/LQgAMTMBAD8fEgAyNgEAMjUCADA1AQA/HxIAPy8SADA1AQAANBIAPy8SAAA0EgAxABoAMQAaADEAGgAxABoAMTUBADE1AQAxNQEAMTMBAC80AQAvNAEANDosADQ4GwA0NxwAMzccADM7NAAzOBYAMzcDADI2HAAwODUAMTYTADQ6EwA0OAIANDcDADQ2CgA/IzMAMjgTADM3AgAxNhIAPzEzADE2EgA0OBoANDgaADQ4GgA0NhoAMzgLADM3AgAzNwIAMzUCADE3CwAyNQMANDgBADQ4AQA0OAEANDYBAD8hCAA0NgEANDYBADM1AQAvOAgAMzUBADkwEgA0OAEANDcCADI3AQA5MBIAPjISADI3AQAANhIAPjISAAA2EgAzABoAMwAaADMAGgAzABoAMzcBADM3AQAzNwEAMzUBADE2AQAxNgEANjwsADY6GwA2ORwANTkcADU9NAA1OhYANTkDADQ4HAAyOjUAMzgTADY8EwA2OgIANjkDADY4CgA/KTMANDoTADU5AgAzOBIAPzQzADM4EgA2OhoANjoaADY6GgA2OBoANToLADU5AgA1OQIANTcCADM5CwA0NwMANjoBADY6AQA2OgEANjgBAD8nCAA2OAEANjgBADU3AQAvOwgANTcBADwwEgA2OgEANjkCADQ5AQA8MBIAPjUSADQ5AQAAOBIAPjUSAAA4EgA1ABoANQAaADUAGgA1ABoANTkBADU5AQA1OQEANTcBADM4AQAzOAEAOD8mADg9FQA4OxgAODsYADc/NAA3PBIANzsBADc6GAA1PDUANjoVADk9FgA4PQUAOTsEADg7CAA/LzQANzwSADc7AQA2OhQAPzc0ADY6FAA4PRQAOD0UADg9FAA4OhUANz0IADc7AQA3OwEANzkFADU7CAA2OgUAOTsEADk7BAA5OwQAOToEAD0xCAA4OgEAODoBADg5BAA/NggAODkEAD8xEgA4PQEAOTsAADc7AAA/MRIAPzgSADc7AAAAOhQAPzgSAAA6FAA4ABQAOAAUADgAFAA4ABQANzwAADc8AAA3PAAANzkBADY6AQA2OgEAOj84ADo/FQA6PRgAOj0YADo/RAA5PhIAOT0BADk8GAA3PjUAODwVADs/FgA6PwUAOz0EADo9CAA/NTQAOT4SADk9AQA4PBQAPzo0ADg8FAA6PxQAOj8UADo/FAA6PBUAOT8IADk9AQA5PQEAOTsFADc9CAA4PAUAOz0EADs9BAA7PQQAOzwEAD8zCAA6PAEAOjwBADo7BAA/OQgAOjsEAD83EgA6PwEAOz0AADk9AAA/NxIAPzsSADk9AAAAPBQAPzsSAAA8FAA6ABQAOgAUADoAFAA6ABQAOT4AADk+AAA5PgAAOTsBADg8AQA4PAEAPD9YADw/KAA8PxgAPD8YADw/WAA7PyUAOz8BADs+GAA6Pz8AOj4VAD0/KAA9Pw0APT8EADw/CAA/OzQAPD8YADs/AQA6PhQAPz00ADo+FAA8PxgAPD8YADw/GAA8PhUAPD8YADs/AQA7PwEAOz0FADk/CAA6PgUAPT8EAD0/BAA9PwQAPT4EAD85CAA8PgEAPD4BADw9BAA/PAgAPD0EAD89EgA9PwkAPT8AADs/AAA/PRIAPz4SADs/AAAAPhQAPz4SAAA+FAA8ABQAPAAUADwAFAA8ABQAOz8BADs/AQA7PwEAOz0BADo+AQA6PgEAPj8mAD4/IQA+Px0APj8YAD4/IwA+PxkAPj8VAD0/AQA9PxcAPD8EAD8/BAA/PwQAPz8EAD8/BAA/PwQAPz8EAD8/BAA+PwAAPz8EAD4/AAA+Px0APj8dAD4/HQA+PxgAPj8aAD4/FQA+PxUAPT8BAD0/DgA8PwQAPz8EAD8/BAA/PwQAPz8EAD8+BAA/PwQAPz8EAD4/AAA+PwQAPj8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAA+ABQAPgAUAD4AFAA+ABQAPT8QAD0/EAA9PxAAPT8BADw/BAA8PwQAAAhKAAAGCgAABAEAAAQaAAAGmgAABGMAAAMyAAACcwAAA6oAAAJ3AAAISgAABgoAAAQBAAAEGgADAJoAAARjAAADMgAAAnMABgCaAAACcwAABAAAAAQAAAAEAAAAAgAAAAINAAACBAAAAgQAAAEFAAABDgAAAQYAAAQAAAAEAAAABAAAAAIAAAEADQAAAgQAAAIEAAABBQACAA0AAAEFAAQASgAABgoAAAQBAAAEGgAEAEoACABKAAAEGgAAA0oACABKAAADSgBB4cUJC9Y7DlMAAAoKAAEGGwAABhMAAAvzAAAHbgAABSIAAASLAAAFGAEABKQAAQxLAAEJAgABBgsAAQYSAAUB8wAAB24AAAUiAAAEiwALAPMAAASLAAAKCQAACgkAAAoJAAAFCQAABjIAAAUJAAAFCQAAAxoAAANCAAACIQABCAEAAQgBAAEIAQABBAIAAwAyAAAFCQAABQkAAAMaAAYAMgAAAxoABwBKAAEJAQACBgEAAAYKAAcASgAOAEoAAAYKAAAFSgAOAEoAAAVKAAAACQAAAAkAAAAJAAAACQAAAgEAAAIBAAACAQAAAQEAAAECAAABAgABEokAAQxKAAIJYgABCEMAABD0AAAKTgAACAIAAAZzAAAIWAEABrMAAw5LAAMLAgADCAsAAwgSAAgB8wAACk4AAAgCAAAGcwAPAfMAAAZzAAEOQQABDkEAAQ5BAAEHQgAADDIAAAgBAAAIAQAABQUAAAVoAAAFKQADCgEAAwoBAAMKAQADBgIABgAyAAAIAQAACAEAAAUFAAwAMgAABQUAAhBIAAMLAQAECAEAAAgBAAIQSAAUAEgAAAgBAAAHSgAUAEgAAAdKAAEAQQABAEEAAQBBAAEAQQAACAEAAAgBAAAIAQAABAEAAAMZAAADGQADFJIAAw5TAAQLcwADCkwAAhL1AAIMTwACCgMAAQhsAAALJQEACGcABRBJAAUNAgAFCgsABQoSAAsB8wABDUsAAgoCAAAIXgAPBPMAAAheAAMQSgADEEoAAxBKAAMJSwACDjMAAgoCAAIKAgACBwYAAAlLAAAHBgAFDAEABQwBAAUMAQAFCAIACQAyAAIKAQACCgEAAAcCABIAMgAABwIABRBIAAUNAQAGCgEAAgoBAAUQSAAaAEgAAgoBAAAJSgAaAEgAAAlKAAMASgADAEoAAwBKAAMASgACCgIAAgoCAAIKAgACBgIAAAcFAAAHBQAGFZgABhBSAAYNbQAFDFQABBXzAAQPTgAEDQgABAtsAAAO/wAAC00ABxNIAAcPAQAHDQgABwwNAAYR8wADD0gABQwFAAALSQAdAPMAAAtJAAYQUQAGEFEABhBRAAUMUAAEETIABA0EAAQNBAAECQUAAAw0AAEKBAAHDwAABw8AAAcPAAAHCwAADAEyAAUMAQAFDAEAAwkEABkAMgADCQQAEAFIAAcPAQAIDQQABQwEABABSAAhAEgABQwEAAALSAAhAEgAAAtIAAUAUAAFAFAABQBQAAUAUAAEDQAABA0AAAQNAAAECQEAAQoAAAEKAAAIF5gACBJSAAgPbQAHDlQABhfzAAYQSwAGDwgABg1sAAER9AACDU0ACRVIAAkRAQAJDwgACQ4NABEB8wAFEUgABw4FAAENSAAjAPMAAQ1IAAgSUQAIElEACBJRAAcOUAAGEzIABg8EAAYPBAAGCwUAAg40AAMMBAAJEAEACRABAAkQAQAJDQAADwEyAAcOAQAHDgEABQsEAB8AMgAFCwQAEwFIAAkRAQAKDwQABw4EABMBSAAnAEgABw4EAAANSAAnAEgAAA1IAAcAUAAHAFAABwBQAAcAUAAGDwAABg8AAAYPAAAGCwEAAwwAAAMMAAAKGZgAChRSAAoRcgAJEFIACBnzAAgSSwAIEAIACA9sAAMT9AAED00ACxdIAAsTAQALEAoACxARABQB8wAHE0gACBACAAMPSAApAPMAAw9IAAoUUQAKFFEAChRRAAoPUQAIFTIACBABAAgQAQAIDQUABBA0AAUOBAALEgEACxIBAAsSAQALDwAADwcyAAgQAQAIEAEABw0EAB8DMgAHDQQAFgFIAAsTAQAMEAIACBABABYBSAAtAEgACBABAAAPSAAtAEgAAA9IAAkAUAAJAFAACQBQAAkAUAAIEQAACBEAAAgRAAAIDQEABQ4AAAUOAAAMG5gADBZSAAwTcgALElIAChvzAAoUSwAKEgIAChBqAAUV9AAGEU8ADRlIAA0VAQANEgoADRIRABcB8wAJFUgAChICAAURSgAvAPMABRFKAAwWUQAMFlEADBZRAAwRUAAKFzIAChIBAAoSAQAKDwUABhI0AAgPCQANFAEADRQBAA0UAQANEQEADw0yAAoSAQAKEgEACQ8EAB8GMgAJDwQAGQFIAA0VAQAOEgIAChIBABkBSAAvAkgAChIBAAARSgAvAkgAABFKAAsAUAALAFAACwBQAAsAUAAKEwAAChMAAAoTAAAKDwEABxAAAAcQAAAOHpIADhhOAA4VcgAOFE8ADB70AAwXTwAMFQcADBNtAAcX9AAJE0wADxxJAA8XAgAPFQ4ADxQOABsA8wALF0sADRQEAAcTSQAuBPMABxNJAA4ZSgAOGUoADhlKAA4TSwAMGTUADBUDAAwVAwAMEQYACBU0AAkSBgAPFwEADxcBAA8XAQAPEwEAGAEyAA0UAAANFAAACxEFADEAMgALEQUAFBFIAA8XAQAQFQQADRQEABQRSAA5AEgADRQEAAATSAA5AEgAABNIAA4ASgAOAEoADgBKAA4ASgAMFgEADBYBAAwWAQAMEQIACRICAAkSAgAQH5gAEBpRABAXbQAQFlgADiD0AA4ZTwAOFwcADhVtAAkZ9AALFUwAER1IABEZAQARFwgAERYNAB4A8wANGUsADxYEAAkVSQAuB/MACRVJABAbUAAQG1AAEBtQABAVUQAOGzUADhcDAA4XAwAOEwYAChc0AAsUBgARGQAAERkAABEZAAARFQAAGwEyAA8WAAAPFgAADRMFADcAMgANEwUAFxFIABEZAQASFwQADxYEABcRSAA/AEgADxYEAAAVSAA/AEgAABVIABAAUAAQAFAAEABQABAAUAAOGAEADhgBAA4YAQAOEwIACxQCAAsUAgASIZgAEhxRABIZbQARGFQAECHzABAbTgAQGQgAEBdsAAsb9AANF0wAEx9IABMbAQATGQgAExgNACAB8wAPG0sAERgFAAsXSQAuCvMACxdJABIdUAASHVAAEh1QABEYUAAQHTIAEBkEABAZBAAQFQUADBk0AA0WBgATGwAAExsAABMbAAATFwAAHgEyABEYAQARGAEADxUFAD0AMgAPFQUAIgFIABMbAQAUGQQAERgEACIBSAA/A0gAERgEAAAXSAA/A0gAABdIABEAUAARAFAAEQBQABEAUAAQGQAAEBkAABAZAAAQFQEADRYCAA0WAgAUI5gAFB5RABQbbQATGlQAEiPzABIdTgASGwgAEhlsAA0d9AAPGUwAFSFIABUdAQAVGwgAFRoNACMB8wARHUgAExoFAA0ZSQAuDfMADRlJABQfUAAUH1AAFB9QABMaUAASHzIAEhsEABIbBAASFwUADhs0AA8YBgAVHQAAFR0AABUdAAAVGQAAIQEyABMaAQATGgEAERcEAD8CMgARFwQAJQFIABUdAQAWGwQAExoEACUBSAA/BkgAExoEAAAZSAA/BkgAABlIABMAUAATAFAAEwBQABMAUAASGwAAEhsAABIbAAASFwEADxgCAA8YAgAWJpIAFiBOABYdbwAWHFQAFCb0ABQfSgAUHQQAFBtkAA4g9wARG0sAFyRJABcgAwAXHQsAFxwOACcA8wAUH0kAFB0DABAbSgA+CPMAEBtKABYhSgAWIUoAFiFKABYcSwAUITUAFB0DABQdAwAUGQoAEB0yABIaAgAXHwIAFx8CABcfAgAXGwIAHwwyABUcAQAVHAEAEhoBAD4GMgASGgEAKQBIABcgAgAYHQIAEx0CACkASAA+CkgAEx0CAAAbSgA+CkgAABtKABYASgAWAEoAFgBKABYASgAUHgEAFB4BABQeAQAUGQEAEhoBABIaAQAYKJIAGCJOABgfbwAYHlQAFij0ABYhTwAWHwQAFh1kABEh9AATHUsAGSZJABkhAgAZHwsAGR4OACoA8wAVIUsAFh8DABIdSgA+C/MAEh1KABgjSgAYI0oAGCNKABgeSwAWIzUAFh8DABYfAwAWGwoAEh8yABQcAgAZIQEAGSEBABkhAQAZHQIAHxIyABceAQAXHgEAFBwBAD4JMgAUHAEALABIABkhAQAaHwIAFR8CACwASAA+DUgAFR8CAAAdSgA+DUgAAB1KABgASgAYAEoAGABKABgASgAWIAEAFiABABYgAQAWGwEAFBwBABQcAQAaKpIAGiROABohcgAaIE8AGCr0ABgjTwAYIQcAGB9kABMj9AAVH0sAGyhJABsjAgAcIQ0AGyAOAC0A8wAXI0sAGSAEABQfSgA+DvMAFB9KABolSgAaJUoAGiVKABogSwAYJTUAGCEDABghAwAYHQoAFCE0ABYeAgAbIwEAGyMBABsjAQAbHwIAIhEyABkgAAAZIAAAFh4BAD4MMgAWHgEALwBIABsjAQAcIQQAGSAEAC8ASAAuGEgAGSAEAAAfSgAuGEgAAB9KABoASgAaAEoAGgBKABoASgAYIgEAGCIBABgiAQAYHQEAFh4BABYeAQAcLJIAHCZOABwjcgAcIk8AGiz0ABolTwAaIwcAGiFtABUl9AAXIUwAHSpJAB0lAgAeIw0AHSIOAC8C8wAZJUsAGyIEABUhSQA+EfMAFSFJABwnSgAcJ0oAHCdKABwhSwAaJzUAGiMDABojAwAaHwoAFiM0ABcgBgAdJQEAHSUBAB0lAQAdIQEAJREyABsiAAAbIgAAFyAFAD4PMgAXIAUAMQFIAB0lAQAeIwQAGyIEADEBSAAuG0gAGyIEAAAhSAAuG0gAACFIABwASgAcAEoAHABKABwASgAaJAEAGiQBABokAQAaHwEAFyACABcgAgAe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NAQALjQEAC40BAAuMQQAPhAyACsyAgArMgIAKDABAD4nMgAoMAEAOiBIAC02AAAuMwIAKjMBADogSAA0MEgAKjMBAAAxSgA0MEgAADFKACwASAAsAEgALABIACwASAArMgUAKzIFACsyBQArLwQAKDABACgwAQAuP5IALjlPAC81cwAuNU4ALT31AC03TQAtNQIALDNpACc48wAqM1IAMDtMADA3CQAwNQgALzUSADsh8wAsN0oALTUBACkzUAA3MPMAKTNQAC47SgAuO0oALjtKAC40SwAtOTMALTUCAC01AgAsMgoAKTUzACoyAQAwNgQAMDYEADA2BAAwMwQAPxUyAC01AQAtNQEAKzIAAD8qMgArMgAAPx1IAC84AgAxNQEALDUBAD8dSAA/LkgALDUBAAAzUAA/LkgAADNQAC4ASgAuAEoALgBKAC4ASgAtNQEALTUBAC01AQAtMQEAKjIBACoyAQAwP5gAMDtNADE3eAAwN0wALz/1AC85TQAvNwIALjVpACk68wAsNVIAMj1MADE6BAAyNwgAMTcUAD4h8wAuOUoALzcBACs1UAA9MPMAKzVQADA8SAAwPEgAMDxIADA2SAAvOzMALzcCAC83AgAuNAoAKzczACw0AQAyOAQAMjgEADI4BAAyNQQAPxsyAC83AQAvNwEALTQAAD8tMgAtNAAAPyNIADE6AAAzNwEALjcBAD8jSAA/MUgALjcBAAA1UAA/MUgAADVQADAASAAwAEgAMABIADAASAAvNwEALzcBAC83AQAvMwEALDQBACw0AQAzP7gAMj1NADM5eAAyOUwAMT8MATA7TgAxOQUAMDdkACs88wAuN1IAND9MADM8BAA0OQgAMzkUAD8l8wAwO0oAMTkBAC03UAA/MvMALTdQADI+SAAyPkgAMj5IADI4SAAxPDgAMTkFADE5BQAwNggALTkzAC42AQA0OgQANDoEADQ6BAA0NwQAPyEyADE5AQAxOQEALzYAAC84MgAvNgAAPylIADM8AAA1OQEAMDkAAD8pSAA/NEgAMDkAAAA3UAA/NEgAADdQADIASAAyAEgAMgBIADIASAAxOQQAMTkEADE5BAAxNQQALjYBAC42AQA1P+IAND9NADU7eAA0O0wAND8sATI9TgAzOwUAMjlkAC0+8wAvOVQANj9UADU+BAA2OwgANTsUAD8r8wAxPkkAMzsBAC85UAA/NfMALzlQADQ/TAA0P0wAND9MADQ6SAAzPjgAMzsFADM7BQAyOAgALzszADA4AQA2PAQANjwEADY8BAA2OQQAPycyADM7AQAzOwEAMTgAAC87MgAxOAAAPy9IADU+AAA3OwEAMjsAAD8vSAA/N0gAMjsAAAA5UAA/N0gAADlQADQASAA0AEgANABIADQASAAzOwQAMzsEADM7BAAzNwQAMDgBADA4AQA4PzoBNz9zADc+cwA2PUwANj9sATU/TwA1PQMANDtsADA//AAxPE8AOT9zADg/CgA4PQsAOD0SAD8y8wA1P04ANT0CAC88SwA+OfMALzxLADY/YwA2P2MANj9jADY8SwA1P0UANT0CADU9AgA1OgYAMT0zADI6BgA4PwEAOD8BADg/AQA4OwIAPTEyADU9AQA1PQEAMzoCAD82MgAzOgIAPzVKADg/CQA5PQEANT0BAD81SgA/OkoANT0BAAA8SgA/OkoAADxKADYASgA2AEoANgBKADYASgA1PQIANT0CADU9AgA1OQIAMjsCADI7AgA5P3MBOT+zADk/cwA4P0sAOT+DATc/ewA3PwIANj1bADQ/HgEzPkYAOz+SADo/OwA6PwoAOj8RAD833QA5P2IANz8BADE+QgA/O90AMT5CADk/cwA5P3MAOT9zADg+SwA4P10ANz8CADc/AgA3PAYAMz8zADQ8BgA6PwoAOj8KADo/CgA6PQIAPzMyADc/AQA3PwEANTwCAD85MgA1PAIAPzs9ADw/GQA7PwAANz8AAD87PQA/PT0ANz8AAAA+QQA/PT0AAD5BADgASgA4AEoAOABKADgASgA3PwIANz8CADc/AgA3OwIAND0CADQ9AgA8PwMBOz++ADs/mgA6P1oAOz8OATo/WwA5PyMAOT4WADg/wgA2PwsAPT9GADw/KgA8PxoAPD8CAD87XgA8PyoAOz8NADU/CgA/PV4ANT8KADs/mgA7P5oAOz+aADo/WgA6P5MAOT8jADk/IwA5PgYANz9NADY+BgA8PxoAPD8aADw/GgA8PwIAPzkyADs/DQA7Pw0ANz4CAD88MgA3PgIAPz4FAD4/BAA+PwAAPT8AAD8+BQA+PwUAPT8AAAA/CQA+PwUAAD8JADoASgA6AEoAOgBKADoASgA5PwoAOT8KADk/CgA5PQIANj8CADY/AgA9P6IAPT+HAD0/fgA8P1oAPT+aADw/QgA8PzIAOz8CADs/bQA5PwoAPj8TAD4/DgA+PwoAPj8FAD8+EQA+PwwAPj8IADs/AQA+PxEAOz8BAD0/fgA9P34APT9+ADw/WgA8P2IAPD8yADw/MgA7PwIAOj8+ADk/CgA+PwoAPj8KAD4/CgA+PwUAPz0NAD4/CAA+PwgAOz8BAD8+DQA7PwEAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAAA/AAA/PwAAAD8AADwASgA8AEoAPABKADwASgA8PyIAPD8iADw/IgA7PwIAOT8KADk/CgAADsoAAAoZAAAHAQAABkoAAAq5AQAGGgEABYUAAAQ+AQAF3QEABFcBAA7KAAAKGQAABwEAAAZKAAUAuQEABhoBAAWFAAAEPgEKALkBAAQ+AQAHAAAABwAAAAcAAAADAQAAAykAAAMRAAADEQAAAhoAAAItAAABHgAABwAAAAcAAAAHAAAAAwEAAgApAAADEQAAAxEAAAIaAAMAKQAAAhoABwDKAAAKGQAABwEAAAZKAAcAygAOAMoAAAZKAAAFygAOAMoAAAXKAEHhgQoLxgEUyAAADgEAAAoZAAAIKQAADq4CAAlqAQAIjQAABdMBAAb6AgAF9wEAFMgAAA4BAAAKGQAACCkABwCuAgAJagEACI0AAAXTAQ4ArgIABdMBAA0AAAANAAAADQAAAAYBAAAGkQAABTQAAAU0AAADWQAAA6EAAANpAAANAAAADQAAAA0AAAAGAQADAJEAAAU0AAAFNAAAA1kABgCRAAADWQACEMgAAA4BAAIJAQAACCkAAhDIABQAyAAACCkAAAfKABQAyAAAB8oAQdCDCgvoOQEY4QABEBsAAQxTAAELMwAAE9QCAAwrAQAKPgAACJ4BAAlrAwAH9AECFskAAhAGAAIMGgABCyMACgDTAgAMKwEACj4AAAieAQ4D0wIACJ4BAREZAAERGQABERkAAQkZAAAMogAACBkAAAgZAAAFPQAABdgAAAVhAAIPAQACDwEAAg8BAAIIAgAGAKIAAAgZAAAIGQAABT0ADACiAAAFPQAFEMgAARACAAQLAQAACxEABRDIABoAyAAACxEAAAnKABoAyAAACcoAAQAZAAEAGQABABkAAQAZAAAFAQAABQEAAAUBAAADAQAAAggAAAIIAAIcOQECE3YAAg7LAAINggAAGdQCABDsAAANBgAAClMBAAvYAwAK/AEEGMkABBEFAAQOGgADDSMADQDTAgAQ7AAADQYAAApTAQ4G0wIAClMBAhVxAAIVcQACFXEAAgtyAAASogAADAIAAAwCAAAHIgAACBgBAAdzAAQRAQAEEQEABBEBAAQKAgAJAKIAAAwCAAAMAgAAByIAEgCiAAAHIgAQAMgAAxICAAYNAQAADQIAEADIACAAyAAADQIAAAvKACAAyAAAC8oAAgBxAAIAcQACAHEAAgBxAAALAQAACwEAAAsBAAAGAQAABSgAAAUoAAQfmAEEFtgABBA9AQMP2AABHtMCARPYAAEPCQAADDgBAA/oAwAMuAEGG8gABhQBAAcQHQAFDyQAEADTAgATywACDwUAAAwoASAA0wIADCgBBBfRAAQX0QAEF9EABA7QAAEXogABEAQAARAEAAEKFAAACyYBAApZAAYTAQAGEwEABhMBAAYNAAAMAaIAAg8BAAIPAQAACggAGQCiAAAKCAATAcgABhQBAAgPBQACDwQAEwHIACcAyAACDwQAAA3IACcAyAAADcgAAwDQAAMA0AADANAAAwDQAAEQAAABEAAAARAAAAEJAQAACC0AAAgtAAYhmAEGGNgABhI9AQUR1QADINMCAxXYAAMRAgACDjgBABJ4AwAOJQEIHcgACBYBAAkRGgAIESUAEwDTAgEWyAADEQIAAA4BASYA0wIADgEBBhnRAAYZ0QAGGdEABRDQAAMZogADEQEAAxEBAAMMFAAAD+QAAAwUAAgVAQAIFQEACBUBAAgPAAAPAaIAAxEBAAMRAQAADAQAHwCiAAAMBAAWAcgACBYBAAoRAgADEQEAFgHIAC0AyAADEQEAAA/IAC0AyAAAD8gABQDQAAUA0AAFANAABQDQAAMSAAADEgAAAxIAAAMLAQAACw0AAAsNAAgjmAEIGtgACBQ9AQcT1QAFItMCBRfYAAUTAgAEECoBABYkAwAQ5AAKH8gAChgBAAsTGgAKEyUAFgDTAgMYyAAFEwIAABDjACwA0wIAEOMACBvRAAgb0QAIG9EABxLQAAUbogAFEwEABRMBAAUOFAAAErQAAA8EAAoXAQAKFwEAChcBAAoRAQAPB6IABRMBAAUTAQACDgQAHwOiAAIOBAAZAcgAChgBAAwTAgAFEwEAGQHIAC8CyAAFEwEAABHKAC8CyAAAEcoABwDQAAcA0AAHANAABwDQAAUUAAAFFAAABRQAAAUNAQAADwAAAA8AAAolmAEKHNgAChY9AQkV1QAHJNMCBxnYAAcVAgAGEioBABnsAgET2gAMIcgADBoBAA0VGgAMFSUAGQDTAgUayAAHFQIAABPTADIA0wIAE9MACh3RAAod0QAKHdEACRTQAAcdogAHFQEABxUBAAcQEQAAFaQAAxADAAwZAQAMGQEADBkBAAwTAQAPDaIABxUBAAcVAQAEEAEAHwaiAAQQAQAcAcgADBoBAA4VAgAHFQEAHAHIAC8FyAAHFQEAABPKAC8FyAAAE8oACQDQAAkA0AAJANAACQDQAAcWAAAHFgAABxYAAAcPAQACEQAAAhEAAAwnlAEMHtQADRg+AQwX1wAJJ9QCCRvUAAkYBwAIFDIBABzUAgMV0gAOI8sADhwCAA8YFgAOFx4AHAHTAgccywAKFwQAABXJAC8F0wIAFckADCDKAAwgygAMIMoADBbKAAkfpQAJGAMACRgDAAkSDgACGKQABBMGAA4cAQAOHAEADhwBAA4VAQAYAaIAChcAAAoXAAAGEgUAMQCiAAYSBQAXEcgADhwBABAYBAAKFwQAFxHIAD8AyAAKFwQAABXIAD8AyAAAFcgADADKAAwAygAMAMoADADKAAkZAQAJGQEACRkBAAkRAgAEEwIABBMCAA4plAEOINcADxo+AQ4Z1wALKdQCCx3UAAsaBwAKFjIBAh7UAgUX0gAQJcgAEB4BABEaGAAQGSgAHwHTAgkeywAMGQQAAhfJAC8I0wICF8kADiLKAA4iygAOIsoADhjKAAshowALGgMACxoDAAsUDgAEGqQABhUGABAeAAAQHgAAEB4AABAXAAAbAaIADBkAAAwZAAAIFAUANwCiAAgUBQAiAcgAEB4BABIaBAAMGQQAIgHIAD8DyAAMGQQAABfIAD8DyAAAF8gADgDKAA4AygAOAMoADgDKAAsbAQALGwEACxsBAAsTAgAGFQIABhUCABArmAEQItgAEBw4ARAb3QANK9QCDR/UAA0cBwAMGDIBBCDUAgcZ0gASJ8gAEiABABMcGAARGyQAIgDTAgsgyQAOGwQABBnJAC8L0wIEGckAECPRABAj0QAQI9EAEBrQAA0jowANHAMADRwDAA0WDgAGHKQACBcGABIfAQASHwEAEh8BABIZAAAeAaIADhsAAA4bAAAKFgUAPQCiAAoWBQAlAcgAEiABABQcBAAOGwQAJQHIAD8GyAAOGwQAABnIAD8GyAAAGcgAEADQABAA0AAQANAAEADQAA0dAQANHQEADR0BAA0VAgAIFwIACBcCABItmAESJNgAEh44AREd2AAPLdQCDyHSAA8eBwAOGjIBBiLUAgkb0gAUKcgAFCIBABUeGAATHSQAJQDTAg0iyQAQHQUABhvJAC8O0wIGG8kAEiXRABIl0QASJdEAEhzQAA8lowAPHgMADx4DAA8YDgAIHqQAChkGABQhAQAUIQEAFCEBABQbAAAhAaIAEB0BABAdAQAMGAUAPwKiAAwYBQAoAcgAFCIBABYeBAAQHQQAKAHIAD8JyAAQHQQAABvIAD8JyAAAG8gAEQDQABEA0AARANAAEQDQAA8fAQAPHwEADx8BAA8XAgAKGQIAChkCABQvlAEUJtQAFSA+ARQf1wARL9QCESPUABEgBwAQHTQBCCTUAgsd0gAWLMkAFiQCABcgFgAWHyMAKAHTAg8kzgARIAYACR3KAD8J0wIJHcoAFCjKABQoygAUKMoAFB7LABEnpQARIAMAESADABEaEwAKIKQADRsCABYkAQAWJAEAFiQBABYdAgAfDKIAEh8BABIfAQANGwEAPgaiAA0bAQAsAMgAFiQBABggBAAQIAQALADIAD4NyAAQIAQAAB3KAD4NyAAAHcoAFADKABQAygAUAMoAFADKABEhAQARIQEAESEBABEZAQANGwEADRsBABYxlAEWKNQAFyI+ARYh1wATMdQCEyXUABMiBwASHzQBCibUAg0f0gAYLskAGCYCABkiFgAYIR4AKwHTAhEmywAUIQQACx/KAD8M0wILH8oAFirKABYqygAWKsoAFiDKABMppQATIgMAEyIDABMcEwAMIqQADx0CABgmAQAYJgEAGCYBABgfAgAfEqIAFCEAABQhAAAPHQEAPgmiAA8dAQAvAMgAGCYBABoiBAAUIQQALwDIAC4YyAAUIQQAAB/KAC4YyAAAH8oAFgDKABYAygAWAMoAFgDKABMjAQATIwEAEyMBABMbAQAPHQEADx0BABgzlAEYKtQAGSQ+ARgj1wAVM9QCFSfUABUkBwAUIDIBDCjUAg8h1QAaL8sAGigCABskFgAaIx4ALgHTAhMoywAWIwQADSHIAD8P0wINIcgAGCzKABgsygAYLMoAGCLKABUrpQAVJAMAFSQDABUeEwAOJKQAER8CABooAQAaKAEAGigBABohAQAiEaIAFiMAABYjAAARHwEAPgyiABEfAQAxAcgAGigBABwkBAAWIwQAMQHIAC4byAAWIwQAACHIAC4byAAAIcgAGADKABgAygAYAMoAGADKABUlAQAVJQEAFSUBABUdAQARHwEAER8BABo1lAEaLNQAGyY+ARol1wAXNdQCFynUABcmBwAWIjIBDirUAhEj0gAcMcsAHCoCAB0mFgAcJR4ALwXTAhUqywAYJQQADyPIAD8S0wIPI8gAGi7KABouygAaLsoAGiTKABctpQAXJgMAFyYDABcgDgAQJqQAEiEGABwqAQAcKgEAHCoBABwjAQAlEaIAGCUAABglAAAUIAUAPg+iABQgBQA0AcgAHCoBAB4mBAAYJQQANAHIAC4eyAAYJQQAACPIAC4eyAAAI8gAGgDKABoAygAaAMoAGgDKABcnAQAXJwEAFycBABcfAQASIQIAEiECABw4kAEcLtgAHSg6ARwn1QAaNdgCGSzXABkoCQAZJTIBESzYAhMl0gAfMswAHi0EAB8oFQAeJx0ANAHTAhgsyQAZKAUAESXKAC4e0wIRJcoAHDHIABwxyAAcMcgAHCbJABoupgAaJwYAGicGABkiEQASKKMAFSMCAB8rBAAfKwQAHysEAB8lBAAxAKIAGicCABonAgAVIwEAPhKiABUjAQA4AMgAHi0AACAoAgAZKAEAOADIAD4ZyAAZKAEAACXKAD4ZyAAAJcoAHADIABwAyAAcAMgAHADIABonBQAaJwUAGicFABkhBAAVIwEAFSMBAB46kAEeMNkAHyo6AR4p1QAcN9gCGy7XABsqCQAbJzIBEy7YAhUn0gAgNskAIC8DACEqEwAgKSMANwHTAhouyQAbKgUAEyfKAC8g0wITJ8oAHjPIAB4zyAAeM8gAHijJABwwpgAcKQYAHCkGABskEQAUKqMAFyUCACAuAgAgLgIAIC4CACAnAgA0AKIAHCkCABwpAgAXJQEAPhWiABclAQA7AMgAIC8CACIqAgAbKgEAOwDIAD4cyAAbKgEAACfKAD4cyAAAJ8oAHgDIAB4AyAAeAMgAHgDIABwpBQAcKQUAHCkFABsjBAAXJQEAFyUBACA8kgEgMtQAICxEASAr1wAeOdgCHS/YAB0sCQAdKTIBFDDUAhcp0gAiOMkAIjACACMsEwAiKyMAOgHTAhwwyQAdLAUAFSnKADUg0wIVKcoAIDTKACA0ygAgNMoAICrLAB4ypgAeKwYAHisGAB0mEQAWLKMAGScCACIwAQAiMAEAIjABACIpAgA3AKIAHisCAB4rAgAZJwEAPhiiABknAQA+AMgAIjABACQsAgAdLAEAPgDIAD4fyAAdLAEAACnKAD4fyAAAKcoAIADKACAAygAgAMoAIADKAB4rBQAeKwUAHisFAB0lBAAZJwEAGScBACI+kgEiNNQAIi5EASIt1wAfPdgCHzHSAB8uCQAfKzIBFjLUAhkr0gAkOskAJDICACUuEwAkLSMAPQHTAh4yyQAfLgUAFyvKADsg0wIXK8oAIjbKACI2ygAiNsoAIizLAB82pgAfLggAHy4IAB8oEQAYLqMAGykCACQyAQAkMgEAJDIBACQrAgA6AKIAIC0BACAtAQAbKQEAPhuiABspAQA/BMgAJDIBACYuAgAfLgEAPwTIAD4iyAAfLgEAACvKAD4iyAAAK8oAIgDKACIAygAiAMoAIgDKAB8vBQAfLwUAHy8FAB8nBAAbKQEAGykBACQ/mAEkNtgAJTA6ASQv2QAiPtcCITTXACEwCQAgLTQBGDXTAhwt2QAnOs4AJjUEACcwFQAmLyQAPwTTAiA0yQAhMAUAGi3QAD4i0wIaLdAAJDnIACQ5yAAkOcgAJC/JACI2pgAhMAgAITAIACErFAAaMKMAHSsBACczBAAnMwQAJzMEACctBAA1EKIAIy8EACMvBAAeKwAAPx6iAB4rAAA/C8gAJjUAACgwAgAhMAEAPwvIAC8tyAAhMAEAAC3QAC8tyAAALdAAJADIACQAyAAkAMgAJADIACIvBQAiLwUAIi8FACIpBAAdKwEAHSsBACc/uAEmONgAJzI6ASYx1QAkP9gCIzbXACMyCQAiLzQBGjfTAh4v2QApPM4AKDcEACkyFQAoMR0APwrTAiI2yQAjMgUAHC/QAD4l0wIcL9AAJjvIACY7yAAmO8gAJjDJACQ4pgAkMQYAJDEGACMtFAAcMqMAHy0BACk1BAApNQQAKTUEACkvBAA4EKIAJDECACQxAgAgLQAAPiGiACAtAAA3IMgAKDcAACoyAgAjMgEANyDIAC4wyAAjMgEAAC/QAC4wyAAAL9AAJgDIACYAyAAmAMgAJgDIACQxBQAkMQUAJDEFACQrBAAfLQEAHy0BACk/4gEoOtgAKTQ6ASgz1QAnP/gCJTjXACU0CQAlMTIBHDnTAh8x1wArPs4AKjkEACs0FQAqMx0APxDTAiQ4yQAlNAUAHTHLAD4o0wIdMcsAKD3IACg9yAAoPcgAKDLJACY6pgAmMwYAJjMGACUvFAAeNKMAIS8BACs3BAArNwQAKzcEACsxBAA7EKIAJjMCACYzAgAiLwAAPiSiACIvAAA6IMgAKjkAACw0AgAlNAEAOiDIADQwyAAlNAEAADHKADQwyAAAMcoAKADIACgAyAAoAMgAKADIACYzBQAmMwUAJjMFACYtBAAhLwEAIS8BACs/EgIqPNgAKzY6ASo11QApPx8DJzrXACc2CQAnMzIBHjvTAiEz0gAtP9QALDsEAC02FQAsNR0APxbTAiY6yQAnNgUAHzPLAD4r0wIfM8sAKj/IACo/yAAqP8gAKjTJACg8pgAoNQYAKDUGACcwEQAgNqMAIzECAC05BAAtOQQALTkEAC0zBAA+EKIAKDUCACg1AgAjMQEAPieiACMxAQA9IMgALDsAAC42AgAnNgEAPSDIADowyAAnNgEAADPKADowyAAAM8oAKgDIACoAyAAqAMgAKgDIACg1BQAoNQUAKDUFACgvBAAjMQEAIzEBAC4/cgIsP94ALTk7ASw40wAsP2UDKTzVACo4AgApNSoBID3TAiQ12QAwP/QALzwFAC84GgAuNyIAPSDTAig8ygAqOAEAIjXQADow0wIiNdAALD/aACw/2gAsP9oALDfLACo/owAqOAIAKjgCACkzGQAjOKMAJTMBAC88AQAvPAEALzwBAC81AgA/FaIAKjgBACo4AQAmMwAAPyqiACYzAAA/I8gALj0CADE4AQApOAEAPyPIAD8xyAApOAEAADXQAD8xyAAANdAALADKACwAygAsAMoALADKACo4AQAqOAEAKjgBACoxAQAlMwEAJTMBADA/2AIvP+4ALzs7AS460wAuP6kDKz7VACw6AgArNyoBIj/TAiY32QAyPx4BMD8EADE6FAAwOSQAPyLTAio+ygAsOgEAJDfQAD4x0wIkN9AALz/qAC8/6gAvP+oALjnLACw/tQAsOgIALDoCACs1GQAlOqMAJzUBADE9BAAxPQQAMT0EADE3BAA/G6IALDoBACw6AQAoNQAAPy2iACg1AAA/KcgAMD8AADM6AQArOgEAPynIAD80yAArOgEAADfQAD80yAAAN9AALgDKAC4AygAuAMoALgDKACw6AQAsOgEALDoBACwzAQAnNQEAJzUBADI/YgMxPz0BMT04ATA82AAwPxgELj/bAC48AgAtOSoBJj/sAig52QA1P14BMz8UADM8FAAyOyQAPyjTAi4/2gAuPAEAJjnQAD400wImOdAAMD8IATA/CAEwPwgBMDvJAC8/zQAuPAIALjwCAC03GQAnPKMAKTcBADM/BAAzPwQAMz8EADM5BAA/IaIALjwBAC48AQAqNwAALziiACo3AAA/L8gAND8NADU8AQAtPAEAPy/IAD83yAAtPAEAADnQAD83yAAAOdAAMADIADAAyAAwAMgAMADIAC48AQAuPAEALjwBAC41AQApNwEAKTcBADU/AgQzP7gBMz84ATI+2AAzP3gEMD8YATA+BQAvOyoBKz87Ayo72QA3P6wBNj9kADU+FAA0PSQAPy7TAjE/CgEwPgEAKDvQAD430wIoO9AAMz8oATM/KAEzPygBMj3JADE/+AAwPgUAMD4FAC85GQApPqMAKzkBADU/DQA1Pw0ANT8NADU7BAA/J6IAMD4BADA+AQAsOQAALzuiACw5AAA/NcgANz81ADc+AQAvPgEAPzXIAD86yAAvPgEAADvQAD86yAAAO9AAMgDIADIAyAAyAMgAMgDIADA+BAAwPgQAMD4EADA3BAArOQEAKzkBADY/uwM2PwsCNT9qATQ/ygA2PwMEMz8bATI/DgAxPMYALz/fAiw9dgA5P1IBOD+NADg/KQA3PxEAPzMiAjU/6QAzPwIAKz1xAD85IgIrPXEANT9qATU/agE1P2oBND/KADM/OwEyPw4AMj8OADE7EwAsP6sALjsDADg/KQA4PykAOD8pADc9AgA9MaIAMz8CADM/AgAvOwEAPzaiAC87AQA/OXEAOj8yADk/AQA0PwAAPzlxAD88cQA0PwAAAD1xAD88cQAAPXEANADKADQAygA0AMoANADKADI/BQAyPwUAMj8FADI5AgAtPAAALTwAADk/CwM4Px4COD+6ATY/4wA4Pz4DNj/7ADU/TgAzPkYAMz9LAi8+GQA7P9oAOj97ADo/SgA5PwIAPzdNATg/kQA3PxkALz4ZAD87TQEvPhkAOD+6ATg/ugE4P7oBNj/jADY/cwE1P04ANT9OADM9EwAwP9sALz0GADo/SgA6P0oAOj9KADk/AgA/M6IANz8ZADc/GQAwPQIAPzmiADA9AgA/PBkAPT8KADw/AQA6PwAAPzwZAD4+GQA6PwAAAD4ZAD4+GQAAPhkANgDKADYAygA2AMoANgDKADQ/GgA0PxoAND8aADQ7AgAvPgAALz4AADs/rAI5PxoCOT/aATk/GgE5P6oCOD8dATc/qwA1PxIANj/iATE/BQA8P5kAPD9pADw/WQA7PyUAPzvBADo/awA6PzoAMj8BAD89wQAyPwEAOT/aATk/2gE5P9oBOT8aATk/qgE3P6sANz+rADU/EgA0PxYBMT8FADw/WQA8P1kAPD9ZADs/JQA/OZEAOj86ADo/OgAyPwEAPzyRADI/AQA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAAD8AAD8/AAAAPwAAOADKADgAygA4AMoAOADKADY/MgA2PzIANj8yADY9AgAxPwUAMT8FADw/qgE7P3cBOz9TATo/+wA7P58BOT/KADk/igA4PwIANz8nATU/HQA+PysAPj8mAD4/IgA9PwoAPz02AD0/GwA8PxEAOD8BAD8+NgA4PwEAOz9TATs/UwE7P1MBOj/7ADs/JgE5P4oAOT+KADg/AgA3P64ANT8dAD4/IgA+PyIAPj8iAD0/CgA/PCkAPD8RADw/EQA4PwEAPj4pADg/AQA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAAD8AAD8/AAAAPwAAOgDKADoAygA6AMoAOgDKADk/SgA5P0oAOT9KADg/AgA1Px0ANT8dAAAUpQEADjIAAAoEAAAJnQAADp0DAAlNAgAICAEABr0CAAbtAwAF4gIAFKUBAA4yAAAKBAAACZ0ABwCdAwAJTQIACAgBAAa9Ag4AnQMABr0CAAoAAAAKAAAACgAAAAUAAAAFVQAABCIAAAQiAAACMgAAAl0AAAI2AAAKAAAACgAAAAoAAAAFAAACAVUAAAQiAAAEIgAAAjIABQBVAAACMgAKAaUBAA4yAAAKBAAACZ0ACgGlARQApQEACZ0AAAelARQApQEAB6UBAEHhvQoLxwEapQEAEg0AAA0UAAALZAAAEu0EAAu9AgAKJgEAB1kDAAhmBQAHqgMAGqUBABINAAANFAAAC2QACQDtBAALvQIACiYBAAdZAxIA7QQAB1kDABAAAAAQAAAAEAAAAAgAAAAI3QAABlkAAAZZAAAEfQAABPYAAASWAAAQAAAAEAAAABAAAAAIAAAEAN0AAAZZAAAGWQAABH0ACADdAAAEfQANAaUBABINAAIMBAAAC2QADQGlARoApQEAC2QAAAmlARoApQEACaUBAEHRvwoL5zkgrgEAFgoAAQ9GAAANRgAAFu0FAA7aAgANAQEACc4DAAuxBgAIVQQBHqYBARUFAAIPLQAADUYACwHqBQAO2gIADQEBAAnOAw8E6gUACc4DABYJAAAWCQAAFgkAAAsJAAAMUgEACWoAAAlqAAAFtQAABYgBAAXZAAEUAQABFAEAARQBAAEKAgAGAFIBAAlqAAAJagAABbUADABSAQAFtQAQAKUBABYBAAQOBAAADT0AEAClASAApQEADT0AAAulASAApQEAC6UBAAAJAAAACQAAAAkAAAAJAAACAQAAAgEAAAIBAAABAQAAAQIAAAECAAEk5gEBGEUAAhGjAAEQcwAAHO0FABJmAgAPfgAAC1kDAA4xBwALHQQDIKYBAxcFAAMRLgACD0YADgHqBQASZgIAD34AAAtZAw8H6gUAC1kDARpBAAEaQQABGkEAAQ1CAAASUgEADS0AAA0tAAAIfQAACMgBAAfTAAMWAQADFgEAAxYBAAMMAgAJAFIBAA0tAAANLQAACH0AEgBSAQAIfQATAKUBAhgBAAYQAQAAECUAEwClASYApQEAECUAAA2lASYApQEADaUBAQBBAAEAQQABAEEAAQBBAAAIAQAACAEAAAgBAAAEAQAAAxkAAAMZAAMndQIDG9UAAxRtAQIS7QAAI+oFABb6AQASGAAADu4CABDTBwANGgQFI6UBBRkCAAYTLQAFEUgAEQHqBQAW+gEAEhgAAA7uAiMA6gUADu4CAxzRAAMc0QADHNEAAhDQAAAZUgEAEQkAABEJAAAKSAAACzYCAArxAAUYAQAFGAEABRgBAAUPAAAMAVIBABEJAAARCQAACkgAGQBSAQAKSAAWAaUBBBoBAAgSBQAAEggAFgGlAS0ApQEAEggAAA+lAS0ApQEAD6UBAgDQAAIA0AACANAAAgDQAAAPAAAADwAAAA8AAAAIAQAABlAAAAZQAAQrNQMEHqIBBRZtAgMUpAEAKeoFABnCAQAUBQAAEJ4CABOLCAAPVQQHJaUBBxsCAAgVLQAHE0gAFAHqBQAZwgEAFAUAABCeAikA6gUAEJ4CBCCQAQQgkAEEIJABBBKQAQAfUgEAFAEAABQBAAANKAAADrYCAAspAQcaAQAHGgEABxoBAAcRAQAPAVIBABQBAAAUAQAADSgAHwBSAQANKAAZAaUBBhwBAAoUBQAAFAQAGQGlATMApQEAFAQAABGlATMApQEAEaUBAwCQAQMAkAEDAJABAwCQAQAVAAAAFQAAABUAAAALAQAACJUAAAiVAAUvTgMGIMMBBheWAgUWvQECK+sFARy+AQIWBgAAEn4CABb+BwASbgMJJ6UBCR0CAAoXLQAJFUgAFwHqBQAcqgECFgUAABJNAi8A6gUAEk0CBSSpAQUkqQEFJKkBBRWqAQIgVQECFgIAAhYCAAEPJgAAEF4CAA6eAAkcAQAJHAEACRwBAAkTAQAPB1IBAhYBAAIWAQAADxQAHwNSAQAPFAAcAaUBCB4BAAwWBQACFgQAHAGlATkApQECFgQAABOlATkApQEAE6UBBQCpAQUAqQEFAKkBBQCpAQIXAQACFwEAAhcBAAINAgAADGEAAAxhAAcxTgMIIcIBCBmWAgcYvQEELesFAx6+AQQYBgACFH4CABleBwATqgILKaUBCx8CAAwZLQALF0gAGgHqBQEfpQEEGAUAABQhAjUA6gUAFCECByapAQcmqQEHJqkBBxeqAQQiVQEEGAIABBgCAAQQKgAAFPQBABA+AAseAQALHgEACx4BAAsVAQAPDVIBBBgBAAQYAQAAEQUAHwZSAQARBQAfAaUBCiABAA4YBQAEGAQAHwGlAT8ApQEEGAQAABWlAT8ApQEAFaUBBwCpAQcAqQEHAKkBBwCpAQQZAQAEGQEABBkBAAQPAgAAECUAABAlAAoxTgMKJL0BCxyKAgoawgEGL+0FBSC+AQYbAwAEFoYCAB3XBgAWCgINLKYBDSIDAA4bLgANGkoAHgDqBQMhpgEGGwMAABbxAS4H6gUAFvEBCiepAQonqQEKJ6kBChiqAQYlUgEGGwIABhsCAAYTKAAAGJoBABMJAA0hAQANIQEADSEBAA0XAQAYAVIBBxoAAAcaAAABEwUAMQBSAQETBQAjAKUBDCIBABAbAQAFGwEAIwClAT8DpQEFGwEAABelAT8DpQEAF6UBCgCpAQoAqQEKAKkBCgCpAQYcAAAGHAAABhwAAAYRAQAAEwUAABMFAAwzTgMMJr0BDR6KAgwcwgEIMe0FByK+AQgdAwAGGIYCACBvBgAZygEPLqYBDyQDABAdKgAPHEoAIAHqBQUjpgEIHQMAABnJAS4K6gUAGckBDCmpAQwpqQEMKakBDBqqAQgnUgEIHQIACB0CAAgVKAAAG2oBARYFAA8jAQAPIwEADyMBAA8ZAQAbAVIBCRwAAAkcAAADFQUANwBSAQMVBQAmAKUBDiQBABIdAQAHHQEAJgClAT8GpQEHHQEAABmlAT8GpQEAGaUBDACpAQwAqQEMAKkBDACpAQgeAAAIHgAACB4AAAgTAQABFgEAARYBAA41TgMOKL0BDyCVAg4ewgEKM+0FCSS+AQofAwAIGoYCACMnBgAbvgERL6UBESUCABIfKgARHkkAIwHqBQclpgEKHwMAABuuAS4N6gUAG64BDiupAQ4rqQEOK6kBDhyqAQopUgEKHwIACh8CAAoXKAAAH1UBAxgFABEkAQARJAEAESQBABEbAAAeAVIBCx4AAAseAAAFFwUAPQBSAQUXBQApAKUBECYBABQfAQAJHwEAKQClAT8JpQEJHwEAABulAT8JpQEAG6UBDgCpAQ4AqQEOAKkBDgCpAQofAQAKHwEACh8BAAoVAQADGAEAAxgBABA3VgMQKsMBECGWAg8gvgEMNe0FCya+AQwgCQAKHIYCACf9BQIdvgETMaUBEycCABQhLQASH1EAJgHqBQknpgENIAYAAB2mAS0Q6gUAHaYBDy+xAQ8vsQEPL7EBDx+xAQwrUgEMIAUADCAFAAwZKAABIVMBBRoFABMmAQATJgEAEyYBABMdAAAhAVIBDSACAA0gAgAHGQUAPwJSAQcZBQAsAKUBEigBABYgBQAMIAUALAClAT8MpQEMIAUAAB2lAT8MpQEAHaUBDwCxAQ8AsQEPALEBDwCxAQwhAQAMIQEADCEBAAwXAQAFGgEABRoBABI6TgMSLL0BEySKAhIiwgEOOOsFDii/AQ4jBwANH4YCACrrBQUfvQEVNKYBFSoCABYjLgAVIkoAKgDqBQwppgEOIwYAAh+pAT4L6gUCH6kBEi+pARIvqQESL6kBEiCqAQ4uUwEOIwYADiMGAA4bIwAEI1UBCBwFABUpAQAVKQEAFSkBABUfAgAfDFIBDyIAAA8iAAAIHAEAPgZSAQgcAQAvAKUBFSoBABgjAQANIwEALwClAT4QpQENIwEAAB+pAT4QpQEAH6kBEgCpARIAqQESAKkBEgCpAQ4kAQAOJAEADiQBAA4ZAQAHHQEABx0BABQ8TgMULr0BFSaKAhQkwgEQOuoFECnBARAlAwAPIHYCAizrBQchuQEXNqYBFywCABglLgAXJEoALQDqBQ4rpgEQJQMABCGlAT4O6gUEIaUBFDGpARQxqQEUMakBFCKqARAvVAEQJQIAECUCABAdIgAGJVUBCh4FABcrAQAXKwEAFysBABchAQAfElIBESQAABEkAAAKHgEAPglSAQoeAQAyAKUBFywBABolAQAPJQEAMgClAT4TpQEPJQEAACGlAT4TpQEAIaUBFACpARQAqQEUAKkBFACpARAmAAAQJgAAECYAABAbAAAJHwEACR8BABY+TgMWML0BFyiKAhYmwgESPOoFEivBARInAwAQIoYCBC7rBQkjuQEZOKYBGS4CABonLgAZJkoALwLqBRAtqQESJwMABiOlAT4R6gUGI6UBFjOpARYzqQEWM6kBFiSqARIxUgESJwIAEicCABIfIgAIJ1UBCyAGABktAQAZLQEAGS0BABkjAQAiEVIBEyYAABMmAAAMIAQAPgxSAQwgBAA1AKUBGS4BABwnAQARJwEANQClAT4WpQERJwEAACOlAT4WpQEAI6UBFgCpARYAqQEWAKkBFgCpARIoAAASKAAAEigAABIdAAALIAIACyACABg/UgMYMr0BGSqKAhgowgEUPuoFFC3BARQpAwASJIYCBjDtBQsluQEbOqYBGzADABwpLgAbKEoALwjqBRIvqQEUKQMACCWlAT4U6gUIJaUBGDWpARg1qQEYNakBGCaqARQzUgEUKQIAFCkCABQhKAAKKVUBDSIGABsvAQAbLwEAGy8BABslAQAlEVIBFSgAABUoAAAOIgQAPg9SAQ4iBAA4AKUBGjABAB4pAQATKQEAOAClAT4ZpQETKQEAACWlAT4ZpQEAJaUBGACpARgAqQEYAKkBGACpARQqAAAUKgAAFCoAABQfAAANIgIADSICABo/cgMaNL8BGyyGAhoqvgEXPvYFFjC/ARYrBQAVJ4YCCDLrBQ0nuwEeOqkBHTIEAB4sLQAdKkUANgDqBRQxpgEWKwQACieqAS8f6gUKJ6oBGjilARo4pQEaOKUBGimlARY2UwEWKwUAFisFABYjIwAMK1IBECQFAB4wBAAeMAQAHjAEAB4nBAAxAFIBFyoCABcqAgAQJAEAPhJSARAkAQA7AKUBHTIAACArAQAWKwAAOwClAT4cpQEWKwAAACepAT4cpQEAJ6kBGgClARoApQEaAKUBGgClARYsAgAWLAIAFiwCABYhAQAPJQEADyUBAB0/mgMcNr8BHS6GAhwsvgEZP/8FGDK/ARgtBQAXKYYCCjTrBQ8puwEfPqkBHzQEACAtLQAfLEUAOQDqBRYzpgEYLQQADCmqATIg6gUMKaoBHDqlARw6pQEcOqUBHCulARg4UwEYLQUAGC0FABglIwAOLVIBEiYFAB80BAAfNAQAHzQEAB8pBQA0AFIBGSwCABksAgASJgEAPhVSARImAQA+AKUBHzQAACItAQAYLQAAPgClAT4fpQEYLQAAACmpAT4fpQEAKakBHAClARwApQEcAKUBHAClARguAgAYLgIAGC4CABgjAQARJwEAEScBAB8/4gMeOL8BHzCPAh4uvgEcPycGGjS/ARovBQAZK4YCDDbrBRErvQEhP6oBITYCACIvLQAhLkIAPADqBRg1pgEaLwQADiuqATgg6gUOK6oBHjylAR48pQEePKUBHi2lARo6UwEaLwUAGi8FABonIwAQL1IBFCgFACE1AQAhNQEAITUBACErAgA3AFIBGy4CABsuAgAUKAEAPhhSARQoAQA/BKUBITYBACQvAQAaLwAAPwSlAT4ipQEaLwAAACupAT4ipQEAK6kBHgClAR4ApQEeAKUBHgClARowAQAaMAEAGjABABolAQATKQEAEykBACE/OgQgOr0BITKKAiAwwgEeP2YGHDa/ARwxBwAbLYYCDjjrBRMtvQEkP7IBIzgCACQxLgAjMEoAPwDqBRo3pgEcMQYAEC2pAT4g6gUQLakBID2pASA9qQEgPakBIC+qARw8UwEcMQYAHDEGABwpIwASMVUBFioFACM3AQAjNwEAIzcBACMtAgA6AFIBHTAAAB0wAAAWKgEAPhtSARYqAQA/CqUBIzgBACYxAQAbMQEAPwqlAT4lpQEbMQEAAC2pAT4lpQEALakBIACpASAAqQEgAKkBIACpARwyAQAcMgEAHDIBABwnAQAVKwEAFSsBACQ/tgQiPb4BIzSGAiIyvgEhP64GHji9AR8zBQAdL34CETrrBRYvwgEnP9UBJToFACY0LQAlMkUAPwfqBRs6pgEfMwEAEy+xAT8j6gUTL7EBIj+mASI/pgEiP6YBIjGlAR89VgEfMwUAHzMFAB4rJAAUM1IBGCwCACY4BAAmOAQAJjgEACYvBAA1EFIBHzMBAB8zAQAZLAAAPx5SARksAAA/EaUBJToBACgzAQAeMwAAPxGlAT8opQEeMwAAAC+xAT8opQEAL7EBIgClASIApQEiAKUBIgClAR8zBAAfMwQAHzMEAB8pBAAXLQEAFy0BACY/RgUkP74BJTaGAiQ0vgEkPxYHIDq/ASA1BQAfMH4CEzzrBRcxuwEpPwUCJzwFACg2LQAnNEUAPw3qBR08pgEgNQQAFDGqAT8m6gUUMaoBJD+1ASQ/tQEkP7UBJDOlASE+WwEgNQUAIDUFACAtIQAWNVIBGi4CACg6BAAoOgQAKDoEACgxBAA4EFIBITQCACE0AgAbLgAAPiFSARsuAAA/F6UBJzwBACo1AQAgNQAAPxelAT8rpQEgNQAAADGpAT8rpQEAMakBJAClASQApQEkAKUBJAClASA2AgAgNgIAIDYCACArAgAZLwEAGS8BACg/ugUmP9oBJziGAiY2vgEmP4sHIjy/ASI3BQAhM4YCFT7rBRkzuwErPzkCKT4FACo4LQApNkUAPxPqBSA9pgEiNwQAFjOqAT8p6gUWM6oBJj/WASY/1gEmP9YBJjWlASM/YwEiNwUAIjcFACIvIQAYN1IBHDADACo8BAAqPAQAKjwEACozBAA7EFIBIzYCACM2AgAcMAIAPiRSARwwAgA/HaUBKT4BACw3AQAiNwAAPx2lAT8upQEiNwAAADOpAT8upQEAM6kBJgClASYApQEmAKUBJgClASI4AgAiOAIAIjgCACItAgAbMQEAGzEBACs/YgYpPyICKTqGAig4vgEoP/cHJD6/ASQ5BQAjNYYCGD/xBRs1uwEuP3kCLD8JACw6LQArOEUAPxnqBSI/pgEkOQQAGDWqAT8s6gUYNaoBKD/2ASg/9gEoP/YBKDelASU/ewEkOQUAJDkFACQxIwAaOVIBHjIDACw+BAAsPgQALD4EACw1BAA+EFIBJTgCACU4AgAeMgIAPidSAR4yAgA/IqUBLD8FAC45AQAkOQAAPyKlAT4xpQEkOQAAADWpAT4xpQEANakBKAClASgApQEoAKUBKAClASQ6AgAkOgIAJDoCACQvAgAdMwEAHTMBAC0/SgcrP7ECKzyKAio7vwErP5kIJj/VASc7BgAlN34CHT82Bh43wgEwP+UCLj9FAC48LgAtOkYAPiHqBSY/0QEnOwIAGTipAT0w6gUZOKkBKz8hAis/IQIrPyECKjmmASg/qAEnOwUAJzsFACYzJAAdO1MBIDQCAC4/BQAuPwUALj8FAC43AgA/FVIBJzsBACc7AQAhNAAAPypSASE0AAA/KaUBMD8pADE7AgAmOwIAPymlAT80pQEmOwIAADipAT80pQEAOKkBKgClASoApQEqAKUBKgClASc7BAAnOwQAJzsEACcxBAAfNQEAHzUBADA/FgguP3kDLT6KAiw9vwEuPzkJKT89Aik9BgAnOX4CID+uBiA5wgEzP0UDMT+4ADA+MQAvPEYAPyXqBSs/IQIpPQIAGzqpAT8y6gUbOqkBLT9mAi0/ZgItP2YCLDumASs/6AEpPQUAKT0FACg1JAAfPVMBIjYCADA/FAAwPxQAMD8UADA5BAA/G1IBKT0BACk9AQAjNgAAPy1SASM2AAA/L6UBMz9hADM9AgAoPQIAPy+lAT83pQEoPQIAADqpAT83pQEAOqkBLAClASwApQEsAKUBLAClASk9BAApPQQAKT0EACkzBAAhNwEAITcBADI/vwgwP1UELz+9Ai4+uQEwP6UJLD/QAis/BQApO10CJT8MByI7oQE2P5QDMz80ATM/NAAxPjgAPyuzBS4/agIrPwEAHzuQAT81swUfO5ABLz+9Ai8/vQIvP70CLj2mAS0/NgIrPwUAKz8FACo3JAAgP1UBJDgCADM/NAAzPzQAMz80ADI7BAA/IVIBKz8BACs/AQAlOAAALzhSASU4AAA/NYgBNz+dADU/AQAqPwEAPzWIAT86iAEqPwEAADuQAT86iAEAO5ABLgClAS4ApQEuAKUBLgClASs/BAArPwQAKz8EACs1BAAjOQEAIzkBADM/bQcyP1oEMT8RAzA/pQEzPy0ILj8+Ai0/JgAsPGQBKD/EBSQ81QA3P6wCNj8EATU/VQAzPxQAPy8oBDE/qgEvPwgAIzzQAD83KAQjPNAAMT8RAzE/EQMxPxEDMD+lATA/lQItPyYALT8mACw5JAAlP3MBJjoCADU/VQA1P1UANT9VADQ9BAA/J1IBLz8IAC8/CAAnOgAALztSASc6AAA/OMgAOT9QADg/AQAwPwAAPzjIAD48yAAwPwAAADzQAD48yAAAPNAAMAClATAApQEwAKUBMAClAS0/DQAtPw0ALT8NAC03BAAlOwEAJTsBADY/bgY0P18EMz92AzI/1gE1P+EGMD8OAjA/fgAuPZIALD/CBCc+RQA5P8IBOD/1ADg/kQA2PwIAPzPSAjQ/IgEzPzIAJj5BAD850gImPkEAMz92AzM/dgMzP3YDMj/WATI/CAMwP34AMD9+AC87KgApP74BKDwFADg/kQA4P5EAOD+RADY/AgA9MVIBMz8yADM/MgAqPAEAPzZSASo8AQA/Oz0APD8ZADs/AAA3PwAAPzs9AD89PQA3PwAAAD5BAD89PQAAPkEAMgClATIApQEyAKUBMgClATA/LQAwPy0AMD8tAC85AgAoPQEAKD0BADg/7gU2P14ENj/OAzQ/NQI2P/YFMz8WAjM/FgEwPjkALz9CBCo/CgA7P2IBOj/7ADk/wgA4PzIAPzf9ATc/6gA2P2oAKj8JAD87/QEqPwkANj/OAzY/zgM2P84DND81AjU/iAMzPxYBMz8WATA9JgAsPz4CKj4FADk/wgA5P8IAOT/CADg/MgA/M1IBNj9qADY/agAsPgEAPzlSASw+AQA/PgUAPj8EAD4/AAA9PwAAPz4FAD4/BQA9PwAAAD8JAD4/BQAAPwkANAClATQApQE0AKUBNAClATI/SAAyP0gAMj9IADE7BQAqPwEAKj8BADk/rQQ4P+IDOD9+AzY/NQI4P7oENj/tATU/TAEyPw0AMz9dAy0/EQA8P9EAPD+hADw/kQA6PzIAPzomATo/kwA5P1kALz8BAD49JgEvPwEAOD9+Azg/fgM4P34DNj81AjY/DQM1P0wBNT9MATI/DQAwP/UBLT8RADw/kQA8P5EAPD+RADo/MgA/N90AOT9ZADk/WQAvPwEAPzvdAC8/AQA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAAD8AAD8/AAAAPwAANgClATYApQE2AKUBNgClATQ/dQA0P3UAND91ADM9BQAtPxEALT8RADo/nQM5P/0COT+9Ajk//QE5P00DNz+nATY/LQE1PwUAND9WAjE/NAA9P2EAPT9GAD0/PQA8PxEAPzxxADw/OQA7PygANT8BAD4+cQA1PwEAOT+9Ajk/vQI5P70COT/9ATk/TQI2Py0BNj8tATU/BQAzP20BMT80AD0/PQA9Pz0APT89ADw/EQA/OlUAOz8oADs/KAA1PwEAPj1VADU/AQA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAAD8AAD8/AAAAPwAAOAClATgApQE4AKUBOAClATY/nQA2P50ANj+dADU/BQAxPzQAMT80AAAdcgMAFXQAAA8EAAANQAEAE2sHAA6+BAALPQIACI0FAAkECAAI8QUAHXIDABV0AAAPBAAADUABCgBoBwAOvgQACz0CAAiNBQ4DaAcACI0FAA4AAAAOAAAADgAAAAcAAAAHogAABT0AAAU9AAADZAAAA7QAAAN0AAAOAAAADgAAAA4AAAAHAAADAaIAAAU9AAAFPQAAA2QABwCiAAADZAAGEXIDABV0AAAPBAAADUABBhFyAx0AcgMADUABAAp0Ax0AcgMACnQDAEHh+QoLxwEjcgMAGTIAABEKAAAPBAEAFzMJABBLBQAOTQIACngGAAsHCgAKIQcAI3IDABkyAAARCgAADwQBAxEzCQAQSwUADk0CAAp4BhcAMwkACngGABMBAAATAQAAEwEAAAoAAAAKUgEACH0AAAh9AAAEyAAABXYBAAThAAATAQAAEwEAABMBAAAKAAAFAFIBAAh9AAAIfQAABMgACgBSAQAEyAARAXIDABkyAAERAgAADwQBEQFyAyMAcgMADwQBAAx0AyMAcgMADHQDAEHR+woLxwEpcgMAHAoAARNFAAARwQAAHFMLABMDBgAQgwIAC60HAA2JDAALcQgAKXIDABwKAAETNQAAEcEADgBTCwATAwYAEIMCAAutBxwAUwsAC60HABkBAAAZAQAAGQEAAA0AAAANQgIAC90AAAvdAAAGZAEABoQCAAWRAQAZAQAAGQEAABkBAAANAAAGAUICAAvdAAAL3QAABmQBDQBCAgAGZAEUAXIDABwKAAMTAgAAEcEAFAFyAykAcgMAEcEAAA50AykAcgMADnQDAEHA/QoL+DcBLYYDAR8YAAEVjgAAE6YAACHoCwAWowUAEuEBAA10BwAQpA0ADZUIAit2AwEfCAADFUkAAROZABAB6AsAFqMFABLhAQANdAchAOgLAA10BwEdFQABHRUAAR0VAAEPFQAAEogCAA6pAAAOqQAACEUBAAj+AgAHpQECGwUAAhsFAAIbBQACDwQACQCIAgAOqQAADqkAAAhFARIAiAIACEUBFwFyAwAfAgAFFQIAABOCABcBcgMvAHIDABOCAAAQegMvAHIDABB6AwEAFAABABQAAQAUAAEAFAAABQAAAAUAAAAFAAAAAgEAAAIFAAACBQACMeUDAiJyAAMYIgEBFuoAACfrCwAZ6AQAFQIBABDkBgATZQ4AD5MIBC5zAwMhCgAFF0oAAxWaAA8K6AsAGegEABUCAQAQ5AYeBegLABDkBgIicQACInEAAiJxAAIScQAAGYgCABFZAAARWQAACvIAAAtsAwAKmwEEHgEABB4BAAQeAQAEEQEADAGIAgARWQAAEVkAAAryABkAiAIACvIAGwByAwMhAQAIFwEAABZQABsAcgMuBHIDABZQAAASdAMuBHIDABJ0AwIAcQACAHEAAgBxAAIAcQAACwEAAAsBAAALAQAABgEAAAUoAAAFKAADNX0EAyQSAQQbAQIDGGoBAC3rCwAcaAQAGHoAABJFBgAWPQ8AEH0IBi91AwUjCgAHGUoABReaAA8Q6AsAHGgEABh6AAASRQYeCOgLABJFBgMmCQEDJgkBAyYJAQMUCgEAH4gCABUiAAAVIgAADaoAAA7sAwALyQEGIAEABiABAAYgAQAGEwEADwGIAgAVIgAAFSIAAA2qAB8AiAIADaoAHgByAwUjAQAKGQEAABgpAB4AcgMuB3IDABgpAAAUdAMuB3IDABR0AwMACQEDAAkBAwAJAQMACQEAEQAAABEAAAARAAAACQEAAAhoAAAIaAAEOVUFBCfyAQUcGQMEGjECADPoCwAfCAQAGikAABTlBQAYMxAAE2UICDF1AwclCgAJG0oABxmaABER6AsAHwgEABopAAAU5QUzAOgLABTlBQQq4QEEKuEBBCrhAQQX4QEAJIoCABkEAAAZBAAAD4IAABCJBAAO4QEIIgEACCIBAAgiAQAIFQEADweIAgAZBAAAGQQAAA+CAB8DiAIAD4IAIAFyAwclAQAMGwEAABoZACABcgMuCnIDABoZAAAWdAMuCnIDABZ0AwQA4QEEAOEBBADhAQQA4QEAFwAAABcAAAAXAAAADAEAAAnBAAAJwQAFPW0GBSobAwcemQQEHDoDADnoCwAjugMAHQkAABZkBQAbQxEAFZUICjN1AwknCgALHUoACRuaABQR6AsAI7oDAB0JAAAWZAU5AOgLABZkBQUu+QIFLvkCBS75AgUZ+gIAKooCABwEAAAcBAAAEVUAABNBBQAQLQIKJAEACiQBAAokAQAKFwEADw2IAgEbAQABGwEAABFVAB8GiAIAEVUAIwFyAwknAQAOHQEAAB0JACMBcgMuDXIDAB0JAAAYdAMuDXIDABh0AwUA+QIFAPkCBQD5AgUA+QIAHQAAAB0AAAAdAAAADwEAAAsoAQALKAEHP+4GByycAwghKAUGHq0DAjzsCwEmnAMCHwoAABgWBQAfzBAAGJYHDDZyAwwoCAANIEQACx2hACAA6AsAJ4IDAh8GAAAY8gQ+AegLABjyBAcwdQMHMHUDBzB1AwccdAMCLYwCAh8JAAIfCQABFD4AABb7BAATowEMJwAADCcAAAwnAAAMGQEAGAGIAgMeAAADHgAAABQtADEAiAIAFC0AJwByAwspAQAQHwIAAR8BACcAcgM+CHIDAR8BAAAacgM+CHIDABpyAwcAdAMHAHQDBwB0AwcAdAMCIAQAAiAEAAIgBAACEQQAABD6AAAQ+gAJPwYHCS6cAwojKAUJIKgDBD7sCwMonAMEIQkAAhoWBQAhtw8AGm8GDjhyAw4qCAAPIkQADR+hACMA6AsAKnIDBCEFAAAbkgQ+BOgLABuSBAkydQMJMnUDCTJ1AwkedAMEL4wCBCAIAAQgCAADFj4AABlTBAAW8wAOKQAADikAAA4pAAAOGwEAGwGIAgUgAQAFIAEAABYSADcAiAIAFhIAKgByAw0rAQASIQEAAiEAACoAcgM+C3IDAiEAAAAccgM+C3IDABxyAwkAdAMJAHQDCQB0AwkAdAMEIgQABCIEAAQiBAAEEwQAABOSAAATkgAMPzYHCzCcAwwlKAULIqgDBj/vCwUqnAMGIwkABBwWBQAk1w4AHEwFEDpzAxAsCQARI0oADyGhACYA6AsCLHIDBiMFAAAdVgQ+B+gLAB1WBAs0dQMLNHUDCzR1AwsgdQMGMYwCBiIIAAYiCAAFGD4AAB3JAwAYbQAQKgEAECoBABAqAQAQHQIAHgGIAgciAQAHIgEAABgJAD0AiAIAGAkALQByAw8tAQAUIwEABCMAAC0AcgM+DnIDBCMAAAAecgM+DnIDAB5yAwsAdAMLAHQDCwB0AwsAdAMGJAQABiQEAAYkBAAGFQQAABZKAAAWSgAOP3gHDTKcAw4nKAUNJKgDCT8PDAcsnAMIJQkABh4WBQAnFw4AH4QEEjxzAxIuCQATJUoAESOaACkA6AsELnIDCCUFAAAfCwQ+CugLAB8LBA02dQMNNnUDDTZ1Aw0idQMIM4wCCCQIAAgkCAAHGj4AACFOAwAbJQASLAEAEiwBABIsAQASHwIAIQGIAgkkAQAJJAEAABsBAD8CiAIAGwEALwJyAxAwAQAWJQEABiUAAC8CcgM+EXIDBiUAAAAgdAM+EXIDACB0Aw0AdAMNAHQDDQB0Aw0AdAMIJgQACCYEAAgmBAAIFwQAABodAAAaHQAQP94HDzSkAxAoPQUPJqQDDD9FDAkunAMKJwcACSAcBQArbA0AIesDFD50AxQwCAAVKEoAEyWhACQQ6AsGMHIDCicGAAAh0gM/DegLACHSAw85cgMPOXIDDzlyAw8kcgMKNokCCicGAAonBgAJHD0AACThAgEdCAAULwAAFC8AABQvAAAUIQEAHwyIAgsmAQALJgEAAh0BAD4GiAICHQEAMwByAxMxAQAYJwEACScBADMAcgMvHHIDCScBAAAicgMvHHIDACJyAw8AcgMPAHIDDwByAw8AcgMKKAIACigCAAooAgAKGQIAAB4CAAAeAgATP04IETacAxIqPQUQKK0DDj+EDAswnAMMKQcACyIcBQAu5AwAI6sDFj96AxYyCAAXKkoAFSehACcQ6AsIMnIDDCkGAAAjqwM+EOgLACOrAxE7dAMRO3QDETt0AxEmdAMMOIkCDCkGAAwpBgALHj0AACepAgMfCAAWMQAAFjEAABYxAAAWIwEAHxKIAg0oAQANKAEABB8BAD4JiAIEHwEANgByAxUzAQAaKQEACykBADYAcgMvH3IDCykBAAAkcgMvH3IDACRyAxEAdAMRAHQDEQB0AxEAdAMMKgIADCoCAAwqAgAMGwIAAiABAAIgAQAUP9gIEzicAxQsPQUSKq0DET/cDA0ynAMOKwcADSQcBQAyeAwAJpsDGT+KAxg0CAAZLEoAFymhADIA6AsKNHIDDisGAAAmiwM+E+gLACaLAxM9dAMTPXQDEz10AxModAMOOokCDisGAA4rBgANIEMAACqRAgQhCgAYMwAAGDMAABgzAAAYJQEAIhGIAg8qAQAPKgEABiEBAD4MiAIGIQEAOQByAxc1AQAcKwEADSsBADkAcgMyIHIDDSsBAAAmcgMyIHIDACZyAxMAdAMTAHQDEwB0AxMAdAMOLAIADiwCAA4sAgAOHQIABCIBAAQiAQAXP0gJFTqcAxYuPQUULK0DEz8/DQ80nAMQLQoADyYcBQA1KAwCKJsDGz+0Axo2CAAbLkoAGSuhADUA6AsMNnIDEC0GAAAoewM+FugLACh7AxU/dAMVP3QDFT90AxUqdAMQO4wCEC0JABAtCQAPIkMAAS2KAgYjCgAaNQAAGjUAABo1AAAaJwEAJRGIAhEsAAARLAAACCMBAD4PiAIIIwEAPAByAxk3AQAeLQEADy0BADwAcgM4IHIDDy0BAAAocgM4IHIDAChyAxUAdAMVAHQDFQB0AxUAdAMQLgQAEC4EABAuBAAQHwQABiQBAAYkAQAaPwQKFz2fAxgxLAUXL6cDFj/JDRE2nAMSLwoAESkWBQA49AsFKpwDHj/rAxw5BgAdMEMAHC6eADgB6AsPOHMDEy8IAAEqdAM/GegLASp0Axc/ewMXP3sDFz97AxcscwMSPokCEi8GABIvBgARJD0ABC+MAgklCAAcNwIAHDcCABw3AgAcKgIAMQCIAhMuAgATLgIACyUAAD4SiAILJQAAPwFyAxs6AgAgLwQAES8FAD8BcgM/IHIDES8FAAAqdAM/IHIDACp0AxcAcgMXAHIDFwByAxcAcgMSMAIAEjACABIwAgASIQIACCYBAAgmAQAcP9YKGT+fAxozLAUZMKQDGT9hDhM4nAMUMQcAEysWBQA77AsHLJwDID8yBB47BgAfMkMAHjCqADsB6AsQOnUDFDEGAAMsdAM/HOgLAyx0Axk/lgMZP5YDGT+WAxkucwMUP4sCFDEGABQxBgATJj0ABTGLAgsnCAAeOQIAHjkCAB45AgAeLAIANACIAhUwAQAVMAEADScAAD4ViAINJwAAPwdyAx08AgAiMQEAEzEBAD8HcgM/I3IDEzEBAAAsdAM/I3IDACx0AxkAcgMZAHIDGQByAxkAcgMUMgIAFDICABQyAgAUIwIACigBAAooAQAfP7YLHD+3Axw1LAUbMqQDGj8EDxU6nAMWMwcAFS0WBQI97AsJLpwDIj96BCA9CQAhNEoAIDKpAD4B6AsSPHUDFjMGAAUudAM/H+gLBS50Axw/tgMcP7YDHD+2AxswcgMXP6MCFjMGABYzBgAVKD0ABzOLAg0pCAAgOwAAIDsAACA7AAAgLgEANwCIAhcyAQAXMgEADykAAD4YiAIPKQAAPw1yAx8+AgAkMwEAFTMBAD8NcgM/JnIDFTMBAAAudAM/JnIDAC50AxsAcgMbAHIDGwByAxsAcgMWNAIAFjQCABY0AgAWJQIADCoBAAwqAQAhP5gMHj8HBB43LAUdNKQDHT+cDxc8nAMYNQcAFy8WBQQ/7AsLMJoDJT/KBCI/CQAjNkoAITOhAD8F6AsUPnUDGDUGAAYwcgMvKugLBjByAx4/4wMeP+MDHj/jAx0ycgMZP8ECGDUGABg1BgAXKj0ACTWLAg8rCAAiPQAAIj0AACI9AAAiLwQAOgCIAhk0AQAZNAEAECsBAD4biAIQKwEAPxNyAyE/BAAmNQEAFzUBAD8TcgM/KXIDFzUBAAAwcgM/KXIDADByAx0AcgMdAHIDHQByAx0AcgMYNgIAGDYCABg2AgAYJwIADiwBAA4sAQAiP7YNID+yBCE5NwUfNqgDIT+cEBk/nQMaNw0AGTEdBQk/EwwNMpYDKD9FBSU/JgAlOE0AJDaeADwR6AsYP34DGzcIAAkydAM/JegLCTJ0AyA/IgQgPyIEID8iBB80dQMcP/oCGjcJABo3CQAaLD0ACziKAhEtCwAkPwIAJD8CACQ/AgAkMgIANRCIAhw2AQAcNgEAEy0BAD8eiAITLQEAOyFyAyU/HQAoOAQAGjcEADshcgM3MHIDGjcEAAAydAM3MHIDADJ0Ax8AdAMfAHQDHwB0Ax8AdAMaOQAAGjkAABo5AAAaKgEAEC8CABAvAgAlP5YOIj93BSM7NwUhOacDIj9ZERw/vQMcOQ0AGzMdBQ0/eAwPNJYDKz/NBSc/gwAnOk0AJjieAD8R6AscP70DHTkIAAs0dAM/KOgLCzR0AyI/VgQiP1YEIj9WBCE2cwMeP0gDHDkJABw5CQAcLj0ADTqKAhMvCwAnPwoAJz8KACc/CgAmNAIAOBCIAh44AQAeOAEAFS8BAD4hiAIVLwEAPiFyAyk/UAAqOgQAHDkEAD4hcgM9MHIDHDkEAAA0dAM9MHIDADR0AyEAcgMhAHIDIQByAyEAcgMcOwAAHDsAABw7AAAcLAEAEjABABIwAQAoP7YPJT9vBiU9NwUjO6cDJT8xEh8/PQQeOw0AHTUdBRI/Cw0RNpwDLT9jBio/EwEpPE0AKDqeAD8X6AsgPxQEHzsIAA02dAM/K+gLDTZ0AyQ/swQkP7MEJD+zBCM4cwMhP5MDHjsJAB47CQAeMEEADzyKAhUxCAApPxkAKT8ZACk/GQAoNgIAOxCIAiA5BAAgOQQAFzEAAD4kiAIXMQAAPyVyAyw/oAAsPAQAHjsEAD8lcgM/MnIDHjsEAAA2dAM/MnIDADZ0AyMAcgMjAHIDIwByAyMAcgMePQAAHj0AAB49AAAeLgEAFDIBABQyAQAqPwwRKD/HByc/NwUlPacDKD8pEyI/BwUgPQoAHzcdBRU/4w0TOJwDMD8EByw/0QErPk0AKjyeAD8d6AsjP6QEIT0IAA84dAM/LugLDzh0Ayc/EwUnPxMFJz8TBSU6cwMiP/kDID0GACA9BgAgMkIAET6KAhczCAArPy0AKz8tACs/LQAqOAIAPhCIAiE8AgAhPAIAGTMAAD4niAIZMwAAPytyAzA/BAEuPgQAHj4EAD8rcgM/NXIDHj4EAAA4dAM/NXIDADh0AyUAcgMlAHIDJQByAyUAcgMgPwEAID8BACA/AQAgLwIAFjQBABY0AQAtP1kRKz/uCCk/jQUnPpQDKz8OEyU/ggUiPwkAITl1BBo/zw0VOhsDMj/qBi8/YQIuP1UALD54AD8j/gooP6oEIz8CABE6+gI/Mf4KETr6Aik/jQUpP40FKT+NBSc9dQMlP2oEIj8JACI/CQAiND0AFD+LAhk1CwAuP1UALj9VAC4/VQAsOgQAPxWIAiQ+AQAkPgEAGzUCAD8qiAIbNQIAPzD5AjM/MQEwPwEAIj8AAD8w+QI+OPkCIj8AAAA6+QI+OPkCADr5AicAdAMnAHQDJwB0AycAdAMiPwkAIj8JACI/CQAiMgEAGDcCABg3AgAuP2kPKz++CCs/5QUpP3UDLT/5ECY/zgQlPykAIjoNAx4/+gsYO+4BMz9qBTA/EgIwP4IALj4tAD8nyQgrP5IDJz8IABU74gEvO8kIFTviASs/5QUrP+UFKz/lBSk/dQMoP9oEJT8pACU/KQAkNj0AGD+xAhs3CwAwP4IAMD+CADA/ggAuPAQAPxuIAic/CAAnPwgAHTcCAD8tiAIdNwIAPzPhATY/wQAzPwEAKD8AAD8z4QE/OeEBKD8AAAA74QE/OeEBADvhASkAdAMpAHQDKQB0AykAdAMlPxkAJT8ZACU/GQAkNAEAGjkCABo5AgAwP/MNLj+GCC4/dQYrP4QDLj/+Dik/RgQoP4kAJTvqASA/jwobPA4BNT9SBDM/ygEyP8EAMD8KAD8r6QYuP7oCKj8oABk8CgE/NekGGTwKAS4/dQYuP3UGLj91Bis/hAMrP2oFKD+JACg/iQAmOD0AHT8LAx05CwAyP8EAMj/BADI/wQAwPgEAPyGIAio/KAAqPygAHzkCAC84iAIfOQIAPzYJATk/cQA2PwEALj8AAD82CQE+OwkBLj8AAAA8CQE+OwkBADwJASsAdAMrAHQDKwB0AysAdAMnPzQAJz80ACc/NAAmNgEAHDsCABw7AgAyP+sMMD+TCDA/AwcuP8QDMD9rDSs/AgQqPygBJzwNASU/agkePXMANj9yAzY/wgE1PwkBMj8KAD8vXgUwPyICLj9ZAB09cgA/N14FHT1yADA/AwcwPwMHMD8DBy4/xAMtPxgGKj8oASo/KAEoOj0AID97Ax87CwA1PwkBNT8JATU/CQEyPwoAPyeIAi4/WQAuP1kAITsBAC87iAIhOwEAPzlxADo/MgA5PwEAND8AAD85cQA/PHEAND8AAAA9cQA/PHEAAD1xAC0AdAMtAHQDLQB0Ay0AdAMpP2EAKT9hACk/YQAoOAEAHj0CAB49AgAzP9gLMz/YCDI/rQcwP0gEMz8YDC4/IwQuPxICKT5+ACg/jwghPhkAOT+oAjg/0QE3P2QBNT9EAD8zCAQ0P8IBMT+5ACI+FAA/OQgEIj4UADI/rQcyP60HMj+tBzA/SAQwP8gGLj8SAi4/EgIqPD4AJT8+BCE+CQA3P2QBNz9kATc/ZAE1P0QAPTGIAjE/uQAxP7kAJD0EAD82iAIkPQQAPz0SAD0/CQA9PwAAOz8AAD89EgA/PhIAOz8AAAA+FAA/PhIAAD4UAC8AegMvAHoDLwB6Ay8AegMsP5UALD+VACw/lQAqOgEAID8AACA/AAA2P8QKND/JCDM/1AcyP8gENT/zCjA/RAQwP7QCLD46ACs/xwcjPxAAOz82Ajk/pAE5P2QBNz99AD83AwM3P4IBND/xACY/AAA/OwMDJj8AADM/1AczP9QHMz/UBzI/yAQyPwoHMD+0AjA/tAIsPioAKD+OBCM/EAA5P2QBOT9kATk/ZAE3P30APzJEAjQ/8QA0P/EAJj8AAD45RAImPwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAAA/AAA/PwAAAD8AADEAdAMxAHQDMQB0AzEAdAMuP8EALj/BAC4/wQAsPAEAIz8QACM/EAA2P+QINj80BzY/pAY0P2UENj+ECDM/tAMxP4kCLj8KAC4/DwYnPzoAPD9EATs/AQE7P90AOT9EAD85xAE5P+QANz+JACw/AAA/PMQBLD8AADY/pAY2P6QGNj+kBjQ/ZQQzP7QFMT+JAjE/iQIuPwoAKz+eAyc/OgA7P90AOz/dADs/3QA5P0QAPzVUATc/iQA3P4kALD8AAD86VAEsPwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAAA/AAA/PwAAAD8AADMAdAMzAHQDMwB0AzMAdAMwPwQBMD8EATA/BAEuPgEAJz86ACc/OgA5PzQHNz8xBjc/uAU2PxQEOD/TBjQ/UgMzP1QCMD8EADA/tAQrP3UAPD+kADw/dAA8P2QAOz8oAD872AA6P3IAOj9BADI/AAA/PdgAMj8AADc/uAU3P7gFNz+4BTY/FAQ2P6QEMz9UAjM/VAIwPwQALj/uAis/dQA8P2QAPD9kADw/ZAA7PygAPzikADo/QQA6P0EAMj8AAD48pAAyPwAAPz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAAA/AAA/PwAAAD8AADUAdAM1AHQDNQB0AzUAdAMzP1QBMz9UATM/VAEwPwQAKz91ACs/dQAAJyAGABzCAAATCgAAEEoCABorDQAReQgAEAMEAArkCQAMQA4ACo0KACcgBgAcwgAAEwoAABBKAgUQKw0AEXkIABADBAAK5AkaACsNAArkCQASAAAAEgAAABIAAAAJAAAACSABAAhtAAAIbQAABKQAAARBAQAEvQAAEgAAABIAAAASAAAACQAABAEgAQAIbQAACG0AAASkAAkAIAEABKQAEwEgBgAcwgAAEwoAABBKAhMBIAYnACAGABBKAgANIAYnACAGAA0gBgBB4bULC8cBLSAGAB9qAAAWCgAAEuEBAB6ADwATMwkAEiEEAA0kCwAO3xAACy0MAC0gBgAfagAAFgoAABLhAQ8AgA8AEzMJABIhBAANJAseAIAPAA0kCwAYAAAAGAAAABgAAAAMAAAADAACAArNAAAKzQAABTkBAAU2AgAFXQEAGAAAABgAAAAYAAAADAAABgAAAgAKzQAACs0AAAU5AQwAAAIABTkBFgEgBgAfagABFgEAABLhARYBIAYtACAGABLhAQAPIAYtACAGAA8gBgBB0bcLC8cBMiIGACI0AAEYOgAAFXkBACIsEgAWCwoAE1MEAA6ZDAAQ9BMADcUNADIiBgAiNAABGCoAABV5AQ8EKxIAFgsKABNTBAAOmQweAisSAA6ZDAAeAAAAHgAAAB4AAAAPAAAADyADAAs9AQALPQEAB9QBAAd5AwAHJQIAHgAAAB4AAAAeAAAADwAABwEgAwALPQEACz0BAAfUAQ8AIAMAB9QBGQEgBgAiNAADGAEAABV5ARkBIAYvAiAGABV5AQARIgYvAiAGABEiBgBBwbkLC8cBOCIGACYNAAEbigAAGDEBACYrFQAZAwsAFqMEABBLDgARfRcADt0PADgiBgAmDQABG3oAABgxARMAKxUAGQMLABajBAAQSw4mACsVABBLDgAkAAAAJAAAACQAAAASAAAAEoAEAA69AQAOvQEACLkCAAj2BAAIHQMAJAAAACQAAAAkAAAAEgAACQCABAAOvQEADr0BAAi5AhIAgAQACLkCHAEgBgAmDQAFGgEAABgxARwBIAYvBSAGABgxAQATIgYvBSAGABMiBgBBsLsLC4g2AT1JBgEpKwACHfoAARotAQAtKxUAHPgJABk0AwASMQ0AFWMYABJxDwI7IQYCKQoAAx19AAEaHQEWASsVABz4CQAZNAMAEjENLQArFQASMQ0BKCoAASgqAAEoKgABFSoAABmABAATJAEAEyQBAAs5AgALZAUACusCAiYCAAImAgACJgIAAhQCAAwBgAQAEyQBABMkAQALOQIZAIAEAAs5AhcRIAYAKgEABxwBAAAa6QAXESAGPwAgBgAa6QAAFSAGPwAgBgAVIAYBACkAAQApAAEAKQABACkAAAcAAAAHAAAABwAAAAMBAAADEQAAAxEAAj/DBgIskgADH7kBARxyAQAyLBUAIRkJABsqAgAVkQwAF0wZABMVDwQ9IQYEKwoABR99AAMcHQEZASsVACEZCQAbKgIAFZEMLwIrFQAVkQwCLJIAAiySAAIskgACF5IAAB+ABAAWtAAAFrQAAA3KAQAO5AUADesCBCgCAAQoAgAEKAIABBYCAA8BgAQAFrQAABa0AAANygEfAIAEAA3KASIBIAYCLAEACR4BAAAcpAAiASAGPwMgBgAcpAAAFyAGPwMgBgAXIAYCAJEAAgCRAAIAkQACAJEAAA0AAAANAAAADQAAAAYBAAAFNAAABTQABD+5BwMvPgEFIaMCAx7yAQA4LBUAJFEIAB5SAQAWxAsAGU0aABXxDgY/IQYGLQoACCF7AAUeHQEcASsVACRRCAAeUgEAFsQLLwUrFQAWxAsDMDkBAzA5AQMwOQEDGjoBACSCBAAZZAAAGWQAABCEAQAQgQYADvUCBioCAAYqAgAGKgIABhgCAA8HgAQAGWQAABlkAAAQhAEfA4AEABCEASUBIAYELgEACyACAAAecQAlASAGPwYgBgAecQAAGSAGPwYgBgAZIAYDADkBAwA5AQMAOQEDADkBABMAAAATAAAAEwAAAAkBAAAIdAAACHQABj8xCQQxMgIGI+4DAyDLAgA+LBUAJ6kHACCuAAAYAQsAHGUbABgBDwk/KQYILwoACiN7AAcfIgEfASsVACepBwAgrgAAGAELLwgrFQAYAQsENCECBDQhAgQ0IQIEHCICACqCBAAdLQAAHS0AABIhAQATOQcAEB0DCCwCAAgsAgAILAIACBoCAA8NgAQAHS0AAB0tAAASIQEfBoAEABIhASgBIAYGMAEADSICAAAhSQAoASAGPwkgBgAhSQAAGyAGPwkgBgAbIAYEACECBAAhAgQAIQIEACECABkAAAAZAAAAGQAAAAwBAAAL1AAAC9QACD+kCwY0mAMHJqQFBSL0AwI/gBUAKhYHACM5AAAbRgoAH9QcABkUDws/RAYKMQ0ADCV0AAohJAEiASsVACoWBwAjOQAAG0YKPwMrFQAbRgoFOXQDBTl0AwU5dAMFH3QDADGABAAhBQAAIQUAABXdAAAWKwgAE2sDCy0EAAstBAALLQQACxwEABgBgAQAIQUAACEFAAAV3QAxAIAEABXdACwAIAYIMgEADyQEAAAjIAAsACAGPg0gBgAjIAAAHSIGPg0gBgAdIgYFAHQDBQB0AwUAdAMFAHQDAB8BAAAfAQAAHwEAABABAAAOXQEADl0BCT82Dgc3HQUIJ5QHBiRVBQM/axYALbYGACYRAAAd0gkAIlAeABw8Dw4/ZAYMMw0ADid0AAwjJAElASsVAC22BgAmEQAAHdIJPwYrFQAd0gkGPeQEBj3kBAY95AQGIeUEADeABAAlBAAAJQQAABaiAAAZIwkAFd0DDS8EAA0vBAANLwQADR4EABsBgAQBJAEAASQBAAAWogA3AIAEABaiAC8AIAYKNAEAESYBAAAmEAAvACAGLhggBgAmEAAAHyIGLhggBgAfIgYGAOQEBgDkBAYA5AQGAOQEACUAAAAlAAAAJQAAABMBAAAQ6gEAEOoBCz/oEAg5bAYKKTgJByd4BgY/vxcAMWwGASgRAAAfNwkAJAcfAB76DhA/mQYONQ0AECmBAA4lJAEoASsVADFoBgEoDQAAHzMJPwkrFQAfMwkIPygGCD8oBgg/KAYHJCgGATuEBAEnDQABJw0AABluAAAcqwkAGPkDDzEEAA8xBAAPMQQADyAEAB4BgAQDJgEAAyYBAAAZagA9AIAEABlqADEBIAYMNgEAEygBAAAoBAAxASAGLhsgBgAoBAAAISAGLhsgBgAhIAYHACgGBwAoBgcAKAYHACgGASkEAAEpBAABKQQAARUEAAATQgIAE0ICDj/oEQo7bAYMKzgJCSl4Bgg/ZBgCM2wGAyoRAAEhBAkAKpcdACARDRM/4QYQNwoAESt9ABAoIgErASsVADQ4BgMqDQAAIbEIPwwrFQAhsQgKPzEGCj8xBgo/MQYJJigGAz2EBAMpDQADKQ0AAhtuAAAfowgAGbsCEDQCABA0AgAQNAIAECICACEBgAQFKAEABSgBAAAbPQA/AoAEABs9ADQBIAYOOAEAFSoBAAEqAAA0ASAGLh4gBgEqAAAAIyAGLh4gBgAjIAYJACgGCQAoBgkAKAYJACgGAysEAAMrBAADKwQAAxcEAAAWmgEAFpoBDz/aEgw+cgYOLjMJCyt8Bgs/NBkENmkGBSwPAAMjBAkALf0bACM7CxY/RgcSOQkAFC1+ABIqGQEvACsVADggBgYsCgAAIysILhgrFQAjKwgMP0YGDD9GBgw/RgYMKCMGBT+DBAUsDgAFLA4ABB1tAAAhuQcAHKgBEzUEABM1BAATNQQAEyQEAB8MgAQHKgEAByoBAAAeHQA+BoAEAB4dADgAIAYROgEAGCwCAAMsAgA4ACAGPhkgBgMsAgAAJSIGPhkgBgAlIgYMACIGDAAiBgwAIgYMACIGBS4BAAUuAQAFLgEABRkCAAAZBAEAGQQBET/oEw4/dAYPMDYJDS18Bg4/DBoGOGkGBy4PAAUlBAkAL+saACTvCRc/pAcUOwkAFi9+ABQsGQExASsVAjogBgguCgAAJrsHLhsrFQAmuwcOP3MGDj9zBg4/cwYOKiMGCD+bBAcuDgAHLg4ABh9tAAAm8gYAH+gAFTcEABU3BAAVNwQAFSYEAB8SgAQJLAEACSwBAAAgCgA+CYAEACAKADsAIAYTPAEAGi4CAAUuAgA7ACAGPhwgBgUuAgAAJyIGPhwgBgAnIgYOACIGDgAiBg4AIgYOACIGBzABAAcwAQAHMAEABxsCAAAcpAAAHKQAFD/oFBE/rAYSMTgJDy98Bg8/3RoIOmkGCTAOAAcnBAkAMrAZACenCBo/BAgWPQkAGDF0ABYuGQE0ASsVBDwgBgkwDQAAKHMHLh4rFQAocwcQP6EGED+hBhA/oQYQLCkGCj+5BAkwDgAJMA4ACCFzAAAqQQYAIW4AFzkEABc5BAAXOQQAFygEACIRgAQLLgEACy4BAAAiAgA+DIAEACICAD4AIAYVPgEAHDABAAcwAAA+ACAGPh8gBgcwAAAAKSIGPh8gBgApIgYQACgGEAAoBhAAKAYQACgGCTIBAAkyAQAJMgEACR0CAAAhVQAAIVUAFz8oFhM/IQcUMzgJETF4BhM/3xsKPGkGCzIOAAkpBAkANcAYACq/Bx0/hAgYPwkAGjN0ABgwJQE3ASsVBj4gBgsyDQAAKhYHLyArFQAqFgcTP+EGEz/hBhM/4QYRLigGDD/hBAsyDgALMg4ACiNzAAAtqQUAJB4AGTsEABk7BAAZOwQAGSoEACURgAQNMAAADTAAAAEkAgA+D4AEASQCAD8EIAYXPwQAHjIBAAkyAAA/BCAGPiIgBgkyAAAAKyIGPiIgBgArIgYRACgGEQAoBhEAKAYRACgGCzQBAAs0AQALNAEACx8CAAAkHQAAJB0AGT+yFxU/9wcWNjMJEzN8BhQ//BwMPmMGDTQOAAsrDAkAOd0XACz9Bh8/QQkbPyYAHDVzABoyHgE7ACsVCT8pBg40CwAALMwGPhwrFQAszAYVPzMHFT8zBxU/MwcUMCMGDz8iBQ00DQANNA0ADCV0AAAwMQUAJw0AGz4BABs+AQAbPgEAGywCADEAgAQPMgIADzICAAQmBAA+EoAEBCYEAD8LIAYbPyUAIDQCAAw0AQA/CyAGLy0gBgw0AQAALSgGLy0gBgAtKAYUACIGFAAiBhQAIgYUACIGDTYBAA02AQANNgEADSIBAAAoBAAAKAQAHD8iGRc/3AgYODMJFTV8Bhc/9B0OP3QGDzYOAA0tDAkAPSQXAC+VBiI/xgkdP3sAHjdzABw0HgE+ACsVDT9bBhA2CgAAL4wGPh8rFQAvjAYXP3MHFz9zBxc/cwcWMiMGET9zBQ82DQAPNg0ADid0AAAz2QQCKQ0AHT8CAB0/AgAdPwIAHS4CADQAgAQRNAEAETQBAAYoBAA+FYAEBigEADcgIAYfP2EAIjYCAA42AQA3ICAGLjAgBg42AQAALygGLjAgBgAvKAYWACIGFgAiBhYAIgYWACIGDzgBAA84AQAPOAEADyQBAAErAQABKwEAHT9kGho/9AkaOjMJFzd8Bho/DB8RP7QGETgPAA8vDAkAP40WADFmBiU/hgogPwYBIDl+AB42HgE/BCsVET+zBhI4CgAAMWIGPiIrFQAxYgYZP+IHGT/iBxk/4gcYNCMGFD/LBRE4DgAROA4AECltAAA2oQQEKw0AHz8RAB8/EQAfPxEAHzACADcAgAQTNgEAEzYBAAgqBAA+GIAECCoEADogIAYiP6kAJDgCAA84AgA6ICAGNDAgBg84AgAAMSIGNDAgBgAxIgYYACIGGAAiBhgAIgYYACIGEToBABE6AQAROgEAESUCAAMtAQADLQEAHz8yHB0/bAscPDMJGTl8Bh0/RCAUP1wHEzoPABExBAkDPy0XAjNmBic/TAsiP70BIjt+ACA4GQE/CisVFT85BxQ6CgAAM0YGPiUrFQAzRgYcP1IIHD9SCBw/UggaNiMGFz9DBhM6DgATOg4AEittAAA6hAQGLQ0AIT8oACE/KAAhPygAITIEADoAgAQVOAEAFTgBAAosBAA+G4AECiwEAD0gIAYmPxIBJjoCABE6AgA9ICAGOjAgBhE6AgAAMyIGOjAgBgAzIgYaACIGGgAiBhoAIgYaACIGEzwBABM8AQATPAEAEycCAAUvAQAFLwEAIj+iHR8/fQ0ePjUJHDuEBh8/+yEXP4QIFTwVABMzDAkHP1AYBDViBio/OwwlP9ICJD59ACI6FgE3ICsVGj8ECBY8CQAANSwGLjArFQA1LAYeP+AIHj/gCB4/4AgcOCAGGT/SBhU8EQAVPBEAFS1xAAE9ggQJLw4AJD9KACQ/SgAkP0oAIzQCADUQgAQXOwEAFzsBAAsvAQA/HoAECy8BAD8jIAYrP7EBKDwEABQ8BAA/IyAGPzEgBhQ8BAAANSgGPzEgBgA1KAYcACAGHAAgBhwAIAYcACAGFT8AABU/AAAVPwAAFSoAAAcxAQAHMQEAJT9SHyI/Sw8gP2oJHj2EBiI/GSMaP/QJFz4VABU1DAkMP5sZBjdiBis/EQ0oPwIEJj+BACQ8FgE6ICsVHj/iCBg+CQAANykGNDArFQA3KQYgP2YJID9mCSA/ZgkeOiAGHD9iBxc+EQAXPhEAFy9xAAM/ggQLMQwAJj99ACY/fQAmP30AJTYCADgQgAQZPQEAGT0BAA4wBQA+IYAEDjAFAD8pIAYuP0kCKj4EABY+BAA/KSAGPzQgBhY+BAAANygGPzQgBgA3KAYeACAGHgAgBh4AIAYeACAGFz8EABc/BAAXPwQAFywAAAkzAQAJMwEAJz8UHiM/ug8iP9IJID5LBiU/JSEdP3gJGj8UABc3aAcPP+MXCTgcBS4/nQsrPwoEKD+pACU9wgA/G8MSID/oBxs/AQACOeUEPy3DEgI55QQiP9IJIj/SCSI/0gkgPCIGHT8ICBo/FAAaPxQAGDF0AAc/jAQNMwwAKD+pACg/qQAoP6kAJzgCADsQgAQbPwEAGz8BABAyBAA+JIAEEDIEAD8t4gQwP/QBLT8BABo/AAA/LeIELz7iBBo/AAAAOeQELz7iBAA55AQgACIGIAAiBiAAIgYgACIGGj8UABo/FAAaPxQAGS4AAAs1AQALNQEAKD+WGyU/Sw8lP4IKIj8rBiU/VR4eP4IIHD9NABo4nQUSP3sVCzmWAzA/yAksP7EDKz/hACg+WQA/H9gPIz94Bh4/CQAGOnUDPy/YDwY6dQMlP4IKJT+CCiU/ggoiPiIGIT+zCBw/TQAcP00AGjN0AAs/ywQPNQwAKz/hACs/4QArP+EAKToCAD4QgAQePwkAHj8JABI0BAA+J4AEEjQEAD8vdAMzP2QBLz8EACA/AAA/L3QDPzd0AyA/AAAAOnQDPzd0AwA6dAMiACIGIgAiBiIAIgYiACIGHD8pABw/KQAcPykAGzABAA03AQANNwEAKz9dGSg/Kg8nP0ALJD8wBig/RhsiP64HHz/OABw5ywMXPz8TDjsyAjI/FgguP0oDLj85ASs+GQA/I/YMJj8uBSI/LQALOyECPzH2DAs7IQInP0ALJz9ACyc/QAskPzAGIj+CCR8/zgAfP84AHTVyAA8/MQURNw4ALj85AS4/OQEuPzkBKz0AAD8VgAQiPy0AIj8tABM3AQA/KoAEEzcBAD8zIQI2P+EAMz8BACc/AAA/MyECPzkhAic/AAAAOyECPzkhAgA7IQIkACAGJAAgBiQAIAYkACAGHz9VAB8/VQAfP1UAHTIBAA85AQAPOQEALT/hFys/Yg8oP/kLJj9xBis/FhkjP1YHIj9tAR47iwIaP48REDw+ATM/ogYwPxoDMD+KAS0/AAA/J8EKKT9GBCY/agAPPDkBLzvBCg88OQEoP/kLKD/5Cyg/+QsmP3EGJT8yCiI/bQEiP20BHzdyABQ/ywUTOQ4AMD+KATA/igEwP4oBLT8AAD8bgAQmP2oAJj9qABU5AQA/LYAEFTkBAD82OQE3P4IANj8BAC0/AAA/NjkBPjs5AS0/AAAAPDkBPjs5AQA8OQEmACAGJgAgBiYAIAYmACAGIT+AACE/gAAhP4AAHzQBABE7AQAROwEALj8tFis/cg8rP5kMKD/kBi0/YRclPyYHJT9dAiA8mgEdPz8QEz2SADU/rgUzPwIDMj/tAS8/GQA/K+EILD+eAyk/wgATPZEAPzXhCBM9kQArP5kMKz+ZDCs/mQwoP+QGKD8CCyU/XQIlP10CITlxABc/ewYVOw4AMj/tATI/7QEyP+0BLz8ZAD8hgAQpP8IAKT/CABc7AQAvOIAEFzsBAD85kQA6PzoAOT8BADI/AQA/OZEAPzyRADI/AQAAPZEAPzyRAAA9kQAoACAGKAAgBigAIAYoACAGIj+5ACI/uQAiP7kAITYAABM9AQATPQEAMD8DFS4/ig8uP3kNKz+EBy4/phUoP04HJj96AyI94QAgP08PFj4rADY/2gQ1PykDMz9iAjE/ZQA/L1YHMD8qAyw/OgEXPikAPzdWBxc+KQAuP3kNLj95DS4/eQ0rP4QHKz/yCyY/egMmP3oDIztxABs/YQcXPQ4AMz9iAjM/YgIzP2ICMT9lAD8ngAQsPzoBLD86ARk9AQAvO4AEGT0BAD88KQA8PxEAPD8BADg/AQA/PCkAPj4pADg/AQAAPikAPj4pAAA+KQAqACAGKgAgBioAIAYqACAGJT/pACU/6QAlP+kAIzgAABU/AQAVPwEAMj8yFDA/8A8wP2AOLj+TCDA/UBQrP+cHKT/1BCU+hQAjP7wOGT8RADk/QAQ3P10DNj/QAjQ/8QA/MwAGMz8AAzE/zQEcPwAAPzkABhw/AAAwP2AOMD9gDjA/YA4uP5MILj8RDSk/9QQpP/UEJT1yACA/mAgZPxEANj/QAjY/0AI2P9ACND/xAD0xgAQxP80BMT/NARw/AAA/NoAEHD8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAsACIGLAAiBiwAIgYsACIGKD89ASg/PQEoPz0BJToCABk/EQAZPxEAMz9AETI/LQ4wP+AMLz8WCDI/OxEuPx8HKz9+BCc/MgAmPzwMHT80ADk/AAM5P0ACOD/5ATY/oAA/NSwENj8gAjM/QAEhPwEAPzosBCE/AQAwP+AMMD/gDDA/4AwvPxYILj9BCys/fgQrP34EJz4qACI/NgcdPzQAOD/5ATg/+QE4P/kBNj+gAD8wIAMzP0ABMz9AASE/AQA+OCADIT8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAuACIGLgAiBi4AIgYuACIGKj+aASo/mgEqP5oBJzwCAB0/NAAdPzQANT/yDjM/QAwzP0ALMT+pBzM/QA4uP08GLj8+BCk/BQApPxwKID90ADs/8gE5P4ABOT9AATg/dAA/N6sCNz9WATY/0AAnPwEAPzurAic/AQAzP0ALMz9ACzM/QAsxP6kHMD+QCS4/PgQuPz4EKT8FACU/FgYgP3QAOT9AATk/QAE5P0ABOD90AD8zAAI2P9AANj/QACc/AQA/OQACJz8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAwACAGMAAgBjAAIAYwACAGLT8CAi0/AgItPwICKT4CACA/dAAgP3QANj+gDDU/3Qo1PxkKMz9ABzU/+wswP7AFMD8gBCs/CgAsP1wIIz/UADw/EAE7P90AOz+5ADk/QAA/OYABOT/AADc/fQAtPwEAPzyAAS0/AQA1PxkKNT8ZCjU/GQozP0AHMz9ACDA/IAQwPyAEKz8KACg/NgUjP9QAOz+5ADs/uQA7P7kAOT9AAD82IAE3P30ANz99AC0/AQA+OyABLT8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAyACAGMgAgBjIAIAYyACAGLj9dAi4/XQIuP10CKz8KACM/1AAjP9QAADNpCgAkMgEAGgUAABbFAwAi/RYAFo4OABXaBgAOLhEAENcYAA1yEgAzaQoAJDIBABoFAAAWxQMRAP0WABaODgAV2gYADi4RIgD9FgAOLhEAGQAAABkAAAAZAAAADAEAAAwhAgAL1AAAC9QAAAZRAQAFXQIABXYBABkAAAAZAAAAGQAAAAwBAAYAIQIAC9QAAAvUAAAGUQEMACECAAZRARoAaQoAJDIBABoFAAAWxQMaAGkKMwBpCgAWxQMAEWkKMwBpCgARaQoAQeHxCwvHATlpCgAnygAAHQ0AABgyAwAnDRoAGYYPABb+BgAQ2hIAEnUcABCTFAA5aQoAJ8oAAB0NAAAYMgMTAQ0aABmGDwAW/gYAENoSJwANGgAQ2hIAHwAAAB8AAAAfAAAADwEAAA9JAwAMUQEADFEBAAftAQAHpgMABz4CAB8AAAAfAAAAHwAAAA8BAAgASQMADFEBAAxRAQAH7QEPAEkDAAftAR0AaQoAJ8oAARwCAAAYMgMdAGkKOQBpCgAYMgMAE2kKOQBpCgATaQoAQdHzCwvHAT9pCgAsdAABH0IAABu6AgAqdR0AHJ4QABk+BwASoRQAE08gABCjFgA/aQoALHQAAR8yAAAbugIPDXIdAByeEAAZPgcAEqEUHwZyHQASoRQAJAEAACQBAAAkAQAAEgEAABKxBAAO1AEADtQBAAjaAgAILQUACD4DACQBAAAkAQAAJAEAABIBAAkAsQQADtQBAA7UAQAI2gISALEEAAjaAiAAaQoALHQAAx4CAAAbugIgAGkKPwBpCgAbugIAFWkKPwBpCgAVaQoAQcD1CwvIAQE/3QoALzQAASGUAAAdYgIALi0hAB/WEQAbqgcAErEWABaXJAAS8RgCP8EKAC80AAIhgQAAHWICFwAtIQAf1hEAG6oHABKxFi4ALSEAErEWACoBAAAqAQAAKgEAABUBAAAVWQYAEH0CABB9AgAKxQMACg4HAApuBAAqAQAAKgEAACoBAAAVAQALAFkGABB9AgAQfQIACsUDFQBZBgAKxQMjAGkKAC80AAUgAQAAHWICIwBpCj8DaQoAHWICABdpCj8DaQoAF2kKAEGw9wsLyAECPyEMADMKAAEjKQEAIOEBADPGJQAhZRMAHkgIABUNGQAY/SkAExccAz+tCwAzCgACJAEBACDhARkBxSUAIWUTAB5ICAAVDRkvAsUlABUNGQAxAAAAMQAAADEAAAAZAQAAGYIIABNSAwATUgMACy0FAAtmCQAK8QUAMQAAADEAAAAxAAAAGQEADAGCCAATUgMAE1IDAAstBRkAgggACy0FJgBpCgAzCgAIIgIAACDhASYAaQo+B2kKACDhAQAZbQo+B2kKABltCgBBoPkLC5g0Az9tDQE2IQADJakBASHJAQA5xiUAJBUSAB92BgAYFRgAGgYrABZ3GwY/HQwCNQoABCYBAQEhuQEcAcUlACQVEgAfdgYAGBUYLwXFJQAYFRgBNSAAATUgAAE1IAABGyAAAB+CCAAWmgIAFpoCAA2IBAAO5gkADakFAjMAAAIzAAACMwAAAhsBAA8BgggAFpoCABaaAgANiAQfAIIIAA2IBCkAaQoBNgEACiQCAAAhigEpAGkKPgppCgAhigEAG20KPgppCgAbbQoBACAAAQAgAAEAIAABACAAAAYAAAAGAAAABgAAAAMAAAACDQAAAg0ABj9NDwI5gQADKGECASTxAQA/xiUAJ+UQACH6BAAZ9hYAHCMsABgFGwg/oQwENwoABigBAQMjuQEfAcUlACflEAAh+gQAGfYWLwjFJQAZ9hYCOYAAAjmAAAI5gAACHoEAACSECAAc6gEAHOoBABD6AwAQgwoADqEFBDUAAAQ1AAAENQAABB0BAA8HgggAHOoBABzqAQAQ+gMfA4IIABD6AywAaQoDOAEADCYCAAAkMgEsAGkKPg1pCgAkMgEAHW0KPg1pCgAdbQoCAIAAAgCAAAIAgAACAIAAAAwAAAAMAAAADAAAAAYAAAAFLQAABS0ABj+9EQM7KQEFKmEDAyZxAgI/FSYALbUPACSSAwAbzRUAH1stABvdGgs/MQ0GOQoACCoBAQUluQEiAMUlAC21DwAkkgMAG80VLwvFJQAbzRUDPSABAz0gAQM9IAEDICABACqECAAfUgEAH1IBABJhAwATOwsAEJMFBjcAAAY3AAAGNwAABh8BAA8NgggAH1IBAB9SAQASYQMfBoIIABJhAy8AaQoFOgEADigCAAAm4QAvAGkKPhBpCgAm4QAAH20KPhBpCgAfbQoDACABAwAgAQMAIAEDACABABIAAAASAAAAEgAAAAkAAAAIbQAACG0ACT/+FAQ+OgIGLPUEBChJAwM/JScAL6EOACdRAgAerhQAJP0uAByaGg4/5g0IOwkACiz+AAcnvgElAcUlAC+hDgAnUQIAHq4UPwbFJQAerhQEPzECBD8xAgQ/MQIEIyICADGCCAAi2gAAItoAABXVAgAWLQwAE5kFCDoBAAg6AQAIOgEACCECABgBgggAItoAACLaAAAV1QIxAIIIABXVAjIAaQoHPAEAECoFAAApnQAyAGkKPhNpCgApnQAAIW0KPhNpCgAhbQoEACECBAAhAgQAIQIEACECABkAAAAZAAAAGQAAAAwBAAAL1AAAC9QACz/OGAY/iQMHL44GBCpOBAY/1SgAMp0NACppAQAgvhMAJI0wAB+KGg8/fg4KPQkADC7+AAkpvgEoAcUlADKdDQAqaQEAIL4TPwnFJQAgvhMGP4UDBj+FAwY/hQMFJUoDADeCCAAmfQAAJn0AABh1AgAZJQ0AFtEFCjwBAAo8AQAKPAEACiMCABsBgggAJn0AACZ9AAAYdQI3AIIIABh1AjUAaQoJPgEAEiwFAAArdQA1AGkKPhZpCgArdQAAI20KPhZpCgAjbQoFAEkDBQBJAwUASQMFAEkDAB8AAAAfAAAAHwAAAA8BAAAMUQEADFEBDD+2HAc/qgUJMI4IBiyOBQY/JSsANd0MAC3BAAAjBhMAJx0yACCXGhE/QQ8MPwkADjALAQsrvgErAcUlADXdDAAtwQAAIwYTPwzFJQAjBhMHP1kFBz9ZBQc/WQUGKLIEAD2CCAAqNQAAKjUAABkIAgAcPQ4AGCUGDD4BAAw+AQAMPgEADCUCAB4BgggAKjUAACo1AAAZCAI9AIIIABkIAjgAaQoMPwgAFC4FAAAtSAA4AGkKPhlpCgAtSAAAJW0KPhlpCgAlbQoGALEEBgCxBAYAsQQGALEEACQBAAAkAQAAJAEAABIBAAAO1AEADtQBDj+mIQk/UQgJM8YKBi8eBwk/9S0AOTUMAC9RAAAkFRIAKs0zACPHGhQ/8Q8PPzEAEDIBAQ0tvgEuAcUlADk1DAAvUQAAJBUSPw/FJQAkFRIJP40HCT+NBwk/jQcHKloGAT+kCAAtDQAALQ0AABulAQAfdQ8AGYkGDj8CAA4/AgAOPwIADicCACEBgggALQ0AAC0NAAAbpQE/AoIIABulATsAaQoPPygAFjACAAAvLQA7AGkKPhxpCgAvLQAAJ20KPhxpCgAnbQoHAFkGBwBZBgcAWQYHAFkGACoBAAAqAQAAKgEAABUBAAAQfQIAEH0CDz9lJws/cQwLNZkNCDEhCQs/LTIAPo4LADIOAAAmHREALeo1ACQeGxc/3hARP5oAEjT+AA4wyAExAcUlAD6OCwAyDgAAJh0RLhvFJQAmHREKP50KCj+dCgo/nQoILYQIAz9aCQAxAAAAMQAAAB49AQAh2hAAHBMHET8KABE/CgARPwoAECkBAB8MgggAMQAAADEAAAAePQE+BoIIAB49AT4BaQoUP3EAGDIEAAAyDQA+AWkKPx9pCgAyDQAAKm0KPx9pCgAqbQoIAIQICACECAgAhAgIAIQIADEAAAAxAAAAMQAAABkBAAATUgMAE1IDET++LAw/LxAMNy0QCTP1Cgw/6zUAPzcLATQSAAApVhAAMmo3ACf/Gho/xhEUPzIBFDb+ABExvgE0AcUlAD82CwE0CQAAKVUQLh7FJQApVRAMP1YNDD9WDQw/Vg0JL3EKAz+DCgE0DgABNA4AACD1AAAk6xEAH3IHEz8ZABM/GQATPxkAEisBAB8SgggCMwAAAjMAAAAg9AA+CYIIACD0AD8FaQoXP8EAGjQEAAA0BAA/BWkKPyJpCgA0BAAALG0KPyJpCgAsbQoJAG0KCQBtCgkAbQoJAG0KADcBAAA3AQAANwEAABwCAAAW8QMAFvEDFD/WLg8/3xEOOS0QCzX1Cg8/czcDP8cLAzYSAAArGhAANWo1AClpGB0/zhIXPwoCFjj+ABMzvgE3AcUlAz++CwM2CQAAK8kPLyDFJQAryQ8OP+kNDj/pDQ4/6Q0LMW4KBj/rCgM2DgADNg4AAiL1AAAngxAAIb4FFT86ABU/OgAVPzoAFC0BACIRgggENQAABDUAAAAjtAA+DIIIACO0AD8LaQoaPzEBHDYEAAI2BAA/C2kKPyVpCgI2BAAALm0KPyVpCgAubQoLAG0KCwBtCgsAbQoLAG0KAjkBAAI5AQACOQEAAh4CAAAZIQMAGSEDFj8KMRE/yhMQOxYQDTf1ChE/FjkGP7cMBTgSAAEt7g8AOIozACwBFh8/4hMaPyIDGDr+ABU1vgE6AcUlBz9+DAU4CQAALQYPNSDFJQAtBg8PP34ODz9+Dg8/fg4NM24KCT9zCwU4DgAFOA4ABCT1AAAqOw8AJFYEFz9aABc/WgAXP1oAFi8BACURgggGNwAABjcAAAAliAA+D4IIACWIAD8RaQoeP7oBHjgEAAQ4BAA/EWkKPyhpCgQ4BAAAL3UKPyhpCgAvdQoNAG0KDQBtCg0AbQoNAG0KBDsBAAQ7AQAEOwEABB8FAAAccQIAHHECFz9KMxQ/ShYSPRoQDzn3ChQ//joJPykOBzsPAAMv9g8AO44xAC+jEyI/ChUdP5EEGjwBARc4vgE+AMUlDD+NDQc7CwAAL0oOPh/FJQAvSg4RP0EPET9BDxE/QQ8QNXUKDD8oDAc6CQAHOgkABib2AAAt+A0AJvMCGj+IABo/iAAaP4gAGDEEADEAgggIOQIACDkCAAAnVQA+EoIIACdVAD8XaQoiP3QCIDsCAAQ7AgA/F2kKPytpCgQ7AgAAMm0KPytpCgAybQoPAHUKDwB1Cg8AdQoPAHUKBzwEAAc8BAAHPAQAByEFAAAhqAEAIagBGj9SNRc/6hgUPxoQETvvChc/xjwMP+EPCT0PAAYx6g8APvYvADG2ESQ/QhYePxQGHD4BARk6vgE/BMUlDz+lDgk9CwAAMbYNPiLFJQAxtg0UP8kPFD/JDxQ/yQ8ROG4KDz/oDAk8CQAJPAkACCj2AAAy9QwAKfMBHT/IAB0/yAAdP8gAGjMEADQAgggKOwIACjsCAAAqLQA+FYIIACotAD8daQolPzQDIj0CAAY9AgA/HWkKPy5pCgY9AgAANG0KPy5pCgA0bQoRAG0KEQBtChEAbQoRAG0KCT4EAAk+BAAJPgQACSMFAAAkKAEAJCgBHT+aNxc/ihsXP5IQEz3vCho/rj4PP/kRCz8PAAgz6g8APxMvADIOECU/chciP8UHHz8OARs8vgE/CsUlFD/xDws/CwAANC4NPiXFJQA0Lg0XP5EQFz+REBc/kRATOm4KET+dDQs+CQALPgkACir2AAA1/QsAKzIBHz8NAR8/DQEfPw0BHDUEADcAgggMPQIADD0CAAAsEgA+GIIIACwSAD8jaQopPw0EJD8CAAg/AgA/I2kKPzFpCgg/AgAANm0KPzFpCgA2bQoTAG0KEwBtChMAbQoTAG0KCz8FAAs/BQALPwUACyUFAAAowQAAKMEAHz9HNRo/XRsZP2YRFT6hChw/ZDsRP70QDT8YAAk0gQ0APwwrADQlDCg/BRUiP2IHIT9aAR09KAE+EAgiFz80Dg4/AgAANXQKPicIIgA1dAoZP2YRGT9mERk/ZhEVPG4KEz97Dg0/GAANPxgADCz2AAA4JQsALZkAIT9aASE/WgEhP1oBHjcEADoAgggOPwIADj8CAAAuCgA+G4IIAC4KAD8ngggsP2gDJz8BAA4/AQA/J4IILzuCCA4/AQAAN4QILzuCCAA3hAgVAG0KFQBtChUAbQoVAG0KDT8UAA0/FAANPxQADScFAAAtaAAALWgAIT/eMR0/EhsaP1YSGD99Ch0/vjYUPzoPED9lAA01ogoDP0knADZRCCs/URIlP7YGJD/EASA+pAA/E5odGj8GDBI/EQAAN3EHPymaHQA3cQcaP1YSGj9WEho/VhIYPW4KFj94DxA/ZQAQP2UADi/yAAA7WgoAMDEAJD/EASQ/xAEkP8QBITkEADUQgggSPxEAEj8RAAAxAQA/HoIIADEBAD8qWQYuP4oCKj8AABU/AAA/KlkGPjVZBhU/AAAAOFkGPjVZBgA4WQYYAG0KGABtChgAbQoYAG0KDz8yAA8/MgAPPzIADyoCAAAwKAAAMCgAIj/CLh8/ORsdPw4TGj9uCh8/aTMVPzYOEj/lAA83YggGP2EkADiCBSs/ARAoP04GJT8dAiI+RQA6IAUaHT9eChU/QQAAOEIFNDAFGgA4QgUdPw4THT8OEx0/DhMaP24KFz9uEBI/5QASP+UADzHyAAA+ygkAMwkAJT8dAiU/HQIlPx0CIzsEADgQgggVP0EAFT9BAAIzAQA+IYIIAjMBAD8tsQQwP+EBLT8AABs/AAA/LbEEPzaxBBs/AAAAObEEPzaxBAA5sQQaAG0KGgBtChoAbQoaAG0KET9VABE/VQARP1UAECwEAAAzCAAAMwgAJT9qLCE/LhsfPxkUHD+eCiI/5y8XP1INFT+VARE4gQYJP9khADmJAy4/AQ4rPyYGKD99AiQ/FAA/G8UWID/2CBo/ggAAOYUDPy3FFgA5hQMfPxkUHz8ZFB8/GRQcP54KGj9OERU/lQEVP5UBEjL2AAA/2AkCNQkAKD99Aig/fQIoP30CJT0EADsQgggaP4IAGj+CAAQ1AQA+JIIIBDUBAD8wSQMzP1EBMD8BACE/AAA/MEkDPjhJAyE/AAAAOkkDPjhJAwA6SQMcAG0KHABtChwAbQocAG0KFD91ABQ/dQAUP3UAEi4EAAE2AQABNgEAJT8qKiI/7xoiP/4UHj/9CiQ/Ni0aP8oMFz9uAhM5xgQNP6ofATsyAjA/YgwrP9YFKz/9Aic/BAA/H9oTIj/OBx0/2gAAOyoCPy/aEwA7KgIiP/4UIj/+FCI//hQeP/0KHT9OEhc/bgIXP24CFDT2AAQ/mgoENwkAKz/9Ais//QIrP/0CJz8EAD4QgggdP9oAHT/aAAY3AQA+J4IIBjcBAD8zIQI2P+EAMz8BACc/AAA/MyECPzkhAic/AAAAOyECPzkhAgA7IQIeAG0KHgBtCh4AbQoeAG0KFj+0ABY/tAAWP7QAFS8FAAM4AQADOAEAKD/VJyU/EhskPy4WID+xCyU/HCodP50MGj+xAxU7VQMRP6kdBDwlATA/xAouP64FLT+SAyk/JQA/I/gQJj/MBiA/aAECPCEBPzH4EAI8IQEkPy4WJD8uFiQ/LhYgP7ELHz/LExo/sQMaP7EDFjfyAAk/owsGOQoALT+SAy0/kgMtP5IDKT8lAD8VggggP2gBID9oAQg5AQA/KoIICDkBAD82IAE3P30ANj8AAC0/AQA/NiABPjsgAS0/AQAAPCABPjsgAQA8IAEgAG0KIABtCiAAbQogAG0KGT/6ABk/+gAZP/oAFzICAAU7AgAFOwIAKz9tJig/ghslPzkXIj9+DCg/3CcgPxANHT8JBRg7TQIUPzkcBz2CADM/hAkwP7QFMD8kBCs/egA/J8MOKT8sBiU/+QEGPYEALzvDDgY9gQAlPzkXJT85FyU/ORciP34MIj+4FB0/CQUdPwkFGDnyAA0/vQwIOwoAMD8kBDA/JAQwPyQEKz96AD8bggglP/kBJT/5AQo7AQA/LYIICjsBAD85gAA6PzUAOT8AADM/AAA/OYAAPzyAADM/AAAAPYAAPzyAAAA9gAAiAG0KIgBtCiIAbQoiAG0KGz9RARs/UQEbP1EBGTQCAAc9AgAHPQIAKz/dJCg/8hsoPzEYJT9+DSo/NyYiP0YNID/MBho9jQEXPykbCT4lADU/xggzP+QFMj+9BC4/+gA/K+MMLD/MBSg/oQIKPiEAPzXjDAo+IQAoPzEYKD8xGCg/MRglP34NJT/4FSA/zAYgP8wGGjvyABE/BQ4KPQoAMj+9BDI/vQQyP70ELj/6AD8hgggoP6ECKD+hAgw9AQAvOIIIDD0BAD88IAA9Pw0APD8AADk/AAA/PCAAPj4gADk/AAAAPiAAPj4gAAA+IAAkAG0KJABtCiQAbQokAG0KHT+VAR0/lQEdP5UBGzYCAAk/AgAJPwIALj+1Iys/QhwrP2kZKD/eDis/fCQlPyYOIj9lCBs+FQEbP3QaDD8KADY/BAg1P0EGMz9EBTA/tAE/L1gLLz+sBSw/aAMOPwEAPzdYCw4/AQArP2kZKz9pGSs/aRkoP94OKD9YFyI/ZQgiP2UIHD3yABU/cw8MPwoAMz9EBTM/RAUzP0QFMD+0AT8ngggsP2gDLD9oAw4/AQAvO4IIDj8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAmAG0KJgBtCiYAbQomAG0KID8IAiA/CAIgPwgCHTgCAAw/CgAMPwoALj+hHy4/bhkrPwUXKT8VDi4/ih8lP6wMJT/jBx4+gQAeP6IWED86ADg/GwY2P4kENj/5AzM/UQE/MXYIMT87BC4/igIVPwAAPzh2CBU/AAArPwUXKz8FFys/BRcpPxUOKD92FCU/4wclP+MHHj5xABg/SQ0QPzoANj/5AzY/+QM2P/kDMz9RAT8qWQYuP4oCLj+KAhU/AAA+NVkGFT8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAoAGkKKABpCigAaQooAGkKIj9iAiI/YgIiP2ICHzoAABA/OgAQPzoAMD/9Gy4/3hYuP80UKz9qDS4/ihsoP3QLJT+jByA+OQAgP50TFD91ADk/cQQ2P3kDNj/pAjQ/+gA/M0EGMz8hAzA/4QEbPwAAPzlBBhs/AAAuP80ULj/NFC4/zRQrP2oNKz8OEiU/owclP6MHID4pABs/oQsUP3UANj/pAjY/6QI2P+kCND/6AD8tsQQwP+EBMD/hARs/AAA/NrEEGz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAqAGkKKgBpCioAaQoqAGkKJT/aAiU/2gIlP9oCITwBABQ/dQAUP3UAMj8PGTA/nRQwPw0TLT8CDTA/5RcrP5wKKD8zByM/CgAjP/UQFz/NADk/IQM5P2ECOD8SAjY/qQA/NWEEND87AjM/UQEhPwAAPzphBCE/AAAwPw0TMD8NEzA/DRMtPwINLT8yECg/MwcoPzMHIz8KAB4/OQoXP80AOD8SAjg/EgI4PxICNj+pAD8wSQMzP1EBMz9RASE/AAA+OEkDIT8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAsAGkKLABpCiwAaQosAGkKJz9hAyc/YQMnP2EDIz4BABc/zQAXP80AMz8FFjI/2hIwP10RLz91DDA/9RQrP9wJKz8DByU/BQAlP6YOGz9AATs/EwI5P5EBOT9RATc/egA/N9YCNz9rATY/4QAnPwAAPzvWAic/AAAwP10RMD9dETA/XREvP3UMLj9GDis/AwcrPwMHJT8FACA/GQkbP0ABOT9RATk/UQE5P1EBNz96AD8zIQI2P+EANj/hACc/AAA/OSECJz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAuAGkKLgBpCi4AaQouAGkKKD/yAyg/8gMoP/IDJT8FABs/QAEbP0ABAz8IKQA+EAYALKkAACYaDwA5kUYAJ3gvACPTFwAYqDYAGt9LABZKOgY/6CcAPhAGACypAAAmGg8UEZFGACd4LwAj0xcAGKg2OQCRRgAYqDYAIwAAACMAAAAjAAAAEQEAABFRBAAOqAEADqgBAAiaAgAIwQQAB/4CACMAAAAjAAAAIwAAABEBAAkAUQQADqgBAA6oAQAImgIRAFEEAAiaAiIRICQAPhAGACypAAAmGg8iESAkPgwgJAAmGg8AHCgkPgwgJAAcKCQAQeCtDAvIAQU/IiwAPz0FAC9BAAAm+g0APYZLACooMQAkzRcAGGg5ABxyUQAYaD0GPygqAD89BQAvQQAAJvoNHgGGSwAqKDEAJM0XABhoOT0AhksAGGg5ACkAAAApAAAAKQAAABQBAAAU6QUAEEkCABBJAgAKhQMACZEGAAguBAApAAAAKQAAACkAAAAUAQAKAekFABBJAgAQSQIACoUDFADpBQAKhQMlESAkAD89BQAvQQAAJvoNJREgJD4PICQAJvoNAB4oJD4PICQAHigkAEHQrwwLyAEGP6gvAD8tBQAxCQAAKeIMAD/hUAAq6DIAJgMYABsoPAAfmlcAGfJACT/4LAA/LQUAMQkAACniDB8D0VAAKugyACYDGAAbKDw/AdFQABsoPAAvAAAALwAAAC8AAAAXAQAAF8EHABMBAwATAQMAC7IEAAuRCAAKXgUALwAAAC8AAAAvAAAAFwEADADBBwATAQMAEwEDAAuyBBcAwQcAC7IEMAEgJAA/LQUAMQkAACniDDABICQ/ESAkACniDAAgIiQ/ESAkACAiJABBwLEMC8gBBj/oMwA/HQYAMwQAACzqCwI/xlYALbg0AClTGAAcYT8AHxpeABt4RAk/ODAAPx0GADMEAAAs6gsiAXFWAC24NAApUxgAHGE/PwNxVgAcYT8ANQAAADUAAAA1AAAAGgEAABrZCQAW2QMAFtkDAA3tBQAL8QoAC+YGADUAAAA1AAAANQAAABoBAA0B2QkAFtkDABbZAwAN7QUaANkJAA3tBTMBICQBPxAGATMAAAAs6gszASAkPxQgJAAs6gsAIiIkPxQgJAAiIiQAQbCzDAvIAQY/4jkBPzoIADY6AAAv6AoDPxteADL7NgAqxRgAHtJCACHTZQAcBEkMP6I0Az8dCAE2MgAAL+gKHwwrXQAy+zYAKsUYAB7SQj4GK10AHtJCADsBAAA7AQAAOwEAAB4AAAAegAwAGeoEABnqBAANlAcADtYNAA21CAA7AQAAOwEAADsBAAAeAAAPAIAMABnqBAAZ6gQADZQHHgCADAANlAc3ACAkBj9dBwM1AgAAL+gKNwAgJD4YICQAL+gKACQoJD4YICQAJCgkAEGgtQwLyAEJP4I/Az/9CgE4jQAAMQEKBD9zZQAyGzkALTUZACBMRgAkE20AHvJMDD8COQM/bQoCOHoAADEBCiYBgGMAMhs5AC01GQAgTEYtEIBjACBMRgA/CQAAPwkAAD8JAAAhAQAAISAPABn6BQAZ+gUAEEoJAA7GEAAOnQoAPwkAAD8JAAA/CQAAIQEAEAEgDwAZ+gUAGfoFABBKCSEAIA8AEEoJOgAgJAk/nQgFNwIAADEBCjoAICQ+GyAkADEBCgAmKCQ+GyAkACYoJABBkLcMC99QCT9WRQM/IQ4BOv4AADI+CQY/q2sANSs6AC/xGAAguEgAJ1NzACDxTw8/Jj0GP2ENAjvOAAAyPgkpAHhoADUrOgAv8RgAILhIPgp4aAAguEgBP2UAAT9lAAE/ZQAAJAUAACREEQAcggYAHIIGABBSCgAQQxMAEAsMAj9IAAI/SAACP0gAASMEAA8HQhEAHIIGAByCBgAQUgofA0IRABBSCj0AICQNP/oJBzkCAAAyOgk9ACAkPh4gJAAyOgkAKCgkPh4gJAAoKCQAAAQAAAAEAAAABAAAAAQAAAIAAAACAAAAAgAAAAEAAAABAQAAAQEADD9mSgQ/9hEDPH4BADS9CAY/G24AOws4ADLLFQAjuEYAJwN1ACFZTxE/2z4HP84PBD3OAAA0vQgsAHhoADsLOAAyyxUAI7hGPg14aAAjuEYCPwgBAj8IAQI/CAEBJjQAACpEEQAhZQUAIWUFABJlCQAT+xMAEqULBD91AAQ/dQAEP3UAAyUEAA8NQhEAIWUFACFlBQASZQkfBkIRABJlCT8CICQRP3oLCTsCAAA0WQg/AiAkLikgJAA0WQgAKigkLikgJAAqKCQBADQAAQA0AAEANAABADQAAAgAAAAIAAAACAAAAAQAAAADFAAAAxQADD9pUAY/mhYEP3ECATjGCAk/VHEAPqg1ADWYEgAmu0QALfR2ACR2ThQ/7EAJP7oSBj/NAAE4tggnEHhoAD6oNQA1mBIAJrtEPhB4aAAmu0QEP00CBD9NAgQ/TQICKbkAADFCEQAkSQQAJEkEABVpCAAW7RQAFXkLBj+pAAY/qQAGP6kABScCABgBQhEAJEkEACRJBAAVaQgxAEIRABVpCDsQICQUPzQNCz4EAAA3bQc7ECAkPiQgJAA3bQcALSIkPiQgJAAtIiQCALkAAgC5AAIAuQACALkAAA4BAAAOAQAADgEAAAcBAAAFSAAABUgADz9lVAk/whoFP9IDAjmyCAs/+3IAP74yADd6DwApw0EALbh2ACY8TBY/NkEMP2IUCT/hAAQ4UggxAZNmAD++MgA3eg8AKcNBLhuTZgApw0EFP9IDBT/SAwU/0gMDK3IBADdCEQAncQMAJ3EDABiZBwAZ5RUAFkkLCT/hAAk/4QAJP+EABykCABsBQhEAJ3EDACdxAwAYmQc3AEIRABiZBz8OEiMXPwgODj8BAAA6WQY/DhIjLi8SIwA6WQYALhojLi8SIwAuGiMDAHEBAwBxAQMAcQEDAHEBABQAAAAUAAAAFAAAAAoBAAAIiAAACIgADz+VUgk/chsGP8kFAzryBww/OG4AP44sADg0CwApQzoAMMxwACe+RRc/+DsPPwITCz8yAQY60gY0ADNfAD+OLAA4NAsAKUM6PhUzXwApQzoGP8kFBj/JBQY/yQUELmkCAD1CEQAtsQIALbECABvpBgAc/RYAGEkLCz8yAQs/MgELPzIBCSsCAB4BQhEALbECAC2xAgAb6QY9AEIRABvpBjcgAh8aP2gMED8BAAA6aQQ3IAIfLjACHwA6aQQALwofLjACHwAvCh8EAGkCBABpAgQAaQIEAGkCABoAAAAaAAAAGgAAAA0BAAAL6AAAC+gAET9xUQk/Ih0IPzoIBDuyBww/WGoAP14nADrCBwAqnjMAMt1qACmUPxo/WDcRP8wRDj+KAQk6ggUvDihYAD9eJwA6wgcAKp4zPhcoWAAqnjMIPzoICD86CAg/OggFMKIDAT9kEQAvCQIALwkCABxABgAfNRgAG2kLDj+KAQ4/igEOP4oBCy0CACEBQhEALwkCAC8JAgAcQAY/AkIRABxABjghMhsdP+gKEz8BAAA75AI4ITIbMTAyGwA75AIAMDQbMTAyGwAwNBsFAKEDBQChAwUAoQMFAKEDACAAAAAgAAAAIAAAABAAAAAOaAEADmgBET+rUAw/8h4JP2kLBTwECA8/nmYAP7oiADuCBAAsLSwANRNlACpCORo/WjIUP54QED/tAQo7NAQ4AKJQAD+6IgA7ggQALC0sPhmiUAAsLSwJP2kLCT9pCwk/aQsGM1AFAz8aEgAyWgEAMloBAB96BQAhmhkAHKsLED/tARA/7QEQP+0BDTABAB8MQhEAMloBADJaAQAfegU+BkIRAB96BT8XNRceP1IJFz8BAAA9hAE/FzUXPys1FwA9hAEAMTkXPys1FwAxORcGAFAFBgBQBQYAUAUGAFAFACcAAAAnAAAAJwAAABMBAAAQCgIAEAoCFD/LUAw/giELP9AOBzzBCA8/3mMBP5ofADuCAgAtaiYANRNgACwmNB0/Ei4UP74PET9iAg07JAM6AE1KAz9yHwA7ggIALWomPhtNSgAtaiYLP9AOCz/QDgs/0A4INRAHAz9aEwA36AAAN+gAACHZBAAkChsAH+sLET9iAhE/YgIRP2ICDzIBAB8SQhEAN+gAADfoAAAh2QQ+CUIRACHZBD8a7RMiPwIIGj8BAAA9pAA/Gu0TPi3tEwA9pAAAMvETPi3tEwAy8RMHABAHBwAQBwcAEAcHABAHAC0AAAAtAAAALQAAABYBAAATwgIAE8ICFD/rUA8/KiQMP3kSCD35CRE/62EDPzIdAD0IAQAvtSAAOJtbAC1qLx8/ZioXP7YOFD+6AhA8UgI8AE1EBj9qHAA9CAEAL7UgOCBNRAAvtSAMP3kSDD95Egw/eRIIOBAJBj8KFQA7ggAAO4IAACM0BAAnmhwAIVkMFD+6AhQ/ugIUP7oCETMCACIRQhEAO4IAADuCAAAjNAQ+DEIRACM0BD8d5RAjP8UGHT8BAAA+KQA/HeUQPy7lEAA+KQAAM+kQPy7lEAAz6RAIABAJCAAQCQgAEAkIABAJADIBAAAyAQAAMgEAABkBAAATkgMAE5IDFD8LUg8/eicOP9AWCT6xCxE/a2ADP2IbAD5KAAAxyRsAOJtXAC9WKyE/1SYaP+4NFz8yAxE9kgE+AKI+CT+iGQA+SgAAMckbPh+iPgAxyRsOP9AWDj/QFg4/0BYKOlALBj9KFwA+OgAAPjoAACakAwAqSh4AI/UMFz8yAxc/MgMXPzIDEzUCACURQhEAPjoAAD46AAAmpAM+D0IRACakAz8gHQ4mP6UFID8BAAA/AAA/IB0OPTAdDgA/AAAANCEOPTAdDgA0IQ4JAFALCQBQCwkAUAsJAFALADgBAAA4AQAAOAEAABwBAAAWagQAFmoEFz+ZUxE/nSsPP+UbCj85DhQ/1V8GP2oaAD9RAAAxcRYAO1VTAC8MJyI/wSIdP0QNGj/QAxQ94AA4EKg4DD/KFgE/RAAAMXEWPiGoOAAxcRYPP+UbDz/lGw8/5RsLPSEOCT90GgA/UQAAP1EAACkaAwAtRCAAJrsNGj/QAxo/0AMaP9ADFTgAADEAQhEBP0QAAT9EAAApGgM+EkIRACkaAz8jSAspP4QEIz8AAAc/AAA/I0gLPzFICwc/AAAANVALPzFICwA1UAsLACEOCwAhDgsAIQ4LACEOAD8AAAA/AAAAPwAAACABAAAZhQUAGYUFFz+ZVRE/HTARPxkhDD/qEBQ/dV8GP/oZAj8qAQA0cRIAPh1QADHFIyU/2R8dP8QMHD9pBBc9gAA/BrMzDz+KFAY/kQAANHESPiOzMwA0cRIRPxkhET8ZIRE/GSEMP+oQCT/UHQI/KgECPyoBACqxAgAtJCIAJ2kOHD9pBBw/aQQcP2kEFzoAADQAQhEGP5EABj+RAAAqsQI+FUIRACqxAj8mCAkrP50DJj8AAA0/AAA/JggJPjMICQ0/AAAANhAJPjMICQA2EAkMAOkQDADpEAwA6RAMAOkQAT80AAE/NAABPzQAACIBAAAcnQYAHJ0GGj9xWBQ/lTQRP5kmDT8xFBQ/FWAGP4oaAz+JAgA0gQ4APj1NADLdICU/6RwgP20MHT8ABRg+MAA/CxMvEj+KEgk/6QAANIEOLy0TLwA0gQ4RP5kmET+ZJhE/mSYNPzEUDD/EIQM/iQIDP4kCAC05AgAyHSQAKkEPHT8ABR0/AAUdPwAFGTwAADcAQhEJP+kACT/pAAAtOQI+GEIRAC05Aj8pCAcuP9UCKT8AABM/AAA/KQgHPzQIBxM/AAAANxAHPzQIBwA3EAcNAPETDQDxEw0A8RMNAPETAj+5AAI/uQACP7kAACUBAAAf1QcAH9UHGj8xWxQ/1TkUP7EsDj8aGBc/PWEJP5obBD/UBAA1VAsAPzxLADS1Hig/YRoiP94LID+5BRs/CQA+EMgqFT/KEAw/YQEANVQLPifIKgA1VAsUP7EsFD+xLBQ/sSwOPxoYDD8kJgQ/1AQEP9QEAC/KAQAyPSYALVkQID+5BSA/uQUgP7kFGz4AADoAQhEMP2EBDD9hAQAvygE+G0IRAC/KAT8sSAUwPyACLD8AABk/AAA/LEgFPjZIBRk/AAAAOFAFPjZIBQA4UAUOADkXDgA5Fw4AORcOADkXAz+QAQM/kAEDP5ABACgBAAAhIAkAISAJGj97Xxc/H0AUP8szDz8YHRc/I2MJP7YdBj/lBwA3/QcAP+ZJADVrHCg//RclP6ILIj9ZBh0/CgA/E1omGD8eDxE/EgIAN/0HPylaJgA3/QcUP8szFD/LMxQ/yzMPPxgdDz/SKwY/5QcGP+UHADFtAQA1uygALZ0RIj9ZBiI/WQYiP1kGHT8KADUQQhERPxICET8SAgAxbQE/HkIRADFtAT8vnQMzP3kBLz8BAB8/AQA/L50DPzedAx8/AQAAOqEDPzedAwA6oQMPADQbDwA0Gw8ANBsPADQbAz8BAwM/AQMDPwEDACwAAAAkuQoAJLkKHT+LYxc/P0YWP9o6ET8jIhc/42UMP24gBj+VCwA4sgUAP8ZJADUrGys/zRUoP6oLJT8JByA/QQA6IMUiGz/mDRQ/ugIAOLIFNDDFIgA4sgUWP9o6Fj/aOhY/2joRPyMiDz9SMQY/lQsGP5ULADQVAQA4AysAMeESJT8JByU/CQclPwkHID9BADgQQhEUP7oCFD+6AgA0FQE+IUIRADQVAT8yZQI0P/oAMj8AACU/AAA/MmUCPjllAiU/AAAAO2kCPjllAgA7aQIQAAofEAAKHxAACh8QAAofBT+gBAU/oAQFP6AEAC8AAAAkSQwAJEkMHT8raBo/70wXP/tBEj/eJxo/q2gMP54jCT/FDwA6pQMAP6ZKADgrGi4/PRQoP5oLKD/ZByI/oAA/G4UfHj/uDBc/ggMAOqUDPy2FHwA6pQMXP/tBFz/7QRc/+0ESP94nET9jNwk/xQ8JP8UPADfdAAA7ay0AMvsTKD/ZByg/2QcoP9kHIj+gADsQQhEXP4IDFz+CAwA33QA+JEIRADfdAD81bQE3P5IANT8AACs/AAA/NW0BPzptASs/AAAAPHEBPzptAQA8cQEQABojEAAaIxAAGiMQABojBj+BBgY/gQYGP4EGADIBAAAn2Q0AJ9kNHz8TaBo/B08aP0NFFD9zKho/o2cPP0olDD8ZEwA7TgIAP65IADhLFi4/rRIrP6ILKj+0CCU/QAE/H5ocID8+DBs/ZQQAOyoCPy+aHAA7KgIaP0NFGj9DRRo/Q0UUP3MqFD/DOgw/GRMMPxkTATi5AAA+MywANTsSKj+0CCo/tAgqP7QIJT9AAT4QQhEbP2UEGz9lBAA4ogA+J0IRADiiAD84tQA5P0kAOD8AADE/AAA/OLUAPjy1ADE/AAAAPbkAPjy1AAA9uQASACIkEgAiJBIAIiQSACIkCD+0Bwg/tAcIP7QHATQEAAAqDQ0AKg0NIj+WZR0/sE8cP2FHFz94LB0/iGQRP4gmDD9eFgI8bgEAP79GADtkETA/VBEuP+oLKz+hCSg/MgI/I7gZJT++Cx4/jQUAPe0APzG4GQA97QAcP2FHHD9hRxw/YUcXP3gsFz9YPQw/XhYMP14WAzu9AAA/hioAOFQPKz+hCSs/oQkrP6EJKD8yAj8VQhEeP40FHj+NBQA7ZAA/KkIRADtkAD87NAA8PxQAOz8BADg/AAA/OzQAPz00ADg/AAAAPjQAPz00AAA+NAAUACgkFAAoJBQAKCQUACgkCT+dCAk/nQgJP50IBDYBAAAtbQsALW0LIj+2Yx8/8VAdPwxJGD+RLh8/v2IUPxgoDz9eGQQ+7gAEPwRGADsEDjM/hBAwP0QMLj9pCik/QQM/J4MXKD+OCyI/nQYAPlQALzuDFwA+VAAdPwxJHT8MSR0/DEkYP5EuFz+YPw8/XhkPP14ZBT29AAA/ZioAOwQNLj9pCi4/aQouP2kKKT9BAz8bQhEiP50GIj+dBgA9PQA/LUIRAD09AD8+BAA/PwQAPj8BAD4/AAA/PgQAPj8EAD4/AAAAPwQAPj8EAAA/BAAWACgkFgAoJBYAKCQWACgkDD9VCQw/VQkMP1UJBjgBAAAy0AkAMtAJJT+6XiI/t00fP/lGGj8sLiI/pVwUPxwnET+4GQc+egAGP+9BAD6wCjM/QA4wP+AKMD9QCSs/CgM/KisUKT8YCiU/DQYAPwkALj0rFAA/CQAfP/lGHz/5Rh8/+UYaPywuGj8EPRE/uBkRP7gZBz5qAAA/picAO0AKMD9QCTA/UAkwP1AJKz8KAz8fIA8lPw0GJT8NBgA/CQA/LyAPAD8JAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAYACgkGAAoJBgAKCQYACgkDz8tCg8/LQoPPy0KCDoBAAA1gAgANYAIJT/aWCI/V0kiP2ZDHT8sLSI/1VUXPzwlFD8YGQk+OQAJP/c8AD7wBzU/8gszPwAJMD/QBy4/igI/K6sQKz9WCCg/BQUEPwAAPzWrEAQ/AAAiP2ZDIj9mQyI/ZkMdPywtHT9kORQ/GBkUPxgZCT4pAAA/liQAPuAHMD/QBzA/0AcwP9AHLj+KAjcxgAwoPwUFKD8FBQQ/AAA/MIAMBD8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAaACgkGgAoJBoAKCQaACgkET8UCxE/FAsRPxQLCjwBAAA7QAcAO0AHKD+wUiU/FUUiP6w/Hj87LCU/7U4aP4IjFz+mGAw/BAAMP883AD4KBjY/SQkzPxEHMz8RBi8/CAI9MSENLj+TBis/+gMLPwAAPzYhDQs/AAAiP6w/Ij+sPyI/rD8ePzssHT9iNRc/phgXP6YYDD8EAAM/7iEAPvoFMz8RBjM/EQYzPxEGLz8IAj8l2QkrP/oDKz/6Aws/AAA+MtkJCz8AAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAdACIkHQAiJB0AIiQdACIkFD8qDBQ/KgwUPyoMDD4BAAA+6gUAPuoFKD9wTSU/VUElP4w8ID9MKyU//UgaP0IiGj9+GA4/EAAPP58zAD8tBTY/WQc2P6kFMz/hBDA/mQE/L1kKLz8xBSw/HQMQPwEAPzdZChA/AQAlP4w8JT+MPCU/jDwgP0wrHz9qMho/fhgaP34YDj8QAAY/1h8APy0FMz/hBDM/4QQzP+EEMD+ZAT8owQcsPx0DLD8dAxA/AQA/M8EHED8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAfACIkHwAiJB8AIiQfACIkFj9BDRY/QQ0WP0ENDj8QAAA/LQUAPy0FKz+wSCg/7T0lP8w5Ij9ZKig/vUMdP9ogGj8+GBE/SgARP8IvAD89BTg/qwU2PzkENj+pAzM/MQE/MuEHMT/zAy8/XQIWPwEAPjnhBxY/AQAlP8w5JT/MOSU/zDkiP1kqIj85Lxo/PhgaPz4YET9KAAk//h0APz0FNj+pAzY/qQM2P6kDMz8xAT8r6QUvP10CLz9dAhY/AQA+NekFFj8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAgACgkIAAoJCAAKCQgACgkFz9CDhc/Qg4XP0IOET9KAAA/PQUAPz0FKz/wQyg/rTooP+w2JT+xKSg/jT4gP0UgHT8WGBM/wgAUP0osAT86Bjk/EQQ4PzYDNj+5AjQ/6gA/M8EFMz/hAjE/ugEcPwEAPznBBRw/AQAoP+w2KD/sNig/7DYlP7EpIj+JLB0/FhgdPxYYEz/CAAw/ZhwBPzoGNj+5AjY/uQI2P7kCND/qAD8uUQQxP7oBMT+6ARw/AQA/NlEEHD8BAD8/AAA/PwAAPz8AAD8/AAA/PwAAPz8AAD8/AAAAPwAAPz8AAAA/AAAiACgkIgAoJCIAKCQiACgkGj86Dxo/Og8aPzoPEz/CAAE/OgYBPzoGCACJAQgAiAECAAkAAgAIAAYQxgIQBkgBAApgAAoGCAAcBS8FGA5IAQgSYAASDggAJA0vBSAWSAEQGmAAGhYIAC0WLwUpH0gBGSNgACMfCAA1Hi8FMSdIASErYAArJwgAPSYvBTkvSAEpM2AAMy8IAEUuLwVBN0gBMTtgADs3CABONy8FSkBIATpEYABEQAgAVj8vBVJISAFCTGAATEgIAF5HLwVaUEgBSlRgAFRQCABmTy8FYlhIAVJcYABcWAgAb1gvBWthSAFbZWAAZWEIAHdgLwVzaUgBY21gAG1pCAB/aC8Fe3FIAWt1YAB1cQgAh3AvBYN5SAFzfWAAfXkIAJB5LwWMgkgBfIZgAIaCCACYgS8FlIpIAYSOYACOiggAoIkvBZySSAGMlmAAlpIIAKiRLwWkmkgBlJ5gAJ6aCACxmi8FraNIAZ2nYACnowgAuaIvBbWrSAGlr2AAr6sIAMGqLwW9s0gBrbdgALezCADJsi8FxbtIAbW/YAC/uwgA0rsvBc7ESAG+yGAAyMQIANrDLwXWzEgBxtBgANDMCADiyy8F3tRIAc7YYADY1AgA6tMvBebcSAHW4GAA4NwIAPPcLwXv5UgB3+lgAOnlCAD75C8F9+1IAefxYADx7QgA7/lgDvX5QA7v+WAA+fUIAPf9yA///QgA9/3IAf/9CAAFETYCBREwAgUACQAFAAgAGQA5ARkDSAENADEADQMIACcAMQUhC0gBCxVGABULCAAvBzEFKRNIAR0HIQAdEwgAMgvvADIcSAEmECEAJhwIAFwNdwk6JEgBLhghAC4kCABkFXcJQixIATYgIQA2LAgAVgflBEo0SAE+KCEAPjQIAF8Q5QRTPUgBRzEhAEc9CABnGOUEW0VIAU85IQBPRQgAbyDlBGNNSAFXQSEAV00IAHco5QRrVUgBX0khAF9VCACAMeUEdF5IAWhSIQBoXggAiDnlBHxmSAFwWiEAcGYIAJBB5QSEbkgBeGIhAHhuCACYSeUEjHZIAYBqIQCAdggAoVLlBJV/SAGJcyEAiX8IAKla5QSdh0gBkXshAJGHCACxYuUEpY9IAZmDIQCZjwgAuWrlBK2XSAGhiyEAoZcIAMJz5QS2oEgBqpQhAKqgCADKe+UEvqhIAbKcIQCyqAgA0oPlBMawSAG6pCEAurAIANqL5QTOuEgBwqwhAMK4CADjlOUE18FIAcu1IQDLwQgA65zlBN/JSAHTvSEA08kIAPOk5QTn0UgB28UhANvRCAC372MD79lIAePNIQDj2QgA/tYxBfjiSAHs1iEA7OIIAN70YA7q9EAO9N4hAPTqCADm/GAO8vxADvzmIQD88ggA7vrID//6CADu+sgB//oIAAkdNgIJHTACCQAJAAkACAARJTYCESUwAhEACQARAAgALQA5AS0AOAEZADEAGQcIAA4/xgoFNRADDyFGACEPCABHBjEFSAQwBSoEIQAqGAgARgPvAEYC6AAyDCEAMiAIAABiGgtOCugAOhQhADooCABhGzEFVhLoAEIcIQBCMAgAAF5jA18b6ABLJSEASzkIAAhmYwNnI+gAUy0hAFNBCAAMcGMDbyvoAFs1IQBbSQgAiwLlBHcz6ABjPSEAY1EIAJQN5QSAPOgAbEYhAGxaCACcFeUEiEToAHROIQB0YggApB3lBJBM6AB8ViEAfGoIAKwl5QSYVOgAhF4hAIRyCAC1LuUEoV3oAI1nIQCNewgAvTblBKll6ACVbyEAlYMIAMU+5QSxbegAnXchAJ2LCADNRuUEuXXoAKV/IQClkwgA1k/lBMJ+6ACuiCEArpwIAN5X5QTKhugAtpAhALakCADmX+UE0o7oAL6YIQC+rAgA7mflBNqW6ADGoCEAxrQIAPdw5QTjn+gAz6khAM+9CAD/eOUE66foANexIQDXxQgAkvNjA/Ov6ADfuSEA380IALjnYg7L+xAD58EhAOfVCADB8GIO3vBADvDKIQDw3ggA/9KpAOb4QA740iEA+OYIANruyA//7ggA2u7IAf/uCADi9sgP//YIAOL2yAH/9ggADSo2Ag0qMAINAAkADQAIADIASQEyAEgBFQAJABUACAAdOjYCQwJIBQMdRgAdAwgACk/GCkwLSAULJUYAJQsIAAdLFgMHSxADFC5GAC4UCAAPUxYDYQEwBRw2RgA2HAgAZQcxBWkJMAU+ACcAPiQIAGMB7wBjA+gAAUdiAEYsCABrC+8AbAzoAApQYgBPNQgAcxPvAHQU6AASWGIAVz0IAHsb7wB8HOgAGmBiAF9FCACDI+8AhCToACJoYgBnTQgAjCzvAI0t6AArcWIAcFYIAJQ07wCVNegAM3liAHheCACcPO8AnT3oADuBYgCAZggApETvAKVF6ABDiWIAiG4IAK1N7wCuTugATJJiAJF3CAC1Ve8AtlboAFSaYgCZfwgAvV3vAL5e6ABcomIAoYcIAMVl7wDGZugAZKpiAKmPCADObu8Az2/oAG2zYgCymAgA1nbvANd36AB1u2IAuqAIAN5+7wDff+gAfcNiAMKoCADmhu8A54foAIXLYgDKsAgA74/vAPCQ6ACO1GIA07kIAPeX7wC0+BADltxiANvBCACf5GIOyeNADp7kYgDjyQgAtflYD9HrQA6m7GIA69EIAP+9qQDa9EAOr/ViAPTaCADF4sgP4vxADrf9YgD84ggAzerID//qCADN6sgB/+oIANXyyA//8ggA1fLIAf/yCAASPDYCEjwwAhIACQASAAgAGkQ2AhpEMAIaAAkAGgAIACJMNgIiTDACIgAJACIACAAFaMYKYgVIBSoAOQAqBggAXAA5AV0BOAEPM0YAMw8IAANlFgMDZRADADtYADsXCAAOaxYDC20QAx9DRgBDHwgAE3UWAxN1EAMnS0YASycIABx+FgMcfhADUwUhAFQwCACEAO8AJIYQA1sNIQBcOAgAjgTvACyOEANjFSEAZEAIAJYM7wA0lhADax0hAGxICACfFe8APZ8QA3QmIQB1UQgApx3vAEWnEAN8LiEAfVkIAK8l7wBNrxADhDYhAIVhCAC3Le8AVbcQA4w+IQCNaQgAwDbvAF7AEAOVRyEAlnIIAMg+7wBmyBADnU8hAJ56CADQRu8AbtAQA6VXIQCmgggA2E7vAHbYEAOtXyEArooIAOFX7wB/4RADtmghALeTCADpX+8Ah+kQA75wIQC/mwgA8WfvAI/xEAPGeCEAx6MIAG/QYg6X+RADzoAhAM+rCAB42WIOtNhADteJIQDYtAgAgOFiDrzgQA7fkSEA4LwIAJv9WA/E6EAO55khAOjECACQ8WIOzPBADu+hIQDwzAgAmfpiDtX5QA74qiEA+dUIALPdyA//3QgAs93IAf/dCAC75cgP/+UIALvlyAH/5QgAw+3ID//tCADD7cgB/+0IABhQNgIYUDACGAAJABgACAAgWDYCIFgwAiAACQAgAAgAKGA2AihgMAIoAAkAKAAIADBoNgIwaDACMAAJADAACAAJisYKggdIBQk5RgA5CQgAdwA5AXgAOAERQUYAQREIAACAEAOABjgBGUlGAEkZCAAGiRYDBYgQAyFRRgBRIQgAKqvGCg6REAMqWkYAWioIADKzxgoWmRADMmJGAGIyCAA6u8YKHqEQAzpqRgBqOggAvxIxBSapEANwCSEAckIIALAA7wAvshADeRIhAHtLCAC7Ae8AN7oQA4EaIQCDUwgAwwrvAD/CEAOJIiEAi1sIAMsS7wBHyhADkSohAJNjCADUG+8AUNMQA5ozIQCcbAgA3CPvAFjbEAOiOyEApHQIAOQr7wBg4xADqkMhAKx8CADsM+8AaOsQA7JLIQC0hAgA9TzvAHH0EAO7VCEAvY0IAFvCYA6VxUAOw1whAMWVCABjymAOnc1ADstkIQDNnQgAa9JgDqXVQA7TbCEA1aUIAHf5WA+u3kAO3HUhAN6uCAB//1gDtuZADuR9IQDmtggA/4epAL7uQA7shSEA7r4IAIzzYA7G9kAO9I0hAPbGCACXz8gP/88IAJfPyAH/zwgAn9fID//XCACf18gB/9cIAKffyA//3wgAp9/IAf/fCACv58gP/+cIAK/nyAH/5wgAIWo2AiFqMAIhAAkAIQAIAClyNgIpcjACKQAJACkACAAxejYCMXowAjEACQAxAAgAOYI2AjmCMAI5AAkAOQAIAEKLNgJCizACQgAJAEIACABKkzYCqgdIBQhKRgBKCAgAmAA5AbIPSAUAUlAAUhAIAKIAOQG6F0gFGFpGAFoYCAAAqxADwyBIBSFjRgBjIQgABrMWA8soSAUpa0YAaykIAA+7FgPTMEgFcwApAHMxCAA9x8YC2zhIBTl7RgB7OQgARtDGAuRBSAVChEYAhEIIAE7YxgLsSUgFSoxGAIxKCABW4MYC9FFIBZEHIQCUUggA3gjpAPxZSAWZDyEAnFoIAOsA7wDxZUgBpgYnAKVjCAAgqmAO+W1IAQCvYgCtawgAKLJgDnO1QA4It2IAtXMIADC6YA57vUAOEL9iAL17CAA5w2AOhMZADhnIYgDGhAgAQ/NYD4zOQA4h0GIAzowIAEz7WA+U1kAOKdhiANaUCABW/1gDnN5ADjHgYgDenAgA/12pAKXnQA466WIA56UIAGLsYA6t70AOQvFiAO+tCABstcgPtfdADkr5YgD3tQgAdL3ID/+9CAB0vcgB/70IAH3GyA//xggAfcbIAf/GCACFzsgP/84IAIXOyAH/zggAjdbID//WCACN1sgB/9YIAJXeyA//3ggAld7IAf/eCAAvtzYCL7cwAi8ACQAvAAgAN782Aje/MAI3AAkANwAIAD/HNgI/xzACPwAJAD8ACABHzzYCR88wAkcACQBHAAgAUNg2AlDYMAJQAAkAUAAIAFjgNgJY4DACWAAJAFgACAAD6cYCA+nAAgJgRgBgAggAC/HGAgvxwAIKaEYAaAoIABT6xgIU+sACE3FGAHETCAAbeUYOG3lADht5RgB5GwgAI4FGDiOBQA4jgUYAgSMIACuJRg4riUAOK4lGAIkrCAA0kkYONJJADjSSRgCSNAgAPJpGDjyaQA48mkYAmjwIAESiRg5EokAORKJGAKJECABMqkYOTKpADkyqRgCqTAgAVbNGDlWzQA5Vs0YAs1UIAF27Rg5du0AOXbtGALtdCABlw0YOZcNADmXDRgDDZQgAbctGDm3LQA5ty0YAy20IAHbURg521EAOdtRGANR2CAB+3EYOftxADn7cRgDcfggAhuRGDobkQA6G5EYA5IYIAAXsYA6O7EAOBexgAOyOCAAO9WAOl/VADg71YAD1lwgAF5/ID5/9QA4Xn8gB/Z8IAB+nyA//pwgAH6fIAf+nCAAnr8gP/68IACevyAH/rwgAMLjID/+4CAAwuMgB/7gIADjAyA//wAgAOMDIAf/ACABAyMgP/8gIAEDIyAH/yAgASNDID//QCABI0MgB/9AIAEH4hw0L+AEBAQEBAQEBAQICAgICAgICAwMDAwMDAwMDBAQEBAQEBAQFBQUFBQUFBQYGBgYGBgYGBwcHBwcHBwcHCAgICAgICAgJCQkJCQkJCQoKCgoKCgoKCwsLCwsLCwsLDAwMDAwMDAwNDQ0NDQ0NDQ4ODg4ODg4ODw8PDw8PDw8PEBAQEBAQEBARERERERERERISEhISEhISExMTExMTExMTFBQUFBQUFBQVFRUVFRUVFRYWFhYWFhYWFxcXFxcXFxcXGBgYGBgYGBgZGRkZGRkZGRoaGhoaGhoaGxsbGxsbGxsbHBwcHBwcHBwdHR0dHR0dHR4eHh4eHh4eHwBBgIoNC/AFAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgJCQkJCQkJCQkJCQkJCQkJCQoKCgoKCgoKCgoKCgoKCgoLCwsLCwsLCwsLCwsLCwsLCwwMDAwMDAwMDAwMDAwMDAwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ4ODg4ODg4ODg4ODg4ODg4PAAEBAQEBAQEBAgICAgICAgIDAwMDAwMDAwQEBAQEBAQEBAUFBQUFBQUFBgYGBgYGBgYHBwcHBwcHBwgICAgICAgICAkJCQkJCQkJCgoKCgoKCgoLCwsLCwsLCwwMDAwMDAwMDA0NDQ0NDQ0NDg4ODg4ODg4PDw8PDw8PDxAQEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBUVFRUVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBkZGRkZGRkZGhoaGhoaGhobGxsbGxsbGxwcHBwcHBwcHB0dHR0dHR0dHh4eHh4eHh4fHx8fHx8fHwABAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAkJCQkJCQkJCQkJCQkJCQkKCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8AQZKQDQveAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgcHBwcHBwcHBwcHBwcHBwcHCABBkZINC6YJAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgAAAEAAwAEAAYABwAJAAoADAANAA8AEAASABQAFQAXABgAGgAbAB0AHgAgACEAIwAkACYAJwApACoALAAtAC8AMAAyADQANQA3ADgAOgA7AD0APgBAAEEAQgBEAEUARwBIAEoASwBNAE4AUABSAFMAVQBWAFgAWQBbAFwAXgBfAGEAYgBkAGUAZwBoAGoAawBtAG4AcAByAHMAdQB2AHgAeQB7AHwAfgB/AH8BfgJ+A38DfwR+BX4GfwZ/B34Ifgl/CX8Kfgt+DH8Mfw1+Dn0Pfw9+EH4RfxF/En4TfhR/FH8VfhZ+F38Xfxh+GX4afxp/G34cfh1/HX8efh9+IH8gfyF+In4jfyN/JH4lfiZ/Jn8nfih+KX8pfyp+K34sfyx/LX4ufS9/L34wfjF/MX8yfjN+NH80fzV+Nn43fzd/OH45fjp/On87fjx+PX89fz5+P31AfkB+QX9Bf0J+Q35Ef0R/RX5Gfkd/R39Ifkl+Sn9Kf0t+TH1Nf01+Tn5Pf09/UH5RflJ/Un9TflR+VX9Vf1Z+V35Yf1h/WX5aflt/W39cfl1+Xn9ef19+YH5hf2F/Yn5jfmR/ZH9lfmZ+Z39nf2h+aX5qf2p/a35sfW1/bX5ufm9/b39wfnF+cn9yf3N+dH51f3V/dn53fnh/eH95fnp+e397f3x+fX5+f35/fwAHEgAABQIAAAQBAAADCAAABCMAAAMYAAADDAAAAh0AAAIkAAACHgAABxIAAAUCAAAEAQAAAwgAAgAjAAADGAAAAwwAAAIdAAQAIwAAAh0AAAMAAAADAAAAAwAAAAEBAAABAgAAAQIAAAECAAABAQABAAMAAAECAAADAAAAAwAAAAMAAAABAQABAAIAAQACAAEAAgAAAQEAAQACAAABAQAEABIAAAUCAAAEAQAAAwgABAASAAcAEgAAAwgAAAIUAAcAEgAAAhQAQeCbDQvXOwIPJgACCxQAAggYAAEIFQAAEDMAAAoTAAAIAgAABhgAAAhMAAAGKAADDRIAAwoCAAMIAQADBwUACAAzAAEJEwAACAIAAAYYABAAMwAABhgAAgsUAAILFAACCxQAAQcUAAAMCAAABwIAAAcCAAAFAQAABRMAAAUKAAMJAAADCQAAAwkAAAMGAAAGAAgAAQcAAAEHAAAABQEADAAIAAAFAQAKABIAAgsAAAMIAQAACAEACgASABQAEgAACAEAAAYUABQAEgAABhQAAQAUAAEAFAABABQAAQAUAAAJAAAACQAAAAkAAAAEAQAAAwgAAAMIAAYTJgAGDxQABgwYAAUMFQAEFDMABA4TAAQMAgAEChgAAA40AAEKFAAHERIABw4CAAcMAQAHCwUADgAzAAUNEwAEDAIAAQoUAB0AMwABChQABg8UAAYPFAAGDxQABQsUAAQQCAAECwIABAsCAAQJAQAADAgAAQkCAAcNAAAHDQAABw0AAAcKAAAMAAgABQsAAAULAAADCQAAGAAIAAMJAAAPARIABg8AAAcMAQADDAAADwESACAAEgADDAAAAAoUACAAEgAAChQABQAUAAUAFAAFABQABQAUAAQNAAAEDQAABA0AAAQIAQABCgAAAQoAAAoXJgAKExQAChAYAAkQFQAIGDMACBITAAgQAgAIDhgAAxI0AAUOFAALFRIACxICAAsQAQALDwUAFAAzAAkREwAIEAIABQ4UACkAMwAFDhQAChMUAAoTFAAKExQACQ8UAAgUCAAIDwIACA8CAAgNAQAEEAgABQ0CAAsRAAALEQAACxEAAAsOAAASAAgACQ8AAAkPAAAHDQAAJAAIAAcNAAAVARIAChMAAAsQAQAHEAAAFQESACwAEgAHEAAAAA4UACwAEgAADhQACQAUAAkAFAAJABQACQAUAAgRAAAIEQAACBEAAAgMAQAFDgAABQ4AAA4dJAAOGBIADhUXAA4UFAANHDQADRYUAA0UAgAMExcABxczAAkTEgAQGRMADxcBABAUAgAPFAYAGwAzAA0WEwANFAEACBMSADcAMwAIExIADhgSAA4YEgAOGBIADhMSAA0XCQANFAEADRQBAAwRAgAJFAgAChIBABAUAQAQFAEAEBQBABASAQAYAQgADhMAAA4TAAAMEQEAMgAIAAwRAQAcABIADxcAABAUAQAMFAEAHAASADoAEgAMFAEAABMSADoAEgAAExIADgASAA4AEgAOABIADgASAA0UAQANFAEADRQBAAwRAQAKEgAAChIAABIhJAASHBIAEhkXABIYFAARIDQAERoUABEYAgAQFxcACxszAA0XEgAUHRMAExsBABQYAgATGAYAIQAzABEaEwARGAEADBcSAEIAMwAMFxIAEhwSABIcEgASHBIAEhcSABEbCQARGAEAERgBABAVAgANGAgADhYBABQYAQAUGAEAFBgBABQWAQAeAQgAEhcAABIXAAAQFQEAPgAIABAVAQAiABIAExsAABQYAQAQGAEAIgASAEUAEgAQGAEAABcSAEUAEgAAFxIAEgASABIAEgASABIAEgASABEYAQARGAEAERgBABAVAQAOFgAADhYAABYlJAAWIBIAFh0XABYcFAAVJDQAFR4UABUcAgAUGxcADx8zABEbEgAYIRMAFx8BABgcAgAXHAYAJwAzABUeEwAVHAEAEBsSAE4AMwAQGxIAFiASABYgEgAWIBIAFhsSABUfCQAVHAEAFRwBABQZAgARHAgAEhoBABgcAQAYHAEAGBwBABgaAQAkAQgAFhsAABYbAAAUGQEASgAIABQZAQAoABIAFx8AABgcAQAUHAEAKAASAFIAEgAUHAEAABsSAFIAEgAAGxIAFgASABYAEgAWABIAFgASABUcAQAVHAEAFRwBABQZAQASGgAAEhoAABopJAAaJBIAGiEXABogFAAZKDQAGSIUABkgAgAYHxcAEyMzABUfEgAcJRMAGyMBABwgAgAbIAYALQAzABkiEwAZIAEAFB8SAFsAMwAUHxIAGiQSABokEgAaJBIAGh8SABkjCQAZIAEAGSABABgdAgAVIAgAFh4BABwgAQAcIAEAHCABABweAQAqAQgAGh8AABofAAAYHQEAVgAIABgdAQAuABIAGyMAABwgAQAYIAEALgASAF4AEgAYIAEAAB8SAF4AEgAAHxIAGgASABoAEgAaABIAGgASABkgAQAZIAEAGSABABgdAQAWHgAAFh4AAB8sJgAfKBQAHyUYAB4lFQAdLTMAHScTAB0lAgAdIxgAGCc0ABojFAAgKhIAICcCACAlAQAgJAUAMwAzAB4mEwAdJQIAGiMUAGgAMwAaIxQAHygUAB8oFAAfKBQAHiQUAB0pCAAdJAIAHSQCAB0iAQAZJQgAGiICACAmAAAgJgAAICYAACAjAAAxAAgAHiQAAB4kAAAcIgAAZAAIABwiAAA1ABIAHygAACAlAQAcJQAANQASAGsAEgAcJQAAACMUAGsAEgAAIxQAHgAUAB4AFAAeABQAHgAUAB0mAAAdJgAAHSYAAB0hAQAaIwAAGiMAACMwJgAjLBQAIykYACIpFQAhMTMAISsTACEpAgAhJxgAHCs0AB4nFAAkLhIAJCsCACQpAQAkKAUAOQAzACIqEwAhKQIAHicUAHUAMwAeJxQAIywUACMsFAAjLBQAIigUACEtCAAhKAIAISgCACEmAQAdKQgAHiYCACQqAAAkKgAAJCoAACQnAAA3AAgAIigAACIoAAAgJgAAcAAIACAmAAA7ABIAIywAACQpAQAgKQAAOwASAHgAEgAgKQAAACcUAHgAEgAAJxQAIgAUACIAFAAiABQAIgAUACEqAAAhKgAAISoAACElAQAeJwAAHicAACc0JgAnMBQAJy0YACYtFQAlNTMAJS8TACUtAgAlKxgAIC80ACIrFAAoMhIAKC8CACgtAQAoLAUAPwAzACYuEwAlLQIAIisUAH8BMwAiKxQAJzAUACcwFAAnMBQAJiwUACUxCAAlLAIAJSwCACUqAQAhLQgAIioCACguAAAoLgAAKC4AACgrAAA9AAgAJiwAACYsAAAkKgAAfAAIACQqAABAABIAJzAAACgtAQAkLQAAQAASAH4DEgAkLQAAACsUAH4DEgAAKxQAJgAUACYAFAAmABQAJgAUACUuAAAlLgAAJS4AACUpAQAiKwAAIisAACs4JgArNBQAKzEYACoxFQApOTMAKTMTACkxAgApLxgAJDM0ACYvFAAsNhIALDMCACwxAQAsMAUARQAzACoyEwApMQIAJi8UAH8HMwAmLxQAKzQUACs0FAArNBQAKjAUACk1CAApMAIAKTACACkuAQAlMQgAJi4CACwyAAAsMgAALDIAACwvAABCAQgAKjAAACowAAAoLgAAfgUIACguAABGABIAKzQAACwxAQAoMQAARgASAH4JEgAoMQAAAC8UAH4JEgAALxQAKgAUACoAFAAqABQAKgAUACkyAAApMgAAKTIAACktAQAmLwAAJi8AAC8+JAAvORIALzYXAC81FAAuPTQALjcUAC41AgAtNBcAKDgzACo0EgAxOhMAMDgBADE1AgAwNQYASwEzAC43EwAuNQEAKTQSAH4OMwApNBIALzkSAC85EgAvORIALzQSAC44CQAuNQEALjUBAC0y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AQBHTwAAR08AAFBdJgBQWRQAUFYYAE9WFQBOXjMATlgTAE5WAgBOVBgASVg0AEtUFABRWxIAUVgCAFFWAQBRVQUAfAEzAE9XEwBOVgIAS1QUAH4/MwBLVBQAUFkUAFBZFABQWRQAT1UUAE5aCABOVQIATlUCAE5TAQBKVggAS1MCAFFXAABRVwAAUVcAAFFUAAB6AAgAT1UAAE9VAABNUwAAfj0IAE1TAAB+ABIAUFkAAFFWAQBNVgAAfgASAH5AEgBNVgAAAFQUAH5AEgAAVBQATwAUAE8AFABPABQATwAUAE5XAABOVwAATlcAAE5SAQBLVAAAS1QAAFRhJgBUXRQAVFoYAFNaFQBSYjMAUlwTAFJaAgBSWBgATVw0AE9YFABVXxIAVVwCAFVaAQBVWQUAfwczAFNbEwBSWgIAT1gUAH9EMwBPWBQAVF0UAFRdFABUXRQAU1kUAFJeCABSWQIAUlkCAFJXAQBOWggAT1cCAFVbAABVWwAAVVsAAFVYAAB/AggAU1kAAFNZAABRVwAAf0IIAFFXAAB/ChIAVF0AAFVaAQBRWgAAfwoSAH5GEgBRWgAAAFgUAH5GEgAAWBQAUwAUAFMAFABTABQAUwAUAFJbAABSWwAAUlsAAFJWAQBPWAAAT1gAAFhlJgBYYRQAWF4YAFdeFQBWZjMAVmATAFZeAgBWXBgAUWA0AFNcFABZYxIAWWACAFleAQBZXQUAfxMzAFdfEwBWXgIAU1wUAH9KMwBTXBQAWGEUAFhhFABYYRQAV10UAFZiCABWXQIAVl0CAFZbAQBSXggAU1sCAFlfAABZXwAAWV8AAFlcAAB/DggAV10AAFddAABVWwAAf0gIAFVbAAB/FhIAWGEAAFleAQBVXgAAfxYSAH5MEgBVXgAAAFwUAH5MEgAAXBQAVwAUAFcAFABXABQAVwAUAFZfAABWXwAAVl8AAFZaAQBTXAAAU1wAAFxpJgBcZRQAXGIYAFtiFQBaajMAWmQTAFpiAgBaYBgAVWQ0AFdgFABdZxIAXWQCAF1iAQBdYQUAfx8zAFtjEwBaYgIAV2AUAH9QMwBXYBQAXGUUAFxlFABcZRQAW2EUAFpmCABaYQIAWmECAFpfAQBWYggAV18CAF1jAABdYwAAXWMAAF1gAAB/GwgAW2EAAFthAABZXwAAfk4IAFlfAAB/IhIAXGUAAF1i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AAQUAwADEGsAABYkAQARagAKIUkACRoBAAoUBgAJEw4AFgDzAAIZSAAEFAIAABFaAC0A8wAAEVoABx5KAAceSgAHHkoABxJKAAQcMwAEFAIABBQCAAMOBgAAEUQAAA4FAAoXAQAKFwEAChcBAAkRAQASADIABRMAAAUTAAAADgEAJAAyAAAOAQAaAEgACRoAAAwUAQADFAEAGgBIADUASAADFAEAABFKADUASAAAEUoABgBKAAYASgAGAEoABgBKAAQUAQAEFAEABBQBAAQMAQAADgQAAA4EAAsskAALIEwADBlpAAsYTQAIK/MACBxLAAgZAgAIFWkAABz4AAEWTAAOJkgADh4BAA8ZBQAOGA0AHQDzAAcdSAAIGQIAABZMADsA8wAAFkwACyNIAAsjSAALI0gACxdIAAgiMgAIGAEACBgBAAgSBQABGDMAAxMBAA4dAAAOHQAADh0AAA4VAQAYATIACRgAAAkYAAADEwAAMgAyAAMTAAAhAEgADR8AABAZAAAGGQAAIQBIAEIASAAGGQAAABZIAEIASAAAFkgACwBIAAsASAALAEgACwBIAAgaAAAIGgAACBoAAAgRAAACFAAAAhQAAA8wkAAPJEwAEB1pAA8cTQAML/MADCBLAAwdAgAMGWkAAiH0AAUaTAASKkgAEiIBABMdBQASHA0AIwDzAAshSAAMHQIAARpIAEcA8wABGkgADydIAA8nSAAPJ0gADxtIAAwmMgAMHAEADBwBAAwWBQAFHDMABxcBABIhAAASIQAAEiEAABIZAQAeATIADRwAAA0cAAAHFwAAPgAyAAcXAAAnAEgAESMAABQdAAAKHQAAJwBIAE4ASAAKHQAAABpIAE4ASAAAGkgADwBIAA8ASAAPAEgADwBIAAweAAAMHgAADB4AAAwVAAAGGAAABhgAABM0kAATKEwAFCFpABMgTQAQM/MAECRLABAhAgAQHWkABiX0AAkeTAAWLkgAFiYBABchBQAWIA0AKQDzAA8lSAAQIQIABR5IAFMA8wAFHkgAEytIABMrSAATK0gAEx9IABAqMgAQIAEAECABABAaBQAJIDMACxsBABYlAAAWJQAAFiUAABYdAQAkATIAESAAABEgAAALGwAASgAyAAsbAAAtAEgAFScAABghAAAOIQAALQBIAFsASAAOIQAAAB5IAFsASAAAHkgAEwBI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AEFSAgBBTmkAN1fzADlPTQBHX0gAR1cBAEhSBQBHUQ0AcgDzAEBWSABBUgIAN09IAH808wA3T0gARFxIAERcSABEXEgARFBIAEFbMgBBUQEAQVEBAEFLBQA6UTIAPEwBAEdWAABHVgAAR1YAAEdOAQBuADIAQlEAAEJRAAA9TAAAfjAyAD1MAAB2AEgARlgAAElSAABAUgAAdgBIAH84SABAUgAAAE9IAH84SAAAT0gARABIAEQASABEAEgARABIAEFTAABBUwAAQVMAAEFKAAA8TAEAPEwBAEhpkABIXUwASVZpAEhVTQBFaPMARVlLAEVWAgBFUmkAO1vzAD1TTQBLY0gAS1sBAExWBQBLVQ0AeADzAERaSABFVgIAO1NIAH868wA7U0gASGBIAEhgSABIYEgASFRIAEVfMgBFVQEARVUBAEVPBQA+VTIAQFABAEtaAABLWgAAS1oAAEtSAQBzATIARlUAAEZVAABAUAAAfjYyAEBQAAB8AEgASlwAAE1WAABDVgAAfABIAH8+SABDVgAAAFNIAH8+SAAAU0gASABIAEgASABIAEgASABIAEVXAABFVwAARVcAAEVOAABAUAEAQFABAE1tkgBNYkwATltrAExaTwBKa/QASl1MAEpaAwBJVmsAP2DzAEJXTABQZ0kAT2ABAFBaBgBPWQ4AfwDzAEhfSABKWgIAQFdKAH5B8wBAV0oATWRKAE1kSgBNZEoATVhKAEpiMwBKWgIASloCAElUBgBDWTMARFUBAFBdAQBQXQEAUF0BAE9XAQB6ADIAS1kAAEtZAABGVAEAfj0yAEZUAQB/B0gAT2AAAFJaAQBJWgEAfwdIAH9ESABJWgEAAFdKAH9ESAAAV0oATABKAEwASgBMAEoATABKAEpaAQBKWgEASloBAEpSAQBEVQAARFUAAFFxkgBRZkwAUl9rAFBeTwBOb/QATmFMAE5eAwBNWmsAQ2P0AEZbTABUa0kAU2QBAFReBgBTXQ4AfwvzAExjSABOXgIARFtKAH5H8wBEW0oAUWhKAFFoSgBRaEoAUVxKAE5mMwBOXgIATl4CAE1YBgBHXTMASFkBAFRhAQBUYQEAVGEBAFNbAQB/AjIAT10AAE9dAABKWAEAf0IyAEpYAQB/E0gAU2QAAFZeAQBNXgEAfxNIAH9KSABNXgEAAFtKAH9KSAAAW0oAUABKAFAASgBQAEoAUABKAE5eAQBOXgEATl4BAE5WAQBIWQAASFkAAFV1kgBVakwAVmNrAFRiTwBSc/QAUmVMAFJiAwBRXmsAR2f0AEpfTABYb0kAV2gBAFhiBgBXYQ4AfxjzAFBnSABSYgIASF9KAH1N8wBIX0oAVWxKAFVsSgBVbEoAVWBKAFJqMwBSYgIAUmICAFFcBgBLYTMATF0BAFhlAQBYZQEAWGUBAFdfAQB/DjIAU2EAAFNhAABOXAEAf0gyAE5cAQB/H0gAV2gAAFpiAQBRYgEAfx9IAH9QSABRYgEAAF9KAH9QSAAAX0oAVABKAFQASgBUAEoAVABKAFJiAQBSYgEAUmIBAFJaAQBMXQAATF0AAFl5kgBZbkwAWmdrAFhmTwBWd/QAVmlMAFZmAwBVYmsAS2v0AE5jTABcc0kAW2wBAFxmBgBbZQ4AfyTzAFRrSABWZgIATGNKAH9S8wBMY0oAWXBKAFlwSgBZcEoAWWRKAFZuMwBWZgIAVmYCAFVgBgBPZTMAUGEBAFxpAQBcaQEAXGkBAFtjAQB/GzIAV2UAAFdlAABSYAEAfk4yAFJgAQB/K0gAW2wAAF5mAQBVZgEAfytIAH9WSABVZgEAAGNKAH9WSAAAY0oAWABKAFgASgBYAEoAWABKAFZmAQBWZgEAVmYBAFZeAQBQYQAAUGEAAF1+kABdckwAXmtpAF1qTQBaffMAWm5LAFprAgBaZ2kAUG/0AFNoTABgeEgAYHABAGFrBQBgag0AfzLzAFlvSABaawIAT2hIAH9Z8wBPaEgAXXVIAF11SABddUgAXWlIAFp0MgBaagEAWmoBAFpkBQBTajMAVWUBAGBvAABgbwAAYG8AAGBnAQB/KDIAW2oAAFtqAABVZQAAflUyAFVlAAB/OUgAX3EAAGJrAABYawAAfzlIAH5dSABYawAAAGhIAH5dSAAAaEgAXQBIAF0ASABdAEgAXQBIAFpsAABabAAAWmwAAFpjAABUZgAAVGYAAGF/mABhdkwAYm9pAGFuTQBef/QAXnJLAF5vAgBea2kAVHP0AFdsTABkfEgAZHQBAGVvBQBkbg0Afz7zAF1zSABebwIAU2xIAH9f8wBTbEgAYXlIAGF5SABheUgAYW1IAF54MgBebgEAXm4BAF5oBQBXbjMAWWkBAGRzAABkcwAAZHMAAGRrAQB/NTIAX24AAF9uAABZaQAAflsyAFlpAAB/RUgAY3UAAGZvAABcbwAAf0VIAH5jSABcbwAAAGxIAH5jSAAAbEgAYQBIAGEASABhAEgAYQBIAF5wAABecAAAXnAAAF5nAABYagAAWGoAAGZ+uABlekwAZnNpAGVyTQBkfwQBYnZLAGJzAgBib2kAWHf0AFtwTABof0oAaHgBAGlzBQBocg0Af0nzAGF3SABicwIAV3BIAH9l8wBXcEgAZX1IAGV9SABlfUgAZXFIAGJ8MgBicgEAYnIBAGJsBQBbcjMAXW0BAGh3AABodwAAaHcAAGhvAQB/QDIAY3IAAGNyAABdbQAAfmEyAF1tAAB/UUgAZ3kAAGpzAABgcwAAf1FIAH5pSABgcwAAAHBIAH5pSAAAcEgAZQBIAGUASABlAEgAZQBIAGJ0AABidAAAYnQAAGJrAABcbgAAXG4AAGp/4ABpfkwAandpAGl2TQBofysBZnpLAGZ3AgBmc2kAXHv0AF90TABtf1QAbHwBAG13BQBsdg0Af1bzAGV7SABmdwIAW3RIAH9r8wBbdEgAaX5MAGl+TABpfkwAaXVIAGZ+NABmdgEAZnYBAGZwBQBfdjMAYXEBAGx7AABsewAAbHsAAGxzAQB/TDIAZ3YAAGd2AABhcQAAfmcyAGFxAAB/XUgAa30AAG53AABkdwAAf11IAH5vSABkdwAAAHRIAH5vSAAAdEgAaQBIAGkASABpAEgAaQBIAGZ4AABmeAAAZngAAGZvAABgcgAAYHIAAG9/IgFvf2cAb3xrAG17TwBvf1kBa35MAGt7AwBqd2sAYn/4AGN4TAByf3EAcX8FAHF7BgBweg4Af2PzAGt+SwBrewIAYXhKAH5y8wBheEoAbn5aAG5+WgBufloAbnlKAGx+QwBrewIAa3sCAGp1BgBkejMAZXYBAHF+AQBxfgEAcX4BAHB4AQB/WjIAbHoAAGx6AABndQEAf20yAGd1AQB/a0gAcX8EAHN7AQBqewEAf2tIAH91SABqewEAAHhKAH91SAAAeEoAbQBKAG0ASgBtAEoAbQBKAGt7AQBrewEAa3sBAGtzAQBldgAAZXYAAHV/VwFzf7MAcn9uAHF+TgBzf4MBb39mAG9/AgBue1oAaX8HAWd8PwB4f4YAdn8uAHV/BQB0fgkAf27dAHF/WQBvfwEAZXw9AH533QBlfD0Acn9u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ATV0UgE1XQUANV0FADVOKQAiXVMBJ1ACAENqAABDagAAQ2oAAENWAABuAFIBOFsBADhbAQApUAAAfjBSASlQAAB/BaUBQ2sBAEleAQA0XgEAfwWlAX5EpQE0XgEAAFelAX5EpQEAV6UBPAClATwApQE8AKUBPAClATVgAAA1YAAANWAAADVKAAAnUQAAJ1EAAER/SgRAdcIBQWWOAkBhvgE9f1oGOGyyATliBgA3WYYCHm/rBSdaxQFIf7UBR28BAEhjKQBFYE0AfgDqBTRvpQE6YgIAHlulAX5A6gUeW6UBQH2lAUB9pQFAfaUBQF6lATl4UgE5YQUAOWEFADlSKQAmYVMBK1QCAEduAABHbgAAR24AAEdaAABzAVIBPF8BADxfAQAtVAAAfjZSAS1UAAB/EqUBR28BAE1iAQA4YgEAfxKlAX5KpQE4YgEAAFulAX5KpQEAW6UBQAClAUAApQFAAKUBQAClATlkAAA5ZAAAOWQAADlOAAArVQAAK1UAAEd/vgRFesIBRmqKAkRlvgFCf7oGPHC2AT5mBgA7XYoCJHPrBSxfwwFOftYBS3QCAE1oJgBKZUoAfwvqBTlzpQE+ZgUAImClAX5H6gUiYKUBRH+pAUR/qQFEf6kBRGKmAT58UwE+ZgIAPmYCAD1WKgArZVMBMFkBAExyAQBMcgEATHIBAEtfAQB6AFIBP2UBAD9lAQAyWAEAfj1SATJYAQB/H6UBS3QBAFFnAQA7ZwAAfx+lAX9QpQE7ZwAAAGClAX9QpQEAYKUBRAClAUQApQFEAKUBRAClAT5oAQA+aAEAPmgBAD5SAQAwWQAAMFkAAE1/NgVJfsIBSm6KAkhpvgFHfw0HQXS1AUFrAgA/YYoCKHfrBTBjwwFSf/oBT3gCAFFsJgBOaUoAfxjqBT13pQFBawIAJmSlAX1N6gUmZKUBSX65AUl+uQFJfrkBSGamAUF/VAFBawIAQWsCAEBbJgAvaVMBNF0BAFB2AQBQdgEAUHYBAE9jAQB/AlIBQ2kAAENpAAA2XAEAf0JSATZcAQB/K6UBT3gBAFVrAQA/awAAfyulAX9WpQE/awAAAGSlAX9WpQEAZKUBSAClAUgApQFIAKUBSAClAUFtAABBbQAAQW0AAEFWAQA0XQAANF0AAFJ/vgVNf84BTnKKAkxtvgFNf30HRXi1AUVvAgBCZooCLHvrBTRnwwFYfzICU3wCAFVwJgBSbUoAfyTqBUF6pQFFbwIAKmilAX9S6gUqaKUBTX/NAU1/zQFNf80BTGqmAUd/ZAFFbwIARW8CAERfJgAzbVMBOGEBAFR6AQBUegEAVHoBAFNnAQB/DlIBR20AAEdtAAA6YAEAf0hSATpgAQB/OKUBU3wBAFlvAQBDbwAAfzilAX9cpQFDbwAAAGilAX9cpQEAaKUBTAClAUwApQFMAKUBTAClAUVxAABFcQAARXEAAEVaAQA4YQAAOGEAAFV/YgZSfxICUnaKAlBxvgFSf+4HSXy1AUlzAgBGaooCMH/rBThrwwFcf4YCV38GAFl0JgBWcUoAfzDqBUV+pQFJcwIALmylAX9Y6gUubKUBUn/uAVJ/7gFSf+4BUG6mAUt/ggFJcwIASXMCAEhjJgA3cVMBPGUBAFh+AQBYfgEAWH4BAFdrAQB/G1IBS3EAAEtxAAA+ZAEAfk5SAT5kAQB/Q6UBWX4FAF1zAQBHcwAAf0OlAX9ipQFHcwAAAGylAX9ipQEAbKUBUAClAVAApQFQAKUBUAClAUl1AABJdQAASXUAAEleAQA8ZQAAPGUAAFt/LgdXf6oCVnqOAlV2vgFYf5YITn/CAU53BABKbo4COX8VBjxvxQFhf+UCXX85AF14KQBadU0Afz7qBUx/vgFOdwMAM3ClAX9f6gUzcKUBVn8qAlZ/KgJWfyoCVXOlAVB/swFOdwMATncDAExnKQA7dlMBQGkBAF1+CABdfggAXX4IAFxvAAB/KFIBUHUAAFB1AABBaQAAflVSAUFpAAB/UaUBYH8dAGJ3AQBMdwEAf1GlAX5ppQFMdwEAAHClAX5ppQEAcKUBVQClAVUApQFVAKUBVQClAU54AQBOeAEATngBAE1jAQBAaQEAQGkBAGF/Fghcf3IDWn6OAll6vgFbf04JVH8iAlJ7BABOco4CQH96Bj50xQFnf0UDY3+hAGF8KQBeeU0Af0nqBVR/CQJSewMAN3SlAX9l6gU3dKUBW39dAlt/XQJbf10CWXelAVV/5QFSewMAUnsDAFBrKQA/elMBRG0BAGF/FABhfxQAYX8UAGBzAAB/NVIBVHkAAFR5AABFbQAAfltSAUVtAAB/XaUBZn9VAGZ7AQBQewEAf12lAX5vpQFQewEAAHSlAX5vpQEAdKUBWQClAVkApQFZAKUBWQClAVJ8AQBSfAEAUnwBAFFnAQBEbQEARG0BAGR/mQhgf00EX3+uAl1+uQFhf6UJV3+xAlZ/AwBUdWkCSX/HBkN4pQFtf5QDaH8qAWZ/NABifUQAf1azBV1/SAJWfwIAO3iIAX9rswU7eIgBX3+uAl9/rgJff64CXXulAVt/LQJWfwMAVn8DAFRvKQBCflIBSHEBAGZ+NABmfjQAZn40AGR3AAB/QFIBWH0AAFh9AABJcQAAfmFSAUlxAAB/aYgBbn+SAGp/AABUfwAAf2mIAX51iAFUfwAAAHiIAX51iAEAeIgBXQClAV0ApQFdAKUBXQClAVZ/AgBWfwIAVn8CAFVrAQBIcQEASHEBAGd/bQdlfzcEZH/5AmF/pQFkfy0IXX8ZAlt/HQBXeGUBUX+RBUh61QBvf34CbH/0AGp/UABnfhEAf10oBGN/iAFdfwQAQ3rIAH5vKARDesgAZH/5AmR/+QJkf/kCYX+lAV9/kwJbfx0AW38dAFhzKQBJf14BTHUBAGp/UABqf1AAan9QAGh7AAB/TFIBXX8EAF1/BABNdQAAfmdSAU11AAB/b8gAdH9KAHB/AABgfwAAf2/IAH54yABgfwAAAHrIAH54yAAAesgAYQClAWEApQFhAKUBYQClAVt/DQBbfw0AW38NAFlvAQBMdQEATHUBAG1/bgZqfz4EaH9xA2Z/wgFqf8IGY3/aAWB/egBde54AV3+OBE98PgByf74Bb3/hAG9/fQBsfwIAf2bSAml//gBmfyIATHw9AH9z0gJMfD0AaH9xA2h/cQNof3EDZn/CAWR/AgNgf3oAYH96AF14JgBRf6oBUXkCAG9/fQBvf30Ab399AGx/AgB/WlIBZn8iAGZ/IgBTeQEAf21SAVN5AQB/dj0Ad38ZAHd/AABufwAAf3Y9AH57PQBufwAAAHw9AH57PQAAfD0AZQClAWUApQFlAKUBZQClAV9/KABffygAX38oAF5zAQBReQEAUXkBAG9/qgVvf1UEbX/OA2l/HgJvf+EFZn8CAmZ/AgFifUIAYH8CBFR+BgB4f1YBdX/mAHV/tQBxfyUAf279AW9/1QBsf1oAVX4FAH53/QFVfgUAbX/OA21/zgNtf84DaX8eAmp/cgNmfwIBZn8CAWF8JgBafxICVX0CAHV/tQB1f7UAdX+1AHF/JQB/ZlIBbH9aAGx/WgBXfQEAf3NSAVd9AQB/fAUAfX8BAH1/AAB6fwAAf3wFAH5+BQB6fwAAAH4FAH5+BQAAfgUAaQClAWkApQFpAKUBaQClAWR/QQBkf0EAZH9BAGJ3AQBVfQEAVX0BAHJ/mwRyf8sDcH9xA29/IQJyf5IEbH/JAWt/MQFmfhEAZn8ZA1p/CQB5f9EAeH+bAHh/ggB2fy0Af3QmAXR/hgBxf1UAX38AAH56JgFffwAAcH9xA3B/cQNwf3EDb38hAm9//QJrfzEBa38xAWZ+DQBgf9EBWn8JAHh/ggB4f4IAeH+CAHZ/LQB/bt0AcX9VAHF/VQBffwAAfnfdAF9/AAB/fwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAAH8AAH9/AAAAfwAAbQClAW0ApQFtAKUBbQClAWp/cQBqf3EAan9xAGZ7AQBafwkAWn8JAHV/ZwN1f+8Cc3+9AnF/9gF1fzYDb39sAW9/CAFqfwEAaX8ZAmN/KQB7f0sAe387AHt/MgB5fxEAf3lxAHd/NgB3fx0Aa38AAH98cQBrfwAAc3+9AnN/vQJzf70CcX/2AXJ/MQJvfwgBb38IAWp/AQBmf0kBY38pAHt/MgB7fzIAe38yAHl/EQB/dFUAd38dAHd/HQBrfwAAfnpVAGt/AAB/fwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAAH8AAH9/AAAAfwAAcQClAXEApQFxAKUBcQClAW1/nQBtf50AbX+dAGp/AQBjfykAY38pAAA7cgMAKGQAAB4EAAAYVAEAJ2gHABmkBAAXTgIAD6QFABP4BwAPCAYAO3IDAChkAAAeBAAAGFQBEwBoBwAZpAQAF04CAA+kBScAaAcAD6QFABsAAAAbAAAAGwAAAA0BAAANogAACzoAAAs6AAAHYQAABbMAAAZ0AAAbAAAAGwAAABsAAAANAQAHAKIAAAs6AAALOgAAB2EADQCiAAAHYQAdAHIDAChkAAAeBAAAGFQBHQByAzsAcgMAGFQBABN0AzsAcgMAE3QDAEHhiw8LxwFHcgMAMSgAASIMAAAeBAEALzMJAB80BQAcZAIAEqQGABb8CQASNAcAR3IDADEoAAEiCAAAHgQBFwAzCQAfNAUAHGQCABKkBi8AMwkAEqQGACcAAAAnAAAAJwAAABMAAAAUUgEADoIAAA6CAAAKzQAACHMBAAn0AAAnAAAAJwAAACcAAAATAAAKAFIBAA6CAAAOggAACs0AFABSAQAKzQAjAHIDADEoAAMiAAAAHgQBIwByA0cAcgMAHgQBABd0A0cAcgMAF3QDAEHRjQ8LxwFTcgMANwgAASg8AAAhyAAAOFMLACXkBQAflAIAFdQHABloDAAVmAgAU3IDADcIAAImNAAAIcgAGwFTCwAl5AUAH5QCABXUBzgAUwsAFdQHADQAAAA0AAAANAAAABkAAAAaQgIAE9AAABPQAAANYQEAC3sCAAqeAQA0AAAANAAAADQAAAAZAAANAEICABPQAAAT0AAADWEBGgBCAgANYQEpAHIDADcIAAcmAAAAIcgAKQByA1MAcgMAIcgAABt0A1MAcgMAG3QDAEHAjw8L+DcCW4YDAT4UAAMshQAAJ6wAAELoCwAriAUAJegBABuYBwAfhA0AGs4IA1lyAwM8AgAFLEQAAiaoACEA6AsAK4gFACXoAQAbmAdCAOgLABuYBwI8FAACPBQAAjwUAAIeFAAAJIgCABygAAAcoAAAD1QBABEDAwAPuAEDOgAAAzoAAAM6AAADHgAAEgCIAgAcoAAAHKAAAA9UASQAiAIAD1QBLwByAwE+AAALKgAAACeIAC8AcgNfAHIDACeIAAAfdANfAHIDAB90AwEAFAABABQAAQAUAAEAFAAACQAAAAkAAAAJAAAABAEAAAMIAAADCAAEZeMDBENyAAYwGwEDLPIAAFDoCwAzyAQAKwsBACACBwAlQw4AHpMICF1zAwdBAgAJMEMABiqrACcB6AsAM8gEACsLAQAgAgdQAOgLACACBwRFcQAERXEABEVxAAQkcQAAMogCACJKAAAiSgAAFfoAABZeAwATsgEIPQEACD0BAAg9AQAIIgEAGAGIAgAiSgAAIkoAABX6ADIAiAIAFfoANQFyAwZBAQAPLwEAACxZADUBcgNtAHIDACxZAAAkcgNtAHIDACRyAwQAcQAEAHEABABxAAQAcQAAFwAAABcAAAAXAAAACwAAAAgpAAAIKQAGbXsEBkgSAQg18wEFL28BAFzoCwA5SAQAL4EAACRjBgArEw8AIocIDGFzAwtFAgANNEMACi6rAC0B6AsAOUgEAC+BAAAkYwZcAOgLACRjBgZNCQEGTQkBBk0JAQYpCQEAPogCACsaAAArGgAAGsEAABzeAwAXygEMQQEADEEBAAxBAQAMJgEAHgGIAgArGgAAKxoAABrBAD4AiAIAGsEAOwFyAwpFAQATMwEAADE6ADsBcgN5AHIDADE6AAAocgN5AHIDAChyAwYACQEGAAkBBgAJAQYACQEAIwAAACMAAAAjAAAAEQAAAA5hAAAOYQAIdVMFCE36AQo6GwMHNC8CAGjoCwA/6AMANSkAACfzBQAu/w8AJpMIEGVzAw9JAgAROEMADjKrADMA6AsAP+gDADUpAAAn8wVoAOgLACfzBQhV4QEIVeEBCFXhAQgu4QEASogCADECAAAxAgAAHoIAAB96BAAc7gEQRQEAEEUBABBFAQAQKgEAJAGIAgAxAgAAMQIAAB6CAEoAiAIAHoIAQQByAw5JAQAXNwEAADUZAEEAcgN/A3IDADUZAAAscgN/A3IDACxyAwgA4QEIAOEBCADhAQgA4QEALwAAAC8AAAAvAAAAFwAAABOpAAATqQAKfWsGC1MiAw09hwQJODoDAHXoCwBGpQMAOgsAAC1zBQA24RAAK7MIFGlzAxNNAgAVPEMAEjarADkA6AsARqUDADoLAAAtcwV1AOgLAC1zBQpd+QIKXfkCCl35Agoz+QIAVogCADgEAAA4BAAAI1kAACUqBQAfQgIUSQEAFEkBABRJAQAULgEAKgGIAgM2AAADNgAAACNZAFYAiAIAI1kARwByAxJNAQAbOwEAADoKAEcAcgN/CXIDADoKAAAwcgN/CXIDADByAwoA+QIKAPkCCgD5AgoA+QIAOwAAADsAAAA7AAAAHQAAABYVAQAWFQEOfvgGDlmhAxFBMQUNPLEDA3zoCwJLjgMDPg4AADIxBQA8dBAAL7YHGG5yAxhQBQAbQEYAFzuoAD8C6AsATX0DBD8KAAAyDQV+AugLADINBQ5jdAMOY3QDDmN0Aw04dAMDXogCAz4KAAM+CgABKEQAAC7oBAAlrAEYTgAAGE4AABhOAAAYMwAAMQCIAgc7AAAHOwAAACc0AGQAiAIAJzQATgByAxdRAQAgPwAAAD8BAE4AcgN+EHIDAD8BAAA0dAN+EHIDADR0Aw0AdAMNAHQDDQB0Aw0AdAMDQgAAA0IAAANCAAADIgAAAB/oAAAf6AATfhYHEl2hAxVFMQURQa4DB3/rCwZPjgMHQg4ABDYxBQBDhw8ANGgGHHJyAxxUBQAeQ0IAGz+oAEUB6AsBU3IDCUIKAAA1tQR+COgLADW1BBJndAMSZ3QDEmd0AxE8dAMHYogCCEEJAAhBCQAFLEQAADMjBAAr7AAcUgAAHFIAABxSAAAcNwAANwCIAgs/AAALPwAAAC0UAHAAiAIALRQAUwFyAxtVAQAkQgEABEIBAFMBcgN+FnIDBEIBAAA4dAN+FnIDADh0AxEAdAMRAHQDEQB0AxEAdAMHRgAAB0YAAAdGAAAHJgAAACWIAAAliAAXfz4HFmGhAxlJMQUVRa4DDH/4CwpTjgMLRg4ACDoxBQBJpw4AOV4FIHZyAyBYBQAiR0IAHkOlAEsB6AsFV3IDDUYKAAA7ZQR+DugLADtlBBZrdAMWa3QDFmt0AxVAdAMLZogCDEUJAAxFCQAJMEQAADmbAwAxbAAgVgAAIFYAACBWAAAgOwAAPQCIAhBBAQAQQQEAADEIAHwAiAIAMQgAWQFyAx9ZAQAoRgEACEYBAFkBcgN+HHIDCEYBAAA8dAN+HHIDADx0AxUAdAMVAHQDFQB0AxUAdAMLSgAAC0oAAAtKAAALKgAAAC5EAAAuRAAdf44HGmWhAx1NMQUZSa4DEX8TDA5XjgMPSg4ADD4xBQBP5w0APpYEJHpyAyRcBQAmS0IAIkelAFEA6AsJW3IDEUoKAAA+HQR+FOgLAD4dBBpvdAMab3QDGm90AxpDdAMPaogCEEkJABBJCQANNEQAAEAqAwA2GgAkWgAAJFoAACRaAAAkPwAAQgGIAhRFAQAURQEAADYBAH4FiAIANgEAXwFyAyNdAQAsSgEADEoBAF8BcgN+InIDDEoBAABAcgN+InIDAEByAxkAdAMZAHQDGQB0AxkAdAMPTgAAD04AAA9OAAAPLgAAADMSAAAzEgAhf/QHH2qjAyFRMwUdTa4DF39JDBNcjgMTTw4AEUExBQBXLw0AQv0DKX5zAyhiAgArUEEAJ0ymAFgA6AsOX3IDFU4JAABC5AN/GugLAELkAx50cgMedHIDHnRyAx5IcgMUbYkCFE0KABRNCgASOUMAAEbZAgE7AwApXgEAKV4BACleAQAoQwEASQCIAhhKAQAYSgEABDoBAH4MiAIEOgEAZgByAydiAQAwTwAAD08AAGYAcgN+KXIDD08AAABEdAN+KXIDAER0Ax4AcgMeAHIDHgByAx4AcgMUUgEAFFIBABRSAQATMwEAADwAAAA8AAAmf1YII26jAyVVMwUhUa4DHX+RDBdgjgMXUw4AFUUxBQBdrwwAR7UDLX97AyxmAgAvVEEAK1CmAF4A6AsSY3IDGVIJAABItAN/IOgLAEi0AyJ4cgMieHIDInhyAyJMcgMYcYkCGFEKABhRCgAWPUMAAE+hAgU/AwAtYgEALWIBAC1iAQAsRwEATwCIAhxOAQAcTgEACD4BAH8RiAIIPgEAbAByAytmAQA0UwAAE1MAAGwAcgN9L3IDE1MAAABIdAN9L3IDAEh0AyIAcgMiAHIDIgByAyIAcgMYVgEAGFYBABhWAQAXNwEAA0ABAANAAQAqf+wIJ3KjAylZMwUlVa4DIX/0DBtkjgMbVw4AGUkxBQBjTwwBTKEDMn+NAzBqAgAzWEEAL1SmAGQA6AsWZ3IDHVYJAABLlAN/JugLAEuUAyZ8cgMmfHIDJnxyAyZQcgMcdYkCHFUKABxVCgAbQEIAAFWJAghCBQAxZgEAMWYBADFmAQAwSwEAVQCIAiBSAQAgUgEAC0IAAH8XiAILQgAAcgByAy9qAQA4VwAAF1cAAHIAcgN/NHIDF1cAAABMdAN/NHIDAEx0AyYAcgMmAHIDJgByAyYAcgMcWgEAHFoBABxaAQAbOwEACEMBAAhDAQAvf24JK3ajAy1dMwUpWa4DJn9RDR9ojgMfWw4AHU0xBQBpDwwFUKEDN3+rAzRuAgA3XEEAM1imAGoA6Asaa3IDIVoJAABQfQN/LOgLAFB9Ayp/cwMqf3MDKn9zAypUcgMgeYkCIFkKACBZCgAfREIABFmJAgxGBQA1agEANWoBADVqAQA0TwEAWwCIAiRWAQAkVgEAD0YAAH8diAIPRgAAeAByAzNuAQA8WwAAG1sAAHgAcgN/OnIDG1sAAABQdAN/OnIDAFB0AyoAcgMqAHIDKgByAyoAcgMgXgEAIF4BACBeAQAfPwEADEcBAAxHAQA0fxgKL3qhAzJiMQUuXq4DLH/bDSNsjgMkXw4AIlIzBQBw7wsJVKMDPX/kAzlxBQA7YEIAN1ylAHAB6AsecHIDJl8KAABVcwN+M+gLAFVzAy9/fQMvf30DL399Ay9YdAMkf4gCJV4JACVeCQAjSEEACV2JAhFLAgA5bwAAOW8AADlvAAA5UwAAYgCIAilaAQApWgEAFUoBAH8kiAIVSgEAfwByAzhyAQBAYAEAIV8BAH8AcgN+QXIDIV8BAABVcgN+QXIDAFVyAy4AdAMuAHQDLgB0Ay4AdAMkYwAAJGMAACRjAAAkQwAAEUsBABFLAQA6f+gKM36hAzZmMQUyYq4DMX9YDidwjgMoYw4AJlYzBQN16QsNWKMDQX8lBD11BQA/ZEIAO2ClAHYB6AsidHIDKmMKAAJZcgN+OegLAllyAzR/lAM0f5QDNH+UAzNcdAMpf44CKWIJACliCQAnTEEADWGJAhVPAgA9cwAAPXMAAD1zAAA9VwAAaACIAi1eAQAtXgEAGU4BAH8qiAIZTgEAfwtyAzx2AQBEZAEAJWMBAH8LcgN+R3IDJWMBAABZcgN+R3IDAFlyAzIAdAMyAHQDMgB0AzIAdAMoZwAAKGcAAChnAAAoRwAAFU8BABVPAQA9f6gLN3+1AzpqMQU2Zq4DN3/4Dit0jgMsZw4AKlozBQd56QsRXKMDR399BEB6AwBCaUMAP2SlAHwB6AsmeHIDLmcKAAZdcgN+P+gLBl1yAzd/tAM3f7QDN3+0AzdgdAMufqoCLWYJAC1mCQArUEEAEWWJAhlTAgBBdgEAQXYBAEF2AQBBWwEAbgCIAjFiAQAxYgEAHVIBAH4wiAIdUgEAfxhyAz97AQBIaAEAKWcBAH8YcgN9TXIDKWcBAABdcgN9TXIDAF1yAzYAdAM2AHQDNgB0AzYAdAMsawAALGsAACxrAAAsSwAAGVMBABlTAQBBf44MPX/9Az5uMQU6aq4DPX+4Dy94jgMwaw4ALl4zBQt96QsVYKMDSn/dBER+AwBGbUMAQ2erAH8H6AsqfHIDMmsKAAphcgN/ROgLCmFyAz1/5AM9f+QDPX/kAztkdAMyf8oCMWoJADFqCQAvVEEAFWmJAh1XAgBFegEARXoBAEV6AQBFXwEAcwGIAjVmAQA1ZgEAIVYBAH42iAIhVgEAfyRyA0N/AABMbAEALWsBAH8kcgN/UnIDLWsBAABhcgN/UnIDAGFyAzoAdAM6AHQDOgB0AzoAdAMwbwAAMG8AADBvAAAwTwAAHVcBAB1XAQBHf6YNQX+WBEJyKAU+bq4DQX+HEDR9jgM0cA4AMmIxBRN/+wsaZaEDT39UBUl/GgBLckQASGyoAH8V6Aswf3UDNm8JABBldAN/S+gLEGV0A0F/HQRBfx0EQX8dBD9pcgM4fwEDNW4KADVuCgA0WUIAGW6JAiFbBQBJfgEASX4BAEl+AQBJZAAAegCIAjlrAQA5awEAJFsAAH49iAIkWwAAfzJyA0x/EgBRcAAAMHAAAH8ycgN/WXIDMHAAAABldAN/WXIDAGV0Az8AcgM/AHIDPwByAz8AcgM1cwEANXMBADVzAQA1UwEAIVwBACFcAQBKf8YORn9eBUZ2KAVCcbEDR39nETl/ngM4dA4ANmYxBRl/QwweaaEDVX/EBU9/YQBPdkQATHCoAH8h6As5f50DOnMJABRpdAN+UegLFGl0A0R/ZQREf2UERH9lBEJtdAM9fzsDOXIKADlyCgA4XUIAHXKJAiVfBQBOfggATn4IAE5+CABNaAAAfwKIAj1vAQA9bwEAKF8AAH9CiAIoXwAAfz5yA1F/RABVdAAANHQAAH8+cgN/X3IDNHQAAABpdAN/X3IDAGl0A0IAdANCAHQDQgB0A0IAdAM5dwEAOXcBADl3AQA5VwEAJWABACVgAQBPf7gPS39oBkp6KAVGdbEDSn9bEj9/BgQ8eA4AOmoxBSJ/uwwibaEDW39UBlR/7ABTekQAUHSoAH8t6AtAf+sDPncJABhtdAN+V+gLGG10A0p/tQRKf7UESn+1BEZxdANBf44DPXYKAD12CgA8YUIAIXaJAiljBQBSfxQAUn8UAFJ/FABRbAAAfw6IAkB0AABAdAAALGMAAH9IiAIsYwAAf0lyA1p/iABZeAAAOHgAAH9JcgN/ZXIDOHgAAABtdAN/ZXIDAG10A0YAdANGAHQDRgB0A0YAdAM9ewEAPXsBAD17AQA9WwEAKWQBAClkAQBVf+gQT3+FB05+KAVKebEDT384E0N/vwRAew4APm4xBSt/aw0mcaEDXn/4Blp/rAFXfkQAVHioAH856AtGf2sEQXwKABxxdAN+XegLHHF0A01/DQVNfw0FTX8NBUp1dANHf+4DQHsKAEB7CgA/ZEYAJXqJAi1nBQBXfjQAV340AFd+NABVcAAAfxuIAkR4AABEeAAAMGcAAH5OiAIwZwAAf1ZyA2B/6ABdfAAAPHwAAH9WcgN/a3IDPHwAAABxdAN/a3IDAHF0A0oAdANKAHQDSgB0A0oAdANAfgEAQH4BAEB+AQBAXwAALWgBAC1oAQBYfzMRVH+zCFJ/cwVOfZoDVX8LE0l/LgVFfwsAQXOWBDZ/bg0sdCIDZH/SBl9/QgJcf1kAWHx+AH9F/gpPf3oER38EACF1+QJ+Y/4KIXX5AlJ/cwVSf3MFUn9zBU95cwNNf3EERX8LAEV/CwBDakMAKn6JAjJsAgBcf1kAXH9ZAFx/WQBadAEAfyiIAkl8AABJfAAANmsBAH5ViAI2awEAf2D5Aml/FQFifwAAQ38AAH9g+QJ/cPkCQ38AAAB1+QJ/cPkCAHX5Ak8AcgNPAHIDTwByA08AcgNFfwoARX8KAEV/CgBEZAEAMmwBADJsAQBef3MPWX+TCFh/8wVTf3YDW3/jEE9/cwRKfykAR3QfAzx/jgsxdvoBZ39qBWN/7gFhf4IAXH0yAH9MyQhXf2YDTn8CACp34QF+Z8kIKnfhAVh/8wVYf/MFWH/zBVN9cwNSf+MESn8pAEp/KQBHbkMAMH+eAjZwAgBhf4IAYX+CAGF/ggBeeAEAfzWIAk5/AgBOfwIAOm8BAH5biAI6bwEAf2bhAWx/qQBofwAAT38AAH9m4QF/c+EBT38AAAB34QF/c+EBAHfhAVMAcgNTAHIDUwByA1MAcgNKfxkASn8ZAEp/GQBIaAEANnABADZwAQBhf/MNXX+HCFt/YwZXf3sDXn/zDlR/CwRPf3IASnfzAUN/EQo3eRIBan9KBGZ/ygFlf8EAYX4JAH9W6QZdf44CVH8aADJ5CQF/a+kGMnkJAVt/YwZbf2MGW39jBld/ewNVf2sFT39yAE9/cgBLckMAOX/eAjp0AgBlf8EAZX/BAGV/wQBifAEAf0CIAlR/GgBUfxoAPnMBAH5hiAI+cwEAf2wJAXF/YQBufwAAXH8AAH9sCQF/dgkBXH8AAAB5CQF/dgkBAHkJAVcAcgNXAHIDVwByA1cAcgNPfzIAT38yAE9/MgBMbAEAOnQBADp0AQBkf8MMYX+TCF9/Agdcf7oDYX9rDVd/zwNUfwsBT3kbAUl/6Qg8e3IAb39GA2t/sgFqf/oAZn8CAH9dXgVjf/YBXX9KADp7cQB+b14FOntxAF9/AgdffwIHX38CB1x/ugNbfwMGVH8LAVR/CwFPdkMAQH9IAz54AgBqf/oAan/6AGp/+gBmfwIAf0yIAl1/SgBdf0oAQXcBAH5niAJBdwEAf3NxAHd/KQB0fwAAaH8AAH9zcQB/eXEAaH8AAAB7cQB/eXEAAHtxAFsAcgNbAHIDWwByA1sAcgNTf1kAU39ZAFN/WQBQcAEAPngBAD54AQBnf9gLZX/OCGR/mAdgfzgEZ38YDF1/9ANaf+gBU3yFAFF/OAhBfhQAcn+aAm9/qQFvf0UBbH80AH9mCARpf5QBY3+gAEN9FAB/cwgEQ30UAGR/mAdkf5gHZH+YB2B/OARhf8gGWn/oAVp/6AFTekQASX/zA0N8AgBvf0UBb39FAW9/RQFsfzQAf1qIAmN/oABjf6AARXwAAH9tiAJFfAAAf3oSAHx/CAB6fwEAdn8AAH96EgB+fRIAdn8AAAB9FAB+fRIAAH0UAF8AdANfAHQDXwB0A18AdANYf4gAWH+IAFh/iABVdAAAQX4AAEF+AABtf8QKan+YCGd/1Admf6QEan/ICmB/JARgf5QCV348AFd/bAdIfwgAdX8WAnV/ngFyf2EBb39oAH9uAwNsf2ABbH/QAEt/AAB+dwMDS38AAGd/1Adnf9QHZ3/UB2Z/pARkf/gGYH+UAmB/lAJZfTQAUX9YBEh/CAByf2EBcn9hAXJ/YQFvf2gAf2VCAmx/0ABsf9AAS38AAH9yQgJLfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/fwAAAH8AAGMAdANjAHQDYwB0A2MAdANef8gAXn/IAF5/yABZeAAASH8IAEh/CABvf6YIbX80B21/pAZpf0gEbX+ECGZ/hANjf2QCXX4MAF1/vAVOfygAeH8yAXZ/9AB1f80AdH9BAH9xwwFxf9MAb399AFd/AAB/eMMBV38AAG1/pAZtf6QGbX+kBml/SARnf7QFY39kAmN/ZAJdfggAV39oA05/KAB1f80AdX/NAHV/zQB0f0EAf2tSAW9/fQBvf30AV38AAH91UgFXfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/fwAAAH8AAGcAdANnAHQDZwB0A2cAdANhfwQBYX8EAWF/BAFdfAAATn8oAE5/KAByfwYHb3/xBW9/jQVsfwQEb3+LBml/GANof04CYX8EAGB/aARXf2QAe3+WAHl/dAB4f2EAd38dAH922AB3f2MAdH86AGN/AAB+e9gAY38AAG9/jQVvf40Fb3+NBWx/BARtf6QEaH9OAmh/TgJhfwQAXX+4Ald/ZAB4f2EAeH9hAHh/YQB3fx0Af3GiAHR/OgB0fzoAY38AAH94ogBjfwAAf38AAH9/AAB/fwAAf38AAH9/AAB/fwAAf38AAAB/AAB/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AwIDAAEAAQABAAEAAQABAAEAAQIDAgMCAwIDAgMCAwIDAgMAAQABAAEAAQABAAEAAQABAgMCAwIDAgMCAwIDAgMCAwABAAEAAQABAAEAAQABAAECAwIDAgMCAwIDAgMCAwIDAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQECAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwICAwMAAAEBAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAAABAQAAAQEAAAEBAAABAQAAAQEAAAEBAAABAQAAAQECAgMDAgIDAwICAwMCAgMDAgIDAwICAwMCAgMDAgIDAwAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQECAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQAAAAABAQEBAAAAAAEBAQEAAAAAAQEBAQICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMCAgICAwMDAwICAgIDAwMDAgICAgMDAwMAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQAAAAAAAAAAAQEBAQEBAQEAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQAAAAAAAAAAAQEBAQEBAQEAAAAAAAAAAAEBAQEBAQEBAAAAAAAAAAABAQEBAQEBAQICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDAgICAgICAgIDAwMDAwMDAwICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDAgICAgICAgIDAwMDAwMDAwICAgICAgICAwMDAwMDAwMCAgICAgICAgMDAwMDAwMDgP///+D///8gAAAAgAAAAPD+//+w////UAAAABABAAAw/v//cP///5AAAADQAQAAYP3//zD////QAAAAoAIAAED8///g/v//IAEAAMADAAAA+///gP7//4ABAAAABQAAYPn///D9//8QAgAAoAYAAJD0//8Q/f//8AIAAHALAAAACBAYISkxOUJKUlpja3N7hIyUnKWttb3Gztbe5+/3/wAQITFCUmNzjJytvc7e7/8AIUprlLXe/wAiRGaIqszu/zAwMDAwMDAwMABiMDAwYjBiYjAAYjAwMDBiYjAwAGNiMDAwY2JjYgBjYjAwMDBjYmMAZGNiMDAwZGNiAGRjYjAwMDBkYwBlZGNiMDAwZWQAZWRjYjAwMDBlAGZlZGNiMDAwZgBB0c8RC4ABAQIDBAgJCgsMEBESExQYGRobHAUNFR0GICEiIyQoKSorLDAxMjM0ODk6OzwlLTU9DkBBQkNESElKS0xQUVJTVFhZWltcRU1VXRZgYWJjZGhpamtscHFyc3R4eXp7fGVtdX0eZmdGRyZub05PLnZ3Vlc2fn9eXz4nLzc/HwEAAgMAQeDQEQuUHQkAAAAEAgEAAQIEAAAACQADAgEAAgEABAUGAggLDQAACAAAABAAAAAIAAAAEAAAAAgAAAAQAAAAEAAAABAAAAAIAAAACAAAABAAAAAIAAAAEAAAAAQAAAACAAAAAgAAAAIAAAAQAAAACAAAAAgAAAAIAAAAEAAAAAQAAAACAAAAAgAAAAIAAAACAAAABAAAAAUAAAAHAAAAYnl0ZUxlbmd0aABpbml0aWFsaXplQmFzaXMAQmFzaXNGaWxlRGVzYwB2ZXJzaW9uAHVzUGVyRnJhbWUAdG90YWxJbWFnZXMAdXNlcmRhdGEwAHVzZXJkYXRhMQB0ZXhGb3JtYXQAeUZsaXBwZWQAaGFzQWxwaGFTbGljZXMAbnVtRW5kcG9pbnRzAGVuZHBvaW50UGFsZXR0ZU9mcwBlbmRwb2ludFBhbGV0dGVMZW4AbnVtU2VsZWN0b3JzAHNlbGVjdG9yUGFsZXR0ZU9mcwBzZWxlY3RvclBhbGV0dGVMZW4AdGFibGVzT2ZzAHRhYmxlc0xlbgBCYXNpc0ltYWdlRGVzYwBvcmlnV2lkdGgAb3JpZ0hlaWdodABudW1CbG9ja3NYAG51bUJsb2Nrc1kAbnVtTGV2ZWxzAGFscGhhRmxhZwBpZnJhbWVGbGFnAEJhc2lzSW1hZ2VMZXZlbERlc2MAcmdiRmlsZU9mcwByZ2JGaWxlTGVuAGFscGhhRmlsZU9mcwBhbHBoYUZpbGVMZW4AdHJhbnNjb2Rlcl90ZXh0dXJlX2Zvcm1hdABjVEZFVEMxX1JHQgBjVEZFVEMyX1JHQkEAY1RGQkMxX1JHQgBjVEZCQzNfUkdCQQBjVEZCQzRfUgBjVEZCQzVfUkcAY1RGQkM3X1JHQkEAY1RGUFZSVEMxXzRfUkdCAGNURlBWUlRDMV80X1JHQkEAY1RGQVNUQ180eDRfUkdCQQBjVEZBVENfUkdCAGNURkFUQ19SR0JBAGNURkZYVDFfUkdCAGNURlBWUlRDMl80X1JHQgBjVEZQVlJUQzJfNF9SR0JBAGNURkVUQzJfRUFDX1IxMQBjVEZFVEMyX0VBQ19SRzExAGNURlJHQkEzMgBjVEZSR0I1NjUAY1RGQkdSNTY1AGNURlJHQkE0NDQ0AGNURlRvdGFsVGV4dHVyZUZvcm1hdHMAZ2V0Qnl0ZXNQZXJCbG9ja09yUGl4ZWwAZm9ybWF0SGFzQWxwaGEAZm9ybWF0SXNVbmNvbXByZXNzZWQAaXNGb3JtYXRTdXBwb3J0ZWQAZ2V0Rm9ybWF0QmxvY2tXaWR0aABnZXRGb3JtYXRCbG9ja0hlaWdodABiYXNpc190ZXh0dXJlX3R5cGUAY0JBU0lTVGV4VHlwZTJEAGNCQVNJU1RleFR5cGUyREFycmF5AGNCQVNJU1RleFR5cGVDdWJlbWFwQXJyYXkAY0JBU0lTVGV4VHlwZVZpZGVvRnJhbWVzAGNCQVNJU1RleFR5cGVWb2x1bWUAYmFzaXNfdGV4X2Zvcm1hdABjRVRDMVMAY1VBU1RDNHg0AEJhc2lzRmlsZQBjbG9zZQBnZXRIYXNBbHBoYQBpc1VBU1RDAGdldE51bUltYWdlcwBnZXROdW1MZXZlbHMAZ2V0SW1hZ2VXaWR0aABnZXRJbWFnZUhlaWdodABnZXRJbWFnZVRyYW5zY29kZWRTaXplSW5CeXRlcwBzdGFydFRyYW5zY29kaW5nAHRyYW5zY29kZUltYWdlAGdldEZpbGVEZXNjAGdldEltYWdlRGVzYwBnZXRJbWFnZUxldmVsRGVzYwBiYXNpc3VfZGVjb2RlX2ZsYWdzAGNEZWNvZGVGbGFnc1BWUlRDRGVjb2RlVG9OZXh0UG93MgBjRGVjb2RlRmxhZ3NUcmFuc2NvZGVBbHBoYURhdGFUb09wYXF1ZUZvcm1hdHMAY0RlY29kZUZsYWdzQkMxRm9yYmlkVGhyZWVDb2xvckJsb2NrcwBjRGVjb2RlRmxhZ3NPdXRwdXRIYXNBbHBoYUluZGljZXMAY0RlY29kZUZsYWdzSGlnaFF1YWxpdHkATG93TGV2ZWxFVEMxU0ltYWdlVHJhbnNjb2RlcgBkZWNvZGVQYWxldHRlcwBkZWNvZGVUYWJsZXMAdHJhbnNjb2RlVUFTVENJbWFnZQB0cmFuc2NvZGVyU3VwcG9ydHNLVFgyAHRyYW5zY29kZXJTdXBwb3J0c0tUWDJac3RkAGt0eDJfc3VwZXJjb21wcmVzc2lvbgBLVFgyX1NTX05PTkUAS1RYMl9TU19CQVNJU0xaAEtUWDJfU1NfWlNUQU5EQVJEAEtUWDJfVktfRk9STUFUX1VOREVGSU5FRABLVFgyX0tERl9ERl9NT0RFTF9VQVNUQwBLVFgyX0tERl9ERl9NT0RFTF9FVEMxUwBLVFgyX0lNQUdFX0lTX1BfRlJBTUUAS1RYMl9VQVNUQ19CTE9DS19TSVpFAEtUWDJfTUFYX1NVUFBPUlRFRF9MRVZFTF9DT1VOVABLVFgyX0tIUl9ERl9UUkFOU0ZFUl9MSU5FQVIAS1RYMl9LSFJfREZfVFJBTlNGRVJfU1JHQgBrdHgyX2RmX2NoYW5uZWxfaWQAS1RYMl9ERl9DSEFOTkVMX0VUQzFTX1JHQgBLVFgyX0RGX0NIQU5ORUxfRVRDMVNfUlJSAEtUWDJfREZfQ0hBTk5FTF9FVEMxU19HR0cAS1RYMl9ERl9DSEFOTkVMX0VUQzFTX0FBQQBLVFgyX0RGX0NIQU5ORUxfVUFTVENfREFUQQBLVFgyX0RGX0NIQU5ORUxfVUFTVENfUkdCAEtUWDJfREZfQ0hBTk5FTF9VQVNUQ19SR0JBAEtUWDJfREZfQ0hBTk5FTF9VQVNUQ19SUlIAS1RYMl9ERl9DSEFOTkVMX1VBU1RDX1JSUkcAS1RYMl9ERl9DSEFOTkVMX1VBU1RDX1JHAGt0eDJfZGZfY29sb3JfcHJpbWFyaWVzAEtUWDJfREZfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEAEtUWDJfREZfUFJJTUFSSUVTX0JUNzA5AEtUWDJfREZfUFJJTUFSSUVTX1NSR0IAS1RYMl9ERl9QUklNQVJJRVNfQlQ2MDFfRUJVAEtUWDJfREZfUFJJTUFSSUVTX0JUNjAxX1NNUFRFAEtUWDJfREZfUFJJTUFSSUVTX0JUMjAyMABLVFgyX0RGX1BSSU1BUklFU19DSUVYWVoAS1RYMl9ERl9QUklNQVJJRVNfQUNFUwBLVFgyX0RGX1BSSU1BUklFU19BQ0VTQ0MAS1RYMl9ERl9QUklNQVJJRVNfTlRTQzE5NTMAS1RYMl9ERl9QUklNQVJJRVNfUEFMNTI1AEtUWDJfREZfUFJJTUFSSUVTX0RJU1BMQVlQMwBLVFgyX0RGX1BSSU1BUklFU19BRE9CRVJHQgBLVFgySW1hZ2VMZXZlbEluZm8AbGV2ZWxJbmRleABsYXllckluZGV4AGZhY2VJbmRleAB3aWR0aABoZWlnaHQAdG90YWxCbG9ja3MAS1RYMkhlYWRlcgB2a0Zvcm1hdAB0eXBlU2l6ZQBwaXhlbFdpZHRoAHBpeGVsSGVpZ2h0AHBpeGVsRGVwdGgAbGF5ZXJDb3VudABmYWNlQ291bnQAbGV2ZWxDb3VudABzdXBlcmNvbXByZXNzaW9uU2NoZW1lAGRmZEJ5dGVPZmZzZXQAZGZkQnl0ZUxlbmd0aABrdmRCeXRlT2Zmc2V0AGt2ZEJ5dGVMZW5ndGgAc2dkQnl0ZU9mZnNldABzZ2RCeXRlTGVuZ3RoAEtUWDJGaWxlAGlzVmFsaWQAZ2V0REZEU2l6ZQBnZXRERkQAZ2V0SGVhZGVyAGhhc0tleQBnZXRUb3RhbEtleXMAZ2V0S2V5AGdldEtleVZhbHVlU2l6ZQBnZXRLZXlWYWx1ZQBnZXRXaWR0aABnZXRIZWlnaHQAZ2V0RmFjZXMAZ2V0TGF5ZXJzAGdldExldmVscwBnZXRGb3JtYXQAaXNFVEMxUwBnZXRERkRDb2xvck1vZGVsAGdldERGRENvbG9yUHJpbWFyaWVzAGdldERGRFRyYW5zZmVyRnVuYwBnZXRERkRGbGFncwBnZXRERkRUb3RhbFNhbXBsZXMAZ2V0REZEQ2hhbm5lbElEMABnZXRERkRDaGFubmVsSUQxAGlzVmlkZW8AZ2V0RVRDMVNJbWFnZURlc2NJbWFnZUZsYWdzAGdl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AAADgAAAAwABAEGwgBILUQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBlIESC4sBAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABIAAAAUAAAAFgAAABgAAAAcAAAAIAAAACgAAAAwAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQBB4IISC+YEAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAABAAAABAAAAAgAAAAAAAAAAQABAQYAAAAAAAAEAAAAABAAAAQAAAAAIAAABQEAAAAAAAAFAwAAAAAAAAUEAAAAAAAABQYAAAAAAAAFBwAAAAAAAAUJAAAAAAAABQoAAAAAAAAFDAAAAAAAAAYOAAAAAAABBRAAAAAAAAEFFAAAAAAAAQUWAAAAAAACBRwAAAAAAAMFIAAAAAAABAUwAAAAIAAGBUAAAAAAAAcFgAAAAAAACAYAAQAAAAAKBgAEAAAAAAwGABAAACAAAAQAAAAAAAAABAEAAAAAAAAFAgAAACAAAAUEAAAAAAAABQUAAAAgAAAFBwAAAAAAAAUIAAAAIAAABQoAAAAAAAAFCwAAAAAAAAYNAAAAIAABBRAAAAAAAAEFEgAAACAAAQUWAAAAAAACBRgAAAAgAAMFIAAAAAAAAwUoAAAAAAAGBEAAAAAQAAYEQAAAACAABwWAAAAAAAAJBgACAAAAAAsGAAgAADAAAAQAAAAAEAAABAEAAAAgAAAFAgAAACAAAAUDAAAAIAAABQUAAAAgAAAFBgAAACAAAAUIAAAAIAAABQkAAAAgAAAFCwAAACAAAAUMAAAAAAAABg8AAAAgAAEFEgAAACAAAQUUAAAAIAACBRgAAAAgAAIFHAAAACAAAwUoAAAAIAAEBTAAAAAAABAGAAABAAAADwYAgAAAAAAOBgBAAAAAAA0GACAAQdCHEguHAgEAAQEFAAAAAAAABQAAAAAAAAYEPQAAAAAACQX9AQAAAAAPBf1/AAAAABUF/f8fAAAAAwUFAAAAAAAHBH0AAAAAAAwF/Q8AAAAAEgX9/wMAAAAXBf3/fwAAAAUFHQAAAAAACAT9AAAAAAAOBf0/AAAAABQF/f8PAAAAAgUBAAAAEAAHBH0AAAAAAAsF/QcAAAAAEQX9/wEAAAAWBf3/PwAAAAQFDQAAABAACAT9AAAAAAANBf0fAAAAABMF/f8HAAAAAQUBAAAAEAAGBD0AAAAAAAoF/QMAAAAAEAX9/wAAAAAcBf3//w8AABsF/f//BwAAGgX9//8DAAAZBf3//wEAABgF/f//AEHgiRILhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABB9I0SC5MOAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wP///8H////D////x////8/////fwAAAAABAAAAAgAAAAQAAAAAAAAAAgAAAAQAAAAIAAAAAAAAAAEAAAACAAAAAQAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAHAAAACAAAAAkAAAAKAAAACwAAAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAADskwQA5ooEAAAAAAABAAAAXHsEAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAA7JMEAECLBAAAAAAAAQAAAFx7BAAAAAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAADskwQAmIsEAAAAAAABAAAAXHsEAAAAAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAOyTBAD0iwQAAAAAAAEAAABcewQAAAAAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAaJMEAFCMBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAGiTBAB4jAQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAABokwQAoIwEAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAaJMEAMiMBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAGiTBADwjAQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAABokwQAGI0EAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAaJMEAECNBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAGiTBABojQQATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAABokwQAkI0EAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAAaJMEALiNBABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAAGiTBADgjQQAQaycEgsBgwBB05wSCwX//////wBBmJ0SC1ktKyAgIDBYMHgAKG51bGwpAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQBBgZ4SCyELAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAQbueEgsBDABBx54SCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQfWeEgsBDgBBgZ8SCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQa+fEgsBEABBu58SCx4PAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAQfKfEgsOEgAAABISEgAAAAAAAAkAQaOgEgsBCwBBr6ASCxUKAAAAAAoAAAAACQsAAAAAAAsAAAsAQd2gEgsBDABB6aASC/AHDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGYJUEAGJhc2ljX3N0cmluZwBfX2N4YV9ndWFyZF9hY3F1aXJlIGRldGVjdGVkIHJlY3Vyc2l2ZSBpbml0aWFsaXphdGlvbgBTdDl0eXBlX2luZm8AaJMEANeQBABOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAACQkwQA7JAEAOSQBABOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAACQkwQAHJEEABCRBABOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAACQkwQATJEEABCRBABOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQCQkwQAfJEEAHCRBABOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UAAAAAkJMEAKyRBAAQkQQATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAAAAkJMEAOCRBABwkQQAAAAAAGCSBACHAAAAiAAAAIkAAACKAAAAiwAAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQCQkwQAOJIEABCRBAB2AAAAJJIEAGySBABEbgAAJJIEAHiSBABiAAAAJJIEAISSBABjAAAAJJIEAJCSBABoAAAAJJIEAJySBABhAAAAJJIEAKiSBABzAAAAJJIEALSSBAB0AAAAJJIEAMCSBABpAAAAJJIEAMySBABqAAAAJJIEANiSBABsAAAAJJIEAOSSBABtAAAAJJIEAPCSBABmAAAAJJIEAPySBABkAAAAJJIEAAiTBAAAAAAAVJMEAIcAAACMAAAAiQAAAIoAAACNAAAATjEwX19jeHhhYml2MTE2X19lbnVtX3R5cGVfaW5mb0UAAAAAkJMEADCTBAAQkQQAAAAAAECRBACHAAAAjgAAAIkAAACKAAAAjwAAAJAAAACRAAAAkgAAAAAAAADYkwQAhwAAAJMAAACJAAAAigAAAI8AAACUAAAAlQAAAJYAAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAkJMEALCTBABAkQQAAAAAADSUBACHAAAAlwAAAIkAAACKAAAAjwAAAJgAAACZAAAAmgAAAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAACQkwQADJQEAECRBAAAAAAAoJEEAIcAAACbAAAAiQAAAIoAAACcAEHkqBILEtBiAACUYwAA0mIAAOBiAADwYgBBpKoSCwMY8wQAQeCqEgsBBQBB7KoSCwGEAEGEqxILC4UAAACGAAAAOPMEAEGcqxILAQIAQaurEgsF//////8AQfCrEgsDUPdU"},112:A=>{"use strict";A.exports="data:application/wasm;base64,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Rg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACEAYPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAAL5QEBB38gASAAKAIIIgQgACgCBCICa0ECdU0EQCAAIAEEfyACQQAgAUECdCIAEAcgAGoFIAILNgIEDwsCQCACIAAoAgAiAmsiBkECdSIHIAFqIgNBgICAgARJBEBB/////wMgBCACayIEQQF2IgggAyADIAhJGyAEQfz///8HTxsiAwRAIANBgICAgARPDQIgA0ECdBAFIQULIAdBAnQgBWpBACABQQJ0IgEQByEEIAAgBSACIAYQCiIFIANBAnRqNgIIIAAgASAEajYCBCAAIAU2AgAgAgRAIAIQBAsPCxAIAAsQCQAL1QEBAn8jAEEQayIEJAACQAJAIAJBC0kEQCAAIgMgAC0AC0GAAXEgAnI6AAsgACAALQALQf8AcToACwwBCyACQe////8HSw0BIARBCGogACACQQtPBH8gAkEQakFwcSIDIANBAWsiAyADQQtGGwVBCgtBAWoQQyAEKAIMGiAAIAQoAggiAzYCACAAIAAoAghBgICAgHhxIAQoAgxB/////wdxcjYCCCAAIAAoAghBgICAgHhyNgIIIAAgAjYCBAsgAyABIAJBAWoQNCAEQRBqJAAPCxAUAAuBAQECfwJAAkAgAkEETwRAIAAgAXJBA3ENAQNAIAAoAgAgASgCAEcNAiABQQRqIQEgAEEEaiEAIAJBBGsiAkEDSw0ACwsgAkUNAQsDQCAALQAAIgMgAS0AACIERgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAMgBGsPC0EACwgAQYIJEHoACwQAQQELkwEAIABBfzYCACAAQgA3AgQgAEIANwIgIABBAToAHCAAQgA3AhQgAEIANwIMIABCADcCKCAAQgA3AjAgAEIANwI4IABCADcCQCAAQgA3AkwgAEIANwJUIABCADcCXCAAIABBBGo2AkggAEIANwJoIABBAToAZCAAQgA3AnAgAEIANwJ4IABCADcCgAEgAEIANwKIAQt5AQN/IAAtAAwhAwJAIAAoAggiAUH/H0sNACAAKAIEIgJBAEwNACAAIAJBAWsiAjYCBCAAKAIAIAJqLQAAIAFBCHRyIQELIABBACADa0H/AXEiACABQQh2bCIDIAFB/wFxIgJqIAEgACADamsgACACSyIAGzYCCCAAC3oBAn8gAARAIAAoAlghASAAQQA2AlggAQRAIAEoAggiAgRAIAEgAjYCDCACEAQLIAEQBAsgACgCRCIBBEAgACABNgJIIAEQBAsgACgCQCEBIABBADYCQCABBEAgASgCACICBEAgASACNgIEIAIQBAsgARAECyAAEAQLC2kBA38CQCAAIgFBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawsJAEHGCRDJAQAL1gICB38CfiMAQRBrIgQkAAJAIAEpAxAiCSABKQMIWQ0AIAAgASgCACAJp2otAAA6AAwgASABKQMQQgF8NwMQQQEgBEEMaiABEMgBRQ0AIAQoAgwiAq0iCiABKQMIIAEpAxAiCX1VDQAgAkEATA0AIAAgASgCACAJp2oiBTYCAAJAAkAgAAJ/IAUgAkEBayIGaiIHLQAAIghBP00EQCAAIAY2AgQgBy0AAEE/cQwBCwJAIAhBBnZBAWsOAgACBAsgAkECSQ0DIAAgAkECayIDNgIEIAMgBWoiAy0AAUEIdEGA/gBxIAMtAAByC0GAIGo2AggMAQsgAkEDSQ0BIAAgAkEDayICNgIEIAAgAiAFaiIALQABQQh0IAAtAAJBEHRBgID8AXFyIAAtAAByIgBBgCBqNgIIIABB/98/Sw0BCyABIAkgCnw3AxBBASEDCyAEQRBqJAAgAwtEACABBEAgACABKAIAEBYgACABKAIEEBYgASgCHCIABEAgASAANgIgIAAQBAsgASwAG0EASARAIAEoAhAQBAsgARAECwtbACABBEAgACABKAIAEBcgACABKAIEEBcgASgCHCEAIAFBADYCHCAABEAgAEEMaiAAKAIQEBcgACAAKAIEEBYgABAECyABLAAbQQBIBEAgASgCEBAECyABEAQLC20CA38BfgJAIABBBUsNACACKQMQIgYgAikDCFkNACACKAIAIAanai0AACEEIAIgBkIBfDcDECABIATAIgVBAEgEfyAAQQFqIAEgAhAYRQ0BIAVB/wBxIAEoAgBBB3RyBSAECzYCAEEBIQMLIAML7QIBA38jAEEQayIEJAAgAEEANgIEAkACQCABRQ0AAkAgASAAKAIIIgNBBXQiBU0EQCAAIAE2AgQMAQsgBEEANgIIIARCADcDACABQQBIDQIgBCAFQf7///8DTQR/IANBBnQiAyABQR9qQWBxIgUgAyAFSxsFQf////8HCxAwIAAoAgAhAyAAIAQoAgA2AgAgBCADNgIAIAAoAgQhBSAAIAE2AgQgBCAFNgIEIAAoAgghBSAAIAQoAgg2AgggBCAFNgIIIANFDQAgAxAECyABQQV2IQMgACgCACEAIAItAAAEQCABQSBPBEAgAEH/ASADQQJ0EAcaCyABQWBxIAFGDQEgACADQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdnI2AgAMAQsgAUEgTwRAIABBACADQQJ0EAcaCyABQWBxIAFGDQAgACADQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdkF/c3E2AgALIARBEGokAA8LEAgAC5oEAQh/IAEgACgCCCIDIAAoAgQiBGtBAnVNBEACQCABRQ0AIAQhAyABQQdxIgYEQANAIAMgAigCADYCACADQQRqIQMgCEEBaiIIIAZHDQALCyABQQJ0IARqIQQgAUEBa0H/////A3FBB0kNAANAIAMgAigCADYCACADIAIoAgA2AgQgAyACKAIANgIIIAMgAigCADYCDCADIAIoAgA2AhAgAyACKAIANgIUIAMgAigCADYCGCADIAIoAgA2AhwgA0EgaiIDIARHDQALCyAAIAQ2AgQPCwJAIAQgACgCACIHayIKQQJ1IgYgAWoiBUGAgICABEkEQEH/////AyADIAdrIgNBAXYiBCAF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EA0iBA0BC0F/IAcgAiADSRshBAsgASAAIARBAEgiAhshASAAQQRqIAAgAhsoAgAiAA0ACyABIAZGDQACQCABKAIUIAEtABsiACAAwEEASCICGyIAIAMgACADSRsiBARAIAUgASgCECABQRBqIAIbIAQQDSIFDQELIAAgA0sNAQwCCyAFQQBODQELIAYhAQsgAQuOAQEBfyAABEAgACgCTCIBBEAgACABNgJQIAEQBAsgAEFAaygCACIBBEAgACABNgJEIAEQBAsgACgCMCIBBEAgACABNgI0IAEQBAsgACgCGCIBBEAgACABNgIcIAEQBAsgACgCDCIBBEAgACABNgIQIAEQBAsgACgCACIBBEAgACABNgIEIAEQBAsgABAECwvlAQEHfyABIAAoAggiBCAAKAIEIgJrQQN1TQRAIAAgAQR/IAJBACABQQN0IgAQByAAagUgAgs2AgQPCwJAIAIgACgCACICayIGQQN1IgcgAWoiA0GAgICAAkkEQEH/////ASAEIAJrIgRBAnYiCCADIAMgCEkbIARB+P///wdPGyIDBEAgA0GAgICAAk8NAiADQQN0EAUhBQsgB0EDdCAFakEAIAFBA3QiARAHIQQgACAFIAIgBhAKIgUgA0EDdGo2AgggACABIARqNgIEIAAgBTYCACACBEAgAhAECw8LEAgACxAJAAvHCQEJfyMAQSBrIgckAAJAAkAgACgCCEEFdCABTw0AIAFBAEgNASABQQFrQQV2QQFqIgFBAnQQBSECIAcgATYCGCAHQQA2AhQgByACNgIQIAAoAgAhASAHQQA2AgwgByABNgIIIAcgACgCBCICQR9xNgIEIAcgASACQQN2Qfz///8BcWo2AgAjAEEgayICJAAgByAHKAIEIgggBygCDCIFayAHKAIAIgkgBygCCCIDa0EDdGoiASAHKAIUIgZqIgQ2AhQgBkEAIARBAWsgBkEBa3NBIEkbRQRAIAcoAhAgBEEBa0EFdkEAIARBIU8bQQJ0akEANgIACyAHKAIQIAZBA3ZB/P///wFxaiEEAkAgBkEfcSIGIAVGBEAgAUEATA0BIAUEQCAEIAQoAgBBfyAFdEF/QSAgBWsiBiABIAYgASAGSBsiBmt2cSIIQX9zcSADKAIAIAhxcjYCACADQQRqIQMgBCAFIAZqQQN2Qfz///8BcWohBCABIAZr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ASkCADcCACADIAEoAgg2AgggA0EMaiEBIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsgACgCACECCyAAIAUgBEEMbGo2AgggACABNgIEIAAgAzYCACACBEAgAhAECw8LEAgACxAJAAuUBAEDfyABIAAgAUYiAjoADAJAIAINAANAIAEoAggiAi0ADA0BAkAgAiACKAIIIgMoAgAiBEYEQAJAIAMoAgQiBEUNACAELQAMDQAMAgsCQCABIAIoAgBGBEAgAiEBDAELIAIgAigCBCIBKAIAIgA2AgQgASAABH8gACACNgIIIAIoAggFIAMLNgIIIAIoAggiACAAKAIAIAJHQQJ0aiABNgIAIAEgAjYCACACIAE2AgggASgCCCIDKAIAIQILIAFBAToADCADQQA6AAwgAyACKAIEIgA2AgAgAARAIAAgAzYCCAsgAiADKAIINgIIIAMoAggiACAAKAIAIANHQQJ0aiACNgIAIAIgAzYCBCADIAI2AggPCwJAIARFDQAgBC0ADA0ADAELAkAgASACKAIARwRAIAIhAQwBCyACIAEoAgQiADYCACABIAAEfyAAIAI2AgggAigCCAUgAws2AgggAigCCCIAIAAoAgAgAkdBAnRqIAE2AgAgASACNgIEIAIgATYCCCABKAIIIQMLIAFBAToADCADQQA6AAwgAyADKAIEIgAoAgAiATYCBCABBEAgASADNgIICyAAIAMoAgg2AgggAygCCCIBIAEoAgAgA0dBAnRqIAA2AgAgACADNgIAIAMgADYCCAwCCyAEQQxqIQEgAkEBOgAMIAMgACADRjoADCABQQE6AAAgAyIBIABHDQALCwsrAQF/AkAgACgCLEUNACAAKAIwRQ0AIAAoAjRFDQAgACgCOEEARyEBCyABC8oEAQd/IAMgAmsiB0EATARADwsCQCAAKAIIIgQgACgCBCIIayAHTgRAIAggAWsiCSAHTgRAIAghBSADIQYMAgsgCCEFIAMgAiAJaiIGRwRAIAYhBANAIAUgBC0AADoAACAFQQFqIQUgBEEBaiIEIANHDQALCyAAIAU2AgQgCUEASg0BDwsgCCAAKAIAIgprIAdqIgZBAE4EQCABIAprIQkgCUH/////ByAEIAprIgVBAXQiBCAGIAQgBksbIAVB/////wNP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An8gByAAKAIcRQ0AGiABQQFqIgUgAUECayAFQQNwGyEEIAFBAWsgAUEDcA0AGiABQQJqCyEFIARBf0YEQCAAKAIUIQEMAwsgACgCECgCACAEQQJ0aigCACIEIAAoAhQiASgCBCABKAIAIghrQQJ1Tw0CIAAoAgggCCAEQQJ0aigCAEECdGooAgAhBCAAKAIEIgEtAFRFBEAgASgCRCAEQQJ0aigCACEECyADQgA3AzAgA0IANwMoIANCADcDICABIAQgASwAGCADQSBqEBsgBUF/RgRAIAAoAhQhAQwCCyAAKAIQKAIAIAVBAnRqKAIAIgUgACgCFCIBKAIEIAEoAgAiBGtBAnVPDQEgACgCCCAEIAVBAnRqKAIAQQJ0aigCACEEIAAoAgQiAS0AVEUEQCABKAJEIARBAnRqKAIAIQQLIANCADcDGCADQgA3AxAgA0IANwMIIAEgBCABLAAYIANBCGoQGyAKIAMpAwggAykDOCIKfSIJIAMpAyggAykDQCILfSIMfn0gAykDECALfSILIAMpAyAgCn0iD358IQogDSAJIAMpAzAgAykDSCINfSIQfnwgAykDGCANfSIJIA9+fSENIA4gCyAQfn0gCSAMfnwhDiADQdAAahB0IAMoAlgiAUF/Rw0ACyAOIA5CP4ciCYUgCX0hCUL///////////8AIQsgDSANQj+HIgyFIAx9IgxC////////////AIUhDwJAIAoCfiAAKAIcRQRAIAkgD1YNAkKAgICAcCAJIAx8IgkgCiAKQj+HIguFIAt9Igt8QiCGIAkgC0L///////////8AhVYbIglCgYCAgICAgIAgUw0CIAlCPYgMAQsCQCAJIA9WDQAgCSAMfCIJIAogCkI/hyIMhSAMfSIMQv///////////wCFVg0AIAkgDHwiC0KBgICAAlQNAgsgC0IdiAsiCX8hCiANIAl/IQ0gDiAJfyEOCyACIAo+AgggAiANPgIEIAIgDj4CACADQeAAaiQADwsQDgALEA4ACxAOAAsWACABQQFNBEAgACABNgIcCyABQQJJC5ULAgV/CX4jAEHgAGsiBCQAIAAoAhAhAyAEQQE6AFwgBCABNgJYIAQgATYCVCAEIAM2AlACQAJAIAMoAhwgAUECdGooAgAiAyAAKAIUIgUoAgQgBSgCACIFa0ECdUkEQCAAKAIIIAUg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CSgCAEF+IAt3cTYCACADQQJqIQMgAkECaiICIAhHDQALCyAERQ0AIAAgASADQQJ0aigCACIBQQN2Qfz///8BcWoiACAAKAIAQX4gAXdxNgIACwttAgN/AX4CQCAAQQVLDQAgAikDECIGIAIpAwhZDQAgAigCACAGp2otAAAhBCACIAZCAXw3AxAgASAEwCIFQQBIBH8gAEEBaiABIAIQYUUNASAFQf8AcSABKAIAQQd0cgUgBAs2AgBBASEDCyADC7QEAQh/IAEgACgCCCIDIAAoAgAiBGtBAnVNBEACQCAAKAIEIgUgBGtBAnUiByABIAEgB0sbIghFDQAgBCEDIAgiBkEHcSIJBEADQCADIAIoAgA2AgAgBkEBayEGIANBBGohAyAKQQFqIgogCUcNAAsLIAhBCEkNAANAIAMgAigCADYCACADIAIoAgA2AgQgAyACKAIANgIIIAMgAigCADYCDCADIAIoAgA2AhAgAyACKAIANgIUIAMgAigCADYCGCADIAIoAgA2AhwgA0EgaiEDIAZBCGsiBg0ACwsgASAHSwRAIAUgASAHa0ECdGohAQNAIAUgAigCADYCACAFQQRqIgUgAUcNAAsgACABNgIEDwsgACAEIAFBAnRqNgIEDwsgBARAIAAgBDYCBCAEEAQgAEEANgIIIABCADcCAEEAIQMLAkAgAUGAgICABE8NAEH/////AyADQQF2IgQgASABIARJGyADQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiAxAFIgQ2AgAgACADIARqNgIIIAIoAgAhAiAEIQMgAUEHcSIGBEADQCADIAI2AgAgA0EEaiEDIAVBAWoiBSAGRw0ACwsgAUECdCAEaiEEIAFBAWtB/////wNxQQdPBEADQCADIAI2AhwgAyACNgIYIAMgAjYCFCADIAI2AhAgAyACNgIMIAMgAjYCCCADIAI2AgQgAyACNgIAIANBIGoiAyAERw0ACwsgACAENgIEDwsQCAAL7wEBAn8gACAAKAIEIgIgAWoiAzYCBCACQQAgA0EBayACQQFrc0EgSRtFBEAgACgCACADQQFrQQV2QQAgA0EhTxtBAnRqQQA2AgALAkAgAUUNACAAKAIAIAJBA3ZB/P///wFxaiEAIAJBH3EiAgRAIAAgACgCAEF/IAJ0QX9BICACayICIAIgASABIAJLGyICa3ZxQX9zcTYCACABIAJrIQEgAEEEaiEACyABQQV2IQIgAUEgTwRAIABBACACQQJ0EAcaCyABIAFBYHFGDQAgACACQQJ0aiIAIAAoAgBBf0EgIAFBH3FrdkF/c3E2AgALC1sAIABCADcCACAAQQA2AjggAEIANwIwIABCADcCKCAAQgA3AiAgAEIANwIYIABCADcCECAAQgA3AgggAEFAa0IANwIAIABCADcCSCAAQgA3AlAgACAANgI8IAALBABBAgspACABBEAgACABKAIAEGYgACABKAIEEGYgAUEUaiABKAIYEDkgARAECwvTAQICfwJ+AkAgACgCQA0AQSAQBSICQgA3AxAgAkEANgIIIAJCADcDACACQgA3AxggACgCQCEDIAAgAjYCQCADRQ0AIAMoAgAiAgRAIAMgAjYCBCACEAQLIAMQBAsgACgCQEEAIAAoAhxBAWsiAkEKTQR/IAJBAnRBpM8AaigCAAVBfwsgAC0AGGysIgQgAa1+EKoBIgMEQCAAIAAoAkAiAjYCACAAIAIpAxA3AwggAikDGCEFIABCADcDMCAAIAQ3AyggACAFNwMQIAAgATYCUAsgAwtwACAAIAEpAwA3AwAgACABKQM4NwM4IAAgASkDMDcDMCAAIAEpAyg3AyggACABKQMgNwMgIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMINwMIIABBADYCWCAAQgA3A0AgAEIANwNIIABCADcATSAACzMAIABBADYCACAAIAE2AjggAEIANwMwIAAgBTcDKCAAIAQ6ACAgACADNgIcIAAgAjoAGAsQACAAKAIEIAAoAgBrQQJ1CwcAIAAoAlALCwAgAARAIAAQBAsLxwEBBH8CQCAAIAEQLSIBIABBBGpGDQAgAUEcaiIAKAIAIAAgASwAJ0EASBshAQNAIAEiAEEBaiEBIAAsAAAiAkEgRiACQQlrQQVJcg0ACwJAAkACQCAALAAAIgJBK2sOAwECAAILQQEhBAsgASwAACECIAEhAAsgAkEwa0EKSQRAA0AgA0EKbCAALAAAa0EwaiEDIAAsAAEhASAAQQFqIQAgAUEwa0EKSQ0ACwsgA0EAIANrIAQbIgBBf0YNACAAQQBHIQULIAULUQEBfgJ/IAEEQEEAQQEgAiAAEKkBRQ0BGgsgAEEBOgAkIABBADYCICAAIAAoAgAgACkDECIDp2oiAjYCGCAAIAIgACkDCCADfadqNgIcQQELC4gBAQN/IAAEQCAAKAIYIgMEQCAAKAIcIgIgAyIBRwRAA0AgAkEEayICKAIAIQEgAkEANgIAIAEEQCABQQxqIAEoAhAQFyABIAEoAgQQFiABEAQLIAIgA0cNAAsgACgCGCEBCyAAIAM2AhwgARAECyAAQQxqIAAoAhAQFyAAIAAoAgQQFiAAEAQLC7ELAgJ/An4jAEEwayIDJAAgA0H2zgApAQA3ASYgA0HwzgApAwA3AyAgA0HozgApAwA3AxggA0HgzgApAwA3AxACQAJAIAEpAwggASkDECIFQgV8UwRAIANBEGoQEyIEQfD///8HTw0CAkACQCAEQQtPBEAgBEEPckEBaiIBEAUhAiADIAFBgICAgHhyNgIIIAMgAjYCACADIAQ2AgQgAiAEaiEBDAELIAMgBDoACyADIARqIQEgAyECIARFDQELIAIgA0EQaiAEEAYaCyABQQA6AAAgAEF+NgIAIABBBGohACADLAALQQBOBEAgACADKQMANwIAIAAgAygCCDYCCAwCCyAAIAMoAgAgAygCBBAMIAMsAAtBAE4NASADKAIAEAQMAQsgAiABKAIAIAWnaiIEKAAANgAAIAIgBC0ABDoABCABIAEpAxBCBXwiBTcDECACQeIJQQUQDQRAQSAQBSIBQQA6ABEgAUHWCy0AADoAECABQc4LKQAANwAIIAFBxgspAAA3AAAgAEF/NgIAIABBBGogAUEREAwgARAEDAELIAUgASkDCFkEQCADQRBqEBMiBEHw////B08NAgJAAkAgBEELTwRAIARBD3JBAWoiARAFIQIgAyABQYCAgIB4cjYCCCADIAI2AgAgAyAENgIEIAIgBGohAQwBCyADIAQ6AAsgAyAEaiEBIAMhAiAERQ0BCyACIANBEGogBBAGGgsgAUEAOgAAIABBfjYCACAAQQRqIQAgAywAC0EATgRAIAAgAykDADcCACAAIAMoAgg2AggMAgsgACADKAIAIAMoAgQQDCADLAALQQBODQEgAygCABAEDAELIAIgASgCACAFp2otAAA6AAUgASABKQMQQgF8IgU3AxAgBSABKQMIWQRAIANBEGoQEyIEQfD///8HTw0CAkACQCAEQQtPBEAgBEEPckEBaiIBEAUhAiADIAFBgICAgHhyNgIIIAMgAjYCACADIAQ2AgQgAiAEaiEBDAELIAMgBDoACyADIARqIQEgAyECIARFDQELIAIgA0EQaiAEEAYaCyABQQA6AAAgAEF+NgIAIABBBGohACADLAALQQBOBEAgACADKQMANwIAIAAgAygCCDYCCAwCCyAAIAMoAgAgAygCBBAMIAMsAAtBAE4NASADKAIAEAQMAQsgAiABKAIAIAWnai0AADoABiABIAEpAxBCAXwiBTcDECAFIAEpAwhZBEAgA0EQahATIgRB8P///wdPDQICQAJAIARBC08EQCAEQQ9yQQFqIgEQBSECIAMgAUGAgICAeHI2AgggAyACNgIAIAMgBDYCBCACIARqIQEMAQsgAyAEOgALIAMgBGohASADIQIgBEUNAQsgAiADQRBqIAQQBhoLIAFBADoAACAAQX42AgAgAEEEaiEAIAMsAAtBAE4EQCAAIAMpAwA3AgAgACADKAIINgIIDAILIAAgAygCACADKAIEEAwgAywAC0EATg0BIAMoAgAQBAwBCyACIAEoAgAgBadqLQAAOgAHIAEgASkDEEIBfCIFNwMQIAUgASkDCFkEQCADIANBEGoQTyEBIABBfjYCACAAQQRqIQAgASwAC0EATgRAIAAgASkCADcCACAAIAEoAgg2AggMAgsgACABKAIAIAEoAgQQDCABLAALQQBODQEgASgCABAEDAELIAIgASgCACAFp2otAAA6AAggASABKQMQIgVCAXwiBjcDECABKQMIIAVCA3xTBEAgAyADQRBqEE8hASAAQX42AgAgAEEEaiEAIAEsAAtBAE4EQCAAIAEpAgA3AgAgACABKAIINgIIDAILIAAgASgCACABKAIEEAwgASwAC0EATg0BIAEoAgAQBAwBCyACIAEoAgAgBqdqLwAAOwEKIAEgASkDEEICfDcDECAAQgA3AgggAEIANwIACyADQTBqJAAPCxAUAAvvBQEGf0F/IQUCf0F/IAFBf0YNABogAUEBaiICIAFBAmsgAkEDcBshBSABQQFrIAFBA3ANABogAUECagshBgJAAn8CQAJAAkACQCAAKAKoAQ4IAAAFAgUBBQMFC0F/IQEgACgClAEhBEF/IQJBASEDIAAoApwBIgcgBUF/RwR/IAQoAgAgBUECdGooAgAFQX8LQQJ0aiICIAIoAgBBAWo2AgAgByAG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IAIgAygCBCIENgIAIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIIAIhBQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAVBAToADCACIAIoAgQiAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgAgAiADNgIIDAQLIAVFBEAgAkEBOgAMIANBADoADCADIAIoAgQiBTYCACAFBEAgBSADNgIICyACIAMoAgg2AgggAygCCCIFIAUoAgAgA0dBAnRqIAI2AgAgAiADNgIEIAMgAjYCCCACIAQgAyAERhshBCADKAIAIQILAkACQCACKAIAIgVFDQAgBS0ADA0AIAIhAwwBCwJAIAIoAgQiAwRAIAMtAAxFDQELIAJBADoADCACKAIIIgItAAxBACACIARHGw0CIAJBAToADAwFCyAFBEAgBS0ADEUEQCACIQMMAgsgAigCBCEDCyADQQE6AAwgAkEAOgAMIAIgAygCACIENgIEIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgAgAiADNgIIIAIhBQsgAyADKAIIIgItAAw6AAwgAkEBOgAMIAVBAToADCACIAIoAgAiAygCBCIENgIAIAQEQCAEIAI2AggLIAMgAigCCDYCCCACKAIIIgQgBCgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIDAMLIAIoAggiAyADKAIAIAJGQQJ0aigCACECDAALAAsgBUEBOgAMCyAHKAIcIgIEQCAHIAI2AiAgAhAECyAHLAAbQQBIBEAgBygCEBAECyAHEAQLIAlBADYCCCAJQgA3AwAgBigCBCICIAYoAgAiA2shBEEAIQUCQAJAIAIgA0cEQCAEQQBIDQEgCSAEEAUiBUEAIAQQByICIARqIgc2AgggCSAHNgIEIAkgAjYCACADIQILIAUgAiAEEAYaAkAgBiwAG0EATgRAIAkgBigCGDYCGCAJIAYpAhA3AxAMAQsgCUEQaiAGKAIQIAYoAhQQDAsgCUEcaiAJEJUBIAlBEGoiBCECIAkCfwJAAkAgCCgCBCIDRQRAIAhBBGoiBSECDAELIAIo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ACABQQJ0aigCAAsQACAAKAIEIAAoAgBrQQF1Cw0AIAAoAgQgACgCAGsLEAAgACgCDCAAKAIIa0ECdQsRACAAIAEgACgCACgCDBEBAAttAQJ/QSgQBSICQX82AgAgAkEIaiIDQgA3AxAgA0EANgIIIANCADcDACADQgA3AxggACACIAAoAgAoAhARBAAgASgCWCEAIAEgAjYCWCAABEAgACgCCCIBBEAgACABNgIMIAEQBAsgABAEC0EBCwcAIAAoAgAL2AEBBn8gASAAKAIIIgMgACgCBCICa0EBdU0EQCAAIAEEfyACQQAgAUEBdCIAEAcgAGoFIAILNgIEDwsCQCACIAAoAgAiAmsiBkEBdSIHIAFqIgRBAE4EQEH/////ByADIAJrIgMgBCADIARLGyADQf7///8HTxsiBARAIARBAEgNAiAEQQF0EAUhBQsgBSAHQQF0akEAIAFBAXQiARAHIQMgACAFIAIgBhAKIgUgBEEBdGo2AgggACABIANqNgIEIAAgBTYCACACBEAgAhAECw8LEAgACxAJAAt4AgF+An8CQCAAQQpLDQAgAikDECIDIAIpAwhZDQAgAigCACADp2osAAAhBSACIANCAXw3AxAgBa0hAyABAn4gBUEASARAIABBAWogASACEKkBRQ0CIANC/wCDIAEpAwBCB4aEDAELIANC/wGDCzcDAEEBIQQLIAQL0gMBBn8CfwJAAkAgAUUEQEEAIAJCAFMNAxogACgCBCIHIAAoAgAiA2siBCACpyIBSQRAIAEgBGsiBSAAKAIIIgYgB2tNBEAgACAHQQAgBRAHIAVqNgIEDAMLIAFBAEgNA0H/////ByAGIANrIgdBAXQiBiABIAEgBkkbIAdB/////wNPGyIHEAUiBiAEakEAIAUQBxogACAGIAMgBBAKIgQgB2o2AgggACABIARqNgIEIAAgBDYCACADRQ0CIAMQBAwCCyABIARPDQEgACABIANqNgIEDAELQQAgAkIAUw0CGgJAIAAoAgQiBiAAKAIAIgRrIgWtIAJZDQAgAqciAyAFSwRAIAMgBWsiByAAKAIIIgggBmtNBEAgACAGQQAgBxAHIAdqNgIEDAILIANBAEgNA0H/////ByAIIARrIgZBAXQiCCADIAMgCEkbIAZB/////wNPGyIGEAUiCCAFakEAIAcQBxogACAIIAQgBRAKIgUgBmo2AgggACADIAVqNgIEIAAgBTYCACAERQ0BIAQQBAwBCyADIAVPDQAgACADIARqNgIECyACpyIDRQ0AIAAoAgAgASADEAoaCyAAIAApAxhCAXw3AxhBAQwBCxAIAAsLgwIBB38gASAAKAIIIgIgACgCBCIDa0ECdU0EQCAAIAEEfyADQQAgAUECdCIAEAcgAGoFIAMLNgIEDwsCQCADIAAoAgAiBWtBAnUiByABaiIEQYCAgIAESQRAQf////8DIAIgBWsiAkEBdiIIIAQgBCAISRsgAkH8////B08bIgQEQCAEQYCAgIAETw0CIARBAnQQBSEGCyAHQQJ0IAZqIgJBACABQQJ0IgEQByABaiEBIAMgBUcEQANAIAJBBGsiAiADQQRrIgMoAgA2AgAgAyAFRw0ACwsgACAGIARBAnRqNgIIIAAgATYCBCAAIAI2AgAgBQRAIAUQBAsPCxAIAAsQCQALxwsBCX8gAUF/RgRAQQEPCyAAKAIYIAFBA24iA0EDdkH8////AHFqKAIAIAN2QQFxRQRAIAAgACgCMCICNgI0AkAgACgCOCACRwRAIAIgATYCACAAIAJBBGo2AjQMAQtBBBAFIgQgATYCACAAIARBBGoiBTYCOCAAIAU2AjQgACAENgIwIAJFDQAgAhAECyAAKAIEKAIcIgQgAUEBaiICIAFBAmsgAkEDcBsiBUECdGooAgAiAkF/RgRAQQAPCyAEQX9BAiABIANBA2xrGyABaiIDQQJ0aigCACIBQX9GBEBBAA8LIAAoAiQiBCACQQN2Qfz///8BcWoiBigCACIHQQEgAnQiCHEEfyAEBSAGIAcgCHI2AgAgAEEIaiACIAUQHyAAKAIkCyABQQN2Qfz///8BcWoiAigCACIEQQEgAXQiBXFFBEAgAiAEIAVyNgIAIABBCGogASADEB8LIAAoAjQiAyAAKAIwRgRAQQEPCyAAQQhqIQkDQAJAAkAgA0EEayIDKAIAIgFBf0YNACAAKAIYIAFBA24iAkEDdkH8////AHFqIgQoAgAiBUEBIAJ0IgJxDQAgBCACIAVyNgIAIAAoAgQiBCgCHCABQQJ0aigCACICQX9GBEBBAA8LA0AgASEDAkACQCAAKAIkIAJBA3ZB/P///wFxaiIFKAIAIgZBASACdCIHcQ0AAkACQCAEKAIoIAJBAnRqKAIAIgFBf0YNACABQQFqIgggAUECayAIQQNwGyIBQX9GDQAgBCgCACABQQN2Qfz///8BcWooAgAgAXZBAXENACAEKAJAKAIMIAFBAnRqKAIAIgFBf0cNAQsgBSAGIAdyNgIAIAkgAiADEB8gACgCBCEEDAELIAUgBiAHcjYCACAJIAIgAxAfIAAoAgQhBCABQQFqIgIgAUECayACQQNwG0F/Rg0AQX8hAQJAIANBf0YNACADQQFqIgIgA0ECayACQQNwGyICQX9GDQAgBCgCACACQQN2Qfz///8BcWooAgAgAnZBAXENACAEKAJAKAIMIAJBAnRqKAIAIQELQQEgAUEDbiICdCEGIAAoAhgiAyACQQV2IgdBAnRqKAIAIQgMAQsCQAJAIANBf0YNAEF/IQICQCADQQFqIgEgA0ECayABQQNwGyIBQX9GDQAgBCgCACABQQN2Qfz///8BcWooAgAgAXZBAXENACAEKAJAKAIMIAFBAnRqKAIAIQILQX8CfwJAIANBA3AEQCADQQFrIQMMAQtBfyADQQJqIgNBf0YNARoLQX8gBCgCACADQQN2Qfz///8BcWooAgAgA3ZBAXENABogBCgCQCgCDCADQQJ0aigCAAsiAUEDbiABQX9GIgobIQUgAkF/RwRAIAAoAhgiAyACQQNuIgZBBXYiB0ECdGooAgAiCEEBIAZ0IgZxRQ0CCyAKDQAgACgCGCIDIAVBBXYiB0ECdGooAgAiCEEBIAV0IgZxRQ0CCyAAIAAoAjRBBGsiAzYCNAwECyAKBEAgAiEBDAELIAMgBUEDdkH8////AXFqKAIAIAV2QQFxBEAgAiEBDAELIAAoAjQiBEEEayABNgIAIAAoAjggBEcEQCAEIAI2AgAgBEEEaiEDDAMLAkAgBCAAKAIwIgVrIgFBAnUiB0EBaiIDQYCAgIAESQRAQf////8DIAFBAXYiBiADIAMgBkkbIAFB/P///wdPGyIGBH8gBkGAgICABE8NAiAGQQJ0EAUFQQALIgggB0ECdGoiASACNgIAIAFBBGohAyAEIAVHBEADQCABQQRrIgEgBEEEayIEKAIANgIAIAQgBUcNAAsLIAAgCCAGQQJ0ajYCOCAAIAM2AjQgACABNgIwIAVFDQUgBRAEIAAoAjQhAwwFCxAIAAsQCQALIAMgB0ECdGogBiAIcjYCACAEKAIcIAFBAnRqKAIAIgJBf0cNAAtBAA8LIAAgAzYCNAsgACgCMCADRw0ACwtBAQvUCgEIfyABQX9GBEBBAQ8LIAAoAhggAUEDbiIFQQN2Qfz///8AcWooAgAgBXZBAXFFBEAgACAAKAIwIgI2AjQCQCAAKAI4IAJHBEAgAiABNgIAIAAgAkEEajYCNAwBC0EEEAUiAyABNgIAIAAgA0EEaiIENgI4IAAgBDYCNCAAIAM2AjAgAkUNACACEAQLQX8hAyAAKAIEIQQgAUEBaiICIAFBAmsgAkEDcBsiB0F/RwRAIAQoAgAgB0ECdGooAgAhAwsCQCABIAVBA2xrIgUEQCABQQFrIQIMAQsgAUECaiICQX9HDQBBAA8LIANBf0YEQEEADwsgBCgCACACQQJ0aigCACICQX9GBEBBAA8LIAAoAiQiBCADQQN2Qfz///8BcWoiBigCACIJQQEgA3QiCHEEfyAEBSAGIAggCXI2AgAgAEEIaiADIAcQHyAAKAIkCyACQQN2Qfz///8BcWoiAygCACIEQQEgAnQiB3FFBEAgAyAEIAdyNgIAIABBCGogAkF/QQIgBRsgAWoQHwsgACgCNCICIAAoAjBGBEBBAQ8LIABBCGohCQNAAkACQCACQQRrIgIoAgAiAUF/Rg0AIAAoAhggAUEDbiIDQQN2Qfz///8AcWoiBSgCACIEQQEgA3QiA3ENACAFIAMgBHI2AgADQCAAKAIEIgMoAgAgAUECdGooAgAiAkF/RgRAQQAPCwJAAkAgACgCJCACQQN2Qfz///8BcWoiBSgCACIEQQEgAnQiB3ENAAJAAkAgAygCGCACQQJ0aigCACIGQX9GDQAgBkEBaiIIIAZBAmsgCEEDcBsiBkF/Rg0AIAMoAgwgBkECdGooAgAiA0F/Rw0BCyAFIAQgB3I2AgAgCSACIAEQHwwBCyAFIAQgB3I2AgAgCSACIAEQHyADQQFqIgIgA0ECayACQQNwG0F/Rg0AIAFBAmshAyABQQFqIQJBfyEBIAIgAyACQQNwGyICQX9HBEAgACgCBCgCDCACQQJ0aigCACEBC0EBIAFBA24iAnQhBCAAKAIYIgMgAkEFdiIHQQJ0aigCACEGDAELQX8hAiAAKAIEIQUgAUEBaiIDIAFBAmsgA0EDcBsiA0F/RwRAIAUoAgwgA0ECdGooAgAhAgtBfwJ/AkAgAUEDcARAIAFBAWshAwwBC0F/IAFBAmoiA0F/Rg0BGgsgBSgCDCADQQJ0aigCAAsiAUEDbiABQX9GIggbIQUCQCACQX9HBEAgACgCGCIDIAJBA24iBEEFdiIHQQJ0aigCACIGQQEgBHQiBHFFDQELIAhFBEAgACgCGCIDIAVBBXYiB0ECdGooAgAiBkEBIAV0IgRxRQ0CCyAAIAAoAjRBBGsiAjYCNAwECyAIBEAgAiEBDAELIAMgBUEDdkH8////AXFqKAIAIAV2QQFxBEAgAiEBDAELIAAoAjQiA0EEayABNgIAIAAoAjggA0cEQCADIAI2AgAgA0EEaiECDAMLAkAgAyAAKAIwIgVrIgFBAnUiB0EBaiIEQYCAgIAESQRAQf////8DIAFBAXYiBiAEIAQgBkkbIAFB/P///wdPGyIEBH8gBEGAgICABE8NAiAEQQJ0EAUFQQALIgYgB0ECdGoiASACNgIAIAFBBGohAiADIAVHBEADQCABQQRrIgEgA0EEayIDKAIANgIAIAMgBUcNAAsLIAAgBiAEQQJ0ajYCOCAAIAI2AjQgACABNgIwIAVFDQUgBRAEIAAoAjQhAgwFCxAIAAsQCQALIAMgB0ECdGogBCAGcjYCACABQX9HDQALQQAPCyAAIAI2AjQLIAAoAjAgAkcNAAsLQQELggICA38CfgJAIAAoAgwiBCAAKAIIIgNrQQJ1IgUgAS0AGCIBSQRAIABBCGogASAFaxALIAAoAgghAyAAKAIMIQQMAQsgASAFTw0AIAAgAyABQQJ0aiIENgIMC0EAIQECQCACKQMIIAIpAxAiBiAEIANrIgStIgd8Uw0AIAMgAigCACAGp2ogBBAGGiACIAIpAxAgB3wiBjcDECACKQMIIAZCBHxTDQAgACACKAIAIAanaigAADYCFCACIAIpAxAiB0IEfCIGNwMQIAIpAwggBlcNACACKAIAIAanai0AACEDIAIgB0IFfDcDECADQQFrQR1LDQAgACADNgIEQQEhAQsgAQuHEwEKfwJAAkACQAJAAkAgACgCXCAAKAJYRg0AAkAgACgCNCICIAAoAjhHBEAgAiABNgIAIAAgAkEEajYCNAwBCyACIAAoAjAiA2siBEECdSIGQQFqIgVBgICAgARPDQVB/////wMgBEEBdiIHIAUgBSAHSRsgBEH8////B08bIgUEfyAFQYCAgIAETw0DIAVBAnQQBQVBAAsiByAGQQJ0aiIEIAE2AgAgBEEEaiEGIAIgA0cEQANAIARBBGsiBCACQQRrIgIoAgA2AgAgAiADRw0ACwsgACAHIAVBAnRqNgI4IAAgBjYCNCAAIAQ2AjAgA0UNACADEAQLIABBADYCVEF/IQICf0F/IAFBf0YNABogACgCBCEEIAFBAWoiAyABQQJrIANBA3AbIgNBf0cEQCAEKAIAIANBAnRqKAIAIQILAkAgAUEDcARAIAFBAWshBQwBC0F/IAFBAmoiBUF/Rg0BGgsgBCgCACAFQQJ0aigCAAsiBEEDdkH8////AXEgACgCJCIDIAJBA3ZB/P///wFxaiIFKAIAIgZBASACdCIHcQR/IAMFIAUgBiAHcjYCACAAQQhqIAIgAUF/RwR/IAFBAWoiAiABQQJrIAJBA3AbBUF/CxAfIAAoAiQLaiICKAIAIgNBASAEdCIFcUUEQCACIAMgBXI2AgAgAEEIaiAEAn9BfyABQX9GDQAaIAFBAWsgAUEDcA0AGiABQQJqCxAfC0F/IQIgAUF/RwRAIAAoAgQoAgAgAUECdGooAgAhAgsgACgCJCACQQN2Qfz///8BcWoiBCgCACIDQQEgAnQiBXFFBEAgBCADIAVyNgIAIABBCGogAiABEB8LIAAoAlQiA0ECSg0AA0AgACADQQxsaiIBKAIwIAEoAjQiAkYEQCADQQFqIgNBA0cNAQwCCyACQQRrIgQoAgAhAiABIAQ2AjQgACADNgJUIAJBf0YNAQJAIAAoAhgiBCACQQNuIgFBA3ZB/P///wBxaigCACABdkEBcQ0AAkADQCAEIAJBA24iB0EDdkH8////AHFqIgEgASgCAEEBIAd0cjYCAEF/IQMCQAJAAn8gAkF/RwRAIAAoAgQoAgAgAkECdGooAgAhAwsCQAJAAkACQAJAIAAoAiQgA0EDdkH8////AXFqIgEoAgAiBEEBIAN0IgVxRQRAIAEgBCAFcjYCACAAKAIQKAJgIAdBDGxqIAJBA3BBAnRqKAIAIQkCQCAAKAIUKAIEIgUoAgQiBCAFKAIIRwRAIAQgCTYCACAFIARBBGo2AgQMAQsgBCAFKAIAIgZrIgFBAnUiCkEBaiIIQYCAgIAETw0CQf////8DIAFBAXYiCyAIIAggC0kbIAFB/P///wdPGyIIBH8gCEGAgICABE8NECAIQQJ0EAUFQQALIgsgCkECdGoiASAJNgIAIAFBBGohCSAEIAZHBEADQCABQQRrIgEgBEEEayIEKAIANgIAIAQgBkcNAAsLIAUgCyAIQQJ0ajYCCCAFIAk2AgQgBSABNgIAIAZFDQAgBhAECwJAIAAoAgwiBSgCBCIEIAUoAghHBEAgBCACNgIAIAUgBEEEajYCBAwBCyAEIAUoAgAiBmsiAUECdSIJQQFqIghBgICAgARPDQNB/////wMgAUEBdiIKIAggCCAKSRsgAUH8////B08bIggEfyAIQYCAgIAETw0QIAhBAnQQBQVBAAsiCiAJQQJ0aiIBIAI2AgAgAUEEaiEJIAQgBkcEQANAIAFBBGsiASAEQQRrIgQoAgA2AgAgBCAGRw0ACwsgBSAKIAhBAnRqNgIIIAUgCTYCBCAFIAE2AgAgBkUNACAGEAQLIAAoAgwiASgCDCADQQJ0aiABKAIYNgIAIAEgASgCGEEBajYCGAsgAkF/Rg0JIAAoAgQhAUF/IQQgAkEBaiIDIAJBAmsgA0EDcBsiA0F/RwRAIAEoAgwgA0ECdGooAgAhBAsCfwJAIAdBA2wgAkcEQCACQQFrIQMMAQtBfyACQQJqIgNBf0YNARoLIAEoAgwgA0ECdGooAgALIgJBf0YhAyACQQNuIQYgBEF/RwRAIAAoAhggBEEDbiIFQQN2Qfz///8AcWooAgBBASAFdHEhBSADDQMgBUEARyEFDAQLQQEhBSADRQ0DDAkLEAgACxAIAAsgBUUNAQwGCwJAIAAoAhhBfyAGIAMbIgNBA3ZB/P///wFxaigCACADdkEBcQ0AQQAhByAAKAIkIAEoAgAgAkECdGooAgAiAUEDdkH8////AXFqKAIAIAF2QQFxRQRAIAAoAlggAUECdGoiASABKAIAIgFBAWo2AgBBAkEBIAFBAEwbIQcLIAUgByAAKAJUTHENAwJAIAAgB0EMbGoiBigCNCIBIAYoAjhHBEAgASACNgIAIAYgAUEEajYCNAwBCyABIAYoAjAiCGsiA0ECdSIKQQFqIglBgICAgARPDQxB/////wMgA0EBdiILIAkgCSALSRsgA0H8////B08bIgkEfyAJQYCAgIAETw0MIAlBAnQQBQVBAAsiCyAKQQJ0aiIDIAI2AgAgA0EEaiECIAEgCEcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASAIRw0ACwsgBiADNgIwIAYgAjYCNCAGIAsgCUECdGo2AjggCEUNACAIEAQLIAAoAlQgB0wNACAAIAc2AlQLIAUNBUF/IARBf0YNARoLIAAoAgQoAgAgBEECdGooAgALIQJBACEBIAAoAiQgAkEDdkH8////AXFqKAIAIAJ2QQFxRQRAIAAoAlggAkECdGoiASABKAIAIgFBAWo2AgBBAkEBIAFBAEwbIQELIAEgACgCVEoNASAEIQILIAAoAhghBAwBCwsCQCAAIAFBDGxqIgUoAjQiAiAFKAI4RwRAIAIgBDYCACAFIAJBBGo2AjQMAQsgAiAFKAIwIgZrIgNBAnUiCEEBaiIHQYCAgIAETw0HQf////8DIANBAXYiCSAHIAcgCUkbIANB/P///wdPGyIHBH8gB0GAgICABE8NBiAHQQJ0EAUFQQALIgkgCEECdGoiAyAENgIAIANBBGohBCACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsLIAUgAzYCMCAFIAQ2AjQgBSAJIAdBAnRqNgI4IAZFDQAgBhAECyAAKAJUIgMgAUwNASAAIAE2AlQgASEDDAELIAAoAlQhAwsgA0EDSA0ACwtBAQ8LEAkACxAIAAsQCAALEAgAC7EEAQV/IABBkMEANgIAIABB6AFqIgMoAsQBIgEEQCADIAE2AsgBIAEQBAsgAygCuAEiAgRAIAMoArwBIgQgAiIBRwRAA0AgBEEMayIBKAIAIgUEQCAEQQhrIAU2AgAgBRAECyABIgQgAkcNAAsgAygCuAEhAQsgAyACNgK8ASABEAQLIAMoApwBIgEEQCADIAE2AqABIAEQBAsgAygCiAEhAiADQQA2AogBIAIEQCACQQRrIgQoAgAiAQRAIAIgAUEEdGohAQNAIAFBEGsiASACRw0ACwsgBBAECyAAQdgBahCxASAAKALEASIBBEAgACABNgLIASABEAQLIAAoArgBIgEEQCAAIAE2ArwBIAEQBAsgACgCrAEiAQRAIAAgATYCsAEgARAECyAAKAKgASIBBEAgACABNgKkASABEAQLIAAoApABIgEEQANAIAEoAgAhAiABEAQgAiIBDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBAsgACgCeCIBBEAgARAECyAAKAJsIgEEQCABEAQLIAAoAmAiAQRAIAEQBAsgACgCSCIBBEAgACABNgJMIAEQBAsgACgCPCIBBEAgARAECyAAKAIwIgEEQCAAIAE2AjQgARAECyAAKAIkIgEEQCAAIAE2AiggARAECyAAKAIYIgEEQCAAIAE2AhwgARAECyAAKAIMIgEEQCAAIAE2AhAgARAECyAAKAIIIQEgAEEANgIIIAEEQCABEC4LIAALmgEBBH8gACgCACIEBEAgBCEDIAQgACgCBCIBRwRAA0AgAUGQAWsiAygChAEiAgRAIAFBCGsgAjYCACACEAQLIAFBHGsoAgAiAgRAIAFBGGsgAjYCACACEAQLIAFBKGsoAgAiAgRAIAFBJGsgAjYCACACEAQLIAFBjAFrEFEgAyIBIARHDQALIAAoAgAhAwsgACAENgIEIAMQBAsLpQMBBH8gAEHcwAA2AgAgACgC8AIhAyAAQQA2AvACIAMEQCADQQRrIgQoAgAiAQRAIAMgAUEEdGohAgNAIAJBEGsiAiADRw0ACwsgBBAECyAAQdgBahCxASAAKALEASIBBEAgACABNgLIASABEAQLIAAoArgBIgEEQCAAIAE2ArwBIAEQBAsgACgCrAEiAQRAIAAgATYCsAEgARAECyAAKAKgASIBBEAgACABNgKkASABEAQLIAAoApABIgIEQANAIAIoAgAhASACEAQgASICDQALCyAAKAKIASEBIABBADYCiAEgAQRAIAEQBAsgACgCeCIBBEAgARAECyAAKAJsIgEEQCABEAQLIAAoAmAiAQRAIAEQBAsgACgCSCIBBEAgACABNgJMIAEQBAsgACgCPCIBBEAgARAECyAAKAIwIgEEQCAAIAE2AjQgARAECyAAKAIkIgEEQCAAIAE2AiggARAECyAAKAIYIgEEQCAAIAE2AhwgARAECyAAKAIMIgEEQCAAIAE2AhAgARAECyAAKAIIIQEgAEEANgIIIAEEQCABEC4LIAALBwAgACgCCAuyAQEDfwJAIAAoAgQiAiAAKAIIIgRBBXRGBEAgAkEBakEASA0BQf////8HIQMgACACQf7///8DTQR/IARBBnQiAyACQWBxQSBqIgIgAiADSRsFQf////8HCxAwIAAoAgQhAgsgACACQQFqNgIEQQEgAnQhAyAAKAIAIAJBA3ZB/P///wFxaiEAIAEt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ACgCBDYCBCACIAAoAgg2AgggAiAAKAIMNgIMIABBADYCDCAAQgA3AgQgAiAAKAIQNgIQIAIgACgCFDYCFCACIAAoAhg2AhggAEEANgIYIABCADcCECAALQAcIQUgAkEANgIoIAJCADcCICACIAU6ABwgAiAAKAIgNgIgIAIgACgCJDYCJCACIAAoAig2AiggAEEANgIoIABCADcCICACQQA2AjQgAkIANwIsIAIgACgCLDYCLCACIAAoAjA2AjAgAiAAKAI0NgI0IABBADYCNCAAQgA3AiwgAkFAayIFQQA2AgAgAkIANwI4IAIgACgCODYCOCACIAAoAjw2AjwgBSAAQUBrIgUoAgA2AgAgBUEANgIAIABCADcCOCACIAAoAkQ2AkQgACgCSCEFIAJBADYCVCACQgA3AkwgAiAFNgJIIAIgACgCTDYCTCACIAAoAlA2AlAgAiAAKAJUNgJUIABBADYCVCAAQgA3AkwgAkEANgJgIAJCADcCWCACIAAoAlg2AlggAiAAKAJcNgJcIAIgACgCYDYCYCAAQQA2AmAgAEIANwJYIAAtAGQhBSACQQA2AnAgAkIANwJoIAIgBToAZCACIAAoAmg2AmggAiAAKAJsNgJsIAIgACgCcDYCcCAAQQA2AnAgAEIANwJoIAJBADYCfCACQgA3AnQgAiAAKAJ0NgJ0IAIgACgCeDYCeCACIAAoAnw2AnwgAEEANgJ8IABCADcCdCAAKAKAASEFIAJBADYCjAEgAkIANwKEASACIAU2AoABIAIgACgChAE2AoQBIAIgACgCiAE2AogBIAIgACgCjAE2AowBIABBADYCjAEgAEIANwKEASAEIAZHDQALIAEgAzYCCCABKAIEIQAgASAHNgIEIAEoAgAhBCABIAI2AgAgACAERg0DA0AgAEGQAWsiASgChAEiAgRAIABBCGsgAjYCACACEAQLIABBHGsoAgAiAgRAIABBGGsgAjYCACACEAQLIABBKGsoAgAiAgRAIABBJGsgAjYCACACEAQLIABBjAFrEFEgASIAIARHDQALDAMLEAgACxAJAAsgASADNgIIIAEgBzYCBCABIAI2AgALIAQEQCAEEAQLCw8LIAEgA0kEQCAGIAFBkAFsaiIEIAJHBEADQCACQZABayIBKAKEASIDBEAgAkEIayADNgIAIAMQBAsgAkEcaygC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AkEANgIEIAJBADYCTCACIAQ2AkQgAkGwwwA2AgggAkIANwIMIAJCADcCFCACQgA3AhwgAkIANwIkIAJCADcCLCACQQA2AjQgAiAFIANBkAFsaiIDQegAaiIFNgJIIAJBQGtBADYCACACQgA3AjggCCAENgIYIAhCADcCRCAIQgA3AjwgCEIANwI0IAhCADcCLCAIQgA3AlQgCEIANwJMIAggAjYCHCAIIAgpAxg3AwggCCAFNgIUIAggA0EEaiIENgIQIAhCADcCJCAIQbDDADYCICAIIAgpAxA3AwAgCEEgaiIDIAQgCBC9ASACQQhqIgQgAxByIAMgBEcEQCACQThqIAMoAjAgAygCNBA3CyADELwBGgwCCyMAQUBqIgIkACAAKAIEKAIsIQZB0AAQBSIDQbDJADYCACADQQA2AgQgA0EANgJMIAMgBDYCSCADIAY2AkQgA0HUygA2AgggA0IANwIMIANCADcCFCADQgA3AhwgA0IANwIkIANCADcCLCADQQA2AjQgA0FAa0EANgIAIANBOGoiCkIANwIAIAAoAgghBSACQgA3AyggAkIANwMgIAJBGGoiB0IANwMAIAJCADcDECACQQA2AjggAkIANwMIIAJCADcDMCACQdTKADYCACACIAU2AgQgBSgCACEJIAUoAgQhCyACQQA6AD8gByALIAlrQQJ1QQNuIAJBP2oiBxAZIAIoAgQiCSgCHCELIAkoAhghCSACQQA6AD8gAkEkaiALIAlrQQJ1IAcQGSACIAM2AhQgAiAGNgIQIAIgBDYCDCACIAU2AgggA0EIaiACEHIgCiACKAIwIAIoAjQQNyACQdTKADYCACACKAIwIgQEQCACIAQ2AjQgBBAECyACQZzJADYCACACKAIkIgQEQCAEEAQLIAIoAhgiBARAIAQQBAsgAkFAayQAIAMLIgJFDQELQcAAEAUgAhCAASECIAAoAgQhAyACIQACQAJAIAEiAkEATgRAIANBCGohBgJAIAMoAgwiASADKAIIIgprQQJ1IgQgAkoNACACQQFqIQUgAiAETwRAIAYgBSAEaxBaDAELIAQgBU0NACAKIAVBAnRqIgUgAUcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCAEKAIAKAIEEQIACyABIAVHDQALCyADIAU2AgwLIAYoAgAgAkECdGoiAygC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CikCADcCACAIIAooAgg2AgggBEEANgIQDAELIAggBSgCBCAFKAIIEAwgBSwADyEIIARBADYCECAIQQBODQAgBSgCBBAECyAGEAQLIAVBEGokAAJAIAQoAgAiBQRAIAAgBTYCACAAQQRqIQAgBCwAD0EATgRAIAAgBEEEciIBKQIANwIAIAAgASgCCDYCCAwCCyAAIAQoAgQgBCgCCBAMDAELIAQoAhAhBSAEQQA2AhAgBSADNgIsIwBBIGsiBiQAIAUgAjYCICAFIAE2AiggBSADNgIEIAAgAiAGQRBqEHACQCAAKAIADQAgACwAD0EASARAIAAoAgQQBAsgBi0AFyIBIAUgBSgCACgCCBEAAEcEQEHAABAFIgFBADoAMiABQZgKLwAAOwAwIAFBkAopAAA3ACggAUGICikAADcAICABQYAKKQAANwAYIAFB+AkpAAA3ABAgAUHwCSkAADcACCABQegJKQAANwAAIABBfzYCACAAQQRqIAFBMhAMIAEQBAwBCyAFIAYtABUiAjoAJCAFIAYtABYiAzoAJSACQQJHBEBBIBAFIgFBADoAGiABQZMLLwAAOwAYIAFBiwspAAA3ABAgAUGDCykAADcACCABQfsKKQAANwAAIABBezYCACAAQQRqIAFBGhAMIAEQBAwBCyADQQJBAyABGyIBRwRAQSAQBSIBQQA6ABogAUH4Ci8AADsAGCABQfAKKQAANwAQIAFB6AopAAA3AAggAUHgCikAADcAACAAQXs2AgAgAEEEaiABQRoQDCABEAQMAQsgBSgCICABQYAEcjsBJgJAIAYuARpBAE4NACMAQRBrIgMkAEEkEAUiAUIANwIEIAFCADcCGCABQRBqIgJCADcCACABIAFBBGo2AgAgAUEANgIgIAEgAjYCDCADQQA2AgAgBSgCICECIwBBEGsiCiQAAn9BACABRQ0AGiADIAI2AgAgCkEANgIMQQBBASAKQQxqIAIQNkUNABogCigCDCIOBEADQAJAQQEgCkEIaiADKAIAEDYEQEEcEAUiAkIANwIEIAJBEGoiCEIANwIAIAIgAkEEajYCACACIAg2AgwgAiAKKAIINgIYIAMgAhCXAQ0BIAJBDGogAigCEBAXIAIgAigCBBAWIAIQBAtBAAwDCyMAQRBrIggkACAIIAI2AggCQCACRQ0AAkAgASgCHCIHIAEoAiBJBEAgCEEANgIIIAcgAjYCACABIAdBBGo2AhwMAQtBACECAkACQAJAIAEoAhwgASgCGCIJa0ECdSIMQQFqIgdBgICAgARJBEBB/////wMgASgCICAJayIJQQF2IgsgByAHIAtJGyAJQfz///8HTxsiCQRAIAlBgICAgARPDQIgCUECdBAFIQILIAgoAgghCyAIQQA2AgggAiAMQQJ0aiIHIAs2AgAgAiAJQQJ0aiEJIAdBBGohDCABKAIcIgIgASgCGCILRg0CA0AgAkEEayICKAIAIQ8gAkEANgIAIAdBBGsiByAPNgIAIAIgC0cNAAsgASAJNgIgIAEoAhwhCSABIAw2AhwgASgCGCECIAEgBzYCGCACIAlGDQMDQCAJQQRrIgkoAgAhByAJQQA2AgAgBwRAIAdBDGogBygCEBAXIAcgBygCBBAWIAcQBAsgAiAJRw0ACwwDCxAIAAsQCQALIAEgCTYCICABIAw2AhwgASAHNgIYCyACBEAgAhAECwsgCCgCCCECIAhBADYCCCACRQ0AIAJBDGogAigCEBAXIAIgAigCBBAWIAIQBAsgCEEQaiQAIA1BAWoiDSAORw0ACwsgAyABEJcBCyECIApBEGokAAJAIAIEQCAFKAIEIggoAgQhAiAIIAE2AgQgAgRAIAIQbwsgAEIANwIAIABCADcCCAwBC0EgEAUiAkEAOgAaIAJBjQwvAAA7ABggAkGFDCkAADcAECACQf0LKQAANwAIIAJB9QspAAA3AAAgAEF/NgIAIABBBGogAkEaEAwgAhAEIANBADYCCCABEG8LIANBEGokACAAKAIADQEgACwAD0EATg0AIAAoAgQQBAsgBSAFKAIAKAIMEQAARQRAQTAQBSIBQQA6ACEgAUHeCi0AADoAICABQdYKKQAANwAYIAFBzgopAAA3ABAgAUHGCikAADcACCABQb4KKQAANwAAIABBfzYCACAAQQRqIAFBIRAMIAEQBAwBCyAFIAUoAgAoAhQRAABFBEAgBkGQDBBPIQEgAEF/NgIAIABBBGohAiABLAALQQBOBEAgAiABKQIANwIAIAIgASgCCDYCCAwCCyACIAEoAgAgASgCBBAMIAEsAAtBAE4NASABKAIAEAQMAQsgBSAFKAIAKAIYEQAARQRAIAZBmwoQTyEBIABBfzYCACAAQQRqIQIgASwAC0EATgRAIAIgASkCADcCACACIAEoAgg2AggMAgsgAiABKAIAIAEoAgQQDCABLAALQQBODQEgASgCABAEDAELIABCADcCACAAQgA3AggLIAZBIGokACAAKAIARQRAIAAsAA9BAEgEQCAAKAIEEAQLIABCADcCACAAQgA3AggLIAUgBSgCACgCBBECAAsgBCgCECEAIARBADYCECAABEAgACAAKAIAKAIEEQIACyAELAAPQQBODQAgBCgCBBAECyAEQdAAaiQAC24CA38BfgJAIABBBUsNACACKQMQIgYgAikDCFkNACACKAIAIAanai0AACEEIAIgBkIBfDcDECABIATAIgVBAEgEfyAAQQFqIAEgAhDIAUUNASAFQf8AcSABKAIAQQd0cgUgBAs2AgBBASEDCyADCx8AQQgQXCAAEIkBIgBB/NkANgIAIABBnNoAQQEQAQALqgECAn8DfgJAIAEpAwgiBSABKQMQIgRCBHwiBlMNACABKAIAIASnaigAACECIAEgBjcDECAFIARCCHwiBFMNACABIAQ3AxAgAkEBcUUNACACZ0EfcyICQQFrQRxLDQAgACACQQFqNgIIIABBfiACdCICQX5zIgM2AhAgACACQX9zNgIMIAAgA0EBdTYCGCAAQwAAAEAgA7KVOAIUIABB4ABqIAEQFSEDCyADCyUBAX8CQCABKAI4DQAgAS0AGEEDRw0AIAAgATYCMEEBIQILIAILQwEBfwJAIAAoAjBFDQAgACgCNEUNACAAKAIcRQ0AIAAoAiBFDQAgACgCJEUNACAAKAIoRQ0AIAAoAkxBf0chAQsgAQsKACAAIAEgAhB/CwQAQQYLBABBAgu/AQIDfwN+AkAgASkDCCIHIAEpAxAiBUIEfCIGUw0AIAEoAgAiAiAFp2ooAAAhAyABIAY3AxAgByAFQgh8IgVTDQAgAiAGp2ooAAAhAiABIAU3AxAgAiADSA0AIAAgAjYCECAAIAM2AgwgAqwgA6x9IgVC/v///wdWDQAgACAFp0EBaiIDNgIUIAAgA0EBdiICNgIYIABBACACazYCHCADQQFxRQRAIAAgAkEBazYCGAsgAEHwAGogARAVIQQLIAQLKAEBfwJAIAEoAjgNACABLQAYQQNHDQAgAEFAayABNgIAQQEhAgsgAgtGAQF/AkAgAEFAaygCAEUNACAAKAJERQ0AIAAo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IAIpAgA3AgggACACKQIINwIQIAAgAikCEDcCGCAAQQA2AiggAEIANwIgAkAgAigCHCIBIAIoAhgiA0cEQCABIANrIgNBAEgNASAAIAMQBSIBNgIkIAAgATYCICAAIAEgA0F8cWo2AiggAigCGCIDIAIoAhwiBUcEQANAIAEgAygCADYCACABQQRqIQEgA0EEaiIDIAVHDQALCyAAIAE2AiQLIABB2BY2AgAgACAEKQIANwIsIAAgBCkCCDcCNCAAQUBrQgA3AgAgAEGgIDYCPCAAQawbNgIAIAAgBCkCADcCSCAAIAQpAgg3AlAgAEKAgID8czcCaCAAQn83AmAgAEKBgICAcDcCWCAAQZgdNgI8IABCADcCcCAAQgA3AHUgAAwBCxAIAAshAAsgAAwBCwwDCyEDDAELIAQoAiwhBCAHIAk2AgwgByAENgIIIAcgADYCFCAHIABBDGo2AhACfyAHQQhqIQRBACEAAkACQAJAAkACQAJAIAFBAWsOBgAEBAECAwQLQTwQBSIBIAU2AgQgAUGQFzYCACABIAIpAgA3AgggASACKQIINwIQIAEgAikCEDcCGCABQQA2AiggAUIANwIgIAIoAhwiBSACKAIYIgBHBEAgBSAAayIGQQBIDQggASAGEAUiAzYCICABIAMgBkF8cWo2AigDQCADIAAoAgA2AgAgA0EEaiEDIABBBGoiACAFRw0ACyABIAM2AiQLIAEgBCkCADcCLCABIAQpAgg3AjQgAUG8IDYCACABDAULQfAAEAUiASAFNgIEIAFBkBc2AgAgASACKQIANwIIIAEgAikCCDcCECABIAIpAhA3AhggAUEANgIoIAFCADcCICACKAIcIgUgAigCGCIARwRAIAUgAGsiBkEASA0HIAEgBhAFIgM2AiAgASADIAZBfHFqNgIoA0AgAyAAKAIANgIAIANBBGohAyAAQQRqIgAgBUcNAAsgASADNgIkCyABIAQpAgA3AiwgASAEKQIINwI0IAFCADcCPCABQeQjNgIAIAFCADcCRCABQgA3AkwgAUIANwJUIAFCADcCXCABQgA3AmQgAUEANgJsIAEMBAtB6AAQBSIBIAU2AgQgAUGQFzYCACABIAIpAgA3AgggASACKQIINwIQIAEgAikCEDcCGCABQQA2AiggAUIANwIgIAIoAhwiBSACKAIYIgBHBEAgBSAAayIGQQBIDQMgASAGEAUiAzYCICABIAMgBkF8cWo2AigDQCADIAAoAgA2AgAgA0EEaiEDIABBBGoiACAFRw0ACyABIAM2AiQLIAEgBCkCADcCLCABIAQpAgg3AjQgAUEANgJUIAFCADcCTCABQgA3AjwgAUHQJTYCACABIAQpAgA3AlggASAEKQIINwJgIAEMAwsCf0GAARAFIgAgBTYCBCAAQZAXNgIAIAAgAikCADcCCCAAIAIpAgg3AhAgACACKQIQNwIYIABBADYCKCAAQgA3AiACQCACKAIcIgEgAigCGCIDRwRAIAEgA2siA0EASA0BIAAgAxAFIgE2AiQgACABNgIgIAAgASADQXxxajYCKCACKAIYIgMgAigCHCIFRwRAA0AgASADKAIANgIAIAFBBGohASADQQRqIgMgBUcNAAsLIAAgATYCJAsgAEGsIzYCACAAIAQpAgA3AiwgACAEKQIINwI0IABBQGtCADcCACAAQfgrNgI8IABBsCc2AgAgACAEKQIANwJIIAAgBCkCCDcCUCAAQoCAgPxzNwJoIABCfzcCYCAAQoGAgIBwNwJYIABBjCk2AjwgAEIANwJwIABCADcAdSAADAELEAgACyEACyAADAELDAILIQMLIAdBIGokACADDAELEAgACyIDDQELQSwQBSIDIAo2AgQgA0GQFzYCACADIAIpAgA3AgggAyACKQIINwIQIAMgAikCEDcCGCADQQA2AiggA0IANwIgIAIoAhwiACACKAIYIgJHBEAgACACayIBQQBIDQIgAyABEAUiBDYCICADIAQgAUF8cWo2AigDQCAEIAIoAgA2AgAgBEEEaiEEIAJBBGoiAiAARw0ACyADIAQ2AiQLIANBlCw2AgALIAMMAQsQCAALIQQgCCgCICIARQ0AIAggADYCJCAAEAQLIAhBMGokACAEC88BAgN/A34CQCACKQMIIgggAikDECIGVw0AIAIoAgAiBCAGp2osAAAhAyACIAZCAXwiBzcDEAJAIANBfkYNACAHIAhZDQEgBCAHp2osAAAhBCACIAZCAnw3AxAgBEEEa0H/AXFB+wFJDQEgACADIAQgACgCACgCKBEDACEEIAAoAhQhAyAAIAQ2AhQgA0UNACADIAMoAgAoAgQRAgALIAAoAhQiAwRAIAAgAyAAKAIAKAIcEQEARQ0BCyAA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IABBf0cL6gICB38BfgJAIAAgARCdAUUNACAAQSRqIQYCQCAAIAAoAgAoAhgRAAAiBSAAKAIoIgMgACgCJCIEa0ECdSICSwRAIAYgBSACaxBaDAELIAIgBU0NACAEIAVBAnRqIgQgA0cEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyADIARHDQALCyAAIAQ2AigLQQEhAiAFQQBMDQBBACEDA0ACQCABKQMQIgkgASkDCFkNACABKAIAIAmnai0AACECIAEgCUIBfDcDECAAIAIgACgCACgCMBEBACEEIANBAnQiByAAKAIkaiIIKAIAIQIgCCAENgIAIAIEQCACIAIoAgAoAgQRAgALIAYoAgAgB2ooAgAiAkUNACACIAAgACgCACgCHBEAACAAIAMgACgCACgCFBEBACACKAIAKAIIEQMARQ0AQQEhAiAFIANBAWoiA0cNAQwCCwtBACECCyACCycBAX8gAEGADzYCACAAKAIQIQEgAEEANgIQIAEEQCABEBILIAAQBAslAQF/IABBgA82AgAgACgCECEBIABBADYCECABBEAgARASCyAAC90BAgZ/A34gASgCACEDIAEoAgQhAUF/IAAoAggpAygiCaciBCAEQQBIGxAFIQUCf0EBIAEgA2siA0EESA0AGkEAIgEgAikDECIKIAlC/////w+DIgt8IgkgAikDCFUNABpBASADQQJ1IgYgBkEBTBshB0EAIQMDQAJAIAUgAigCACAKp2ogBBAGIQggAiAJNwMQIAAoAggoAkAoAgAgAWogCCAEEAYaIANBAWoiAyAHRg0AIAEgBGohASACKQMQIgogC3wiCSACKQMIVw0BCwsgAyAGTgshACAFEAQgAAvTAQEGf0EBIQQCQCABIAEoAgAoAhQRAABBAEwNAANAQQAhBCAAKAIEKAIEIAEgBSABKAIAKAIYEQEAEJIBIgJBf0YNASAAKAIEIQNBACEGAkAgAkEASA0AIAMoAgQiBygCDCAHKAIIa0ECdSACTA0AIAMoAgggAygCFCACQQJ0aigCAEECdGooAgAiAyACIAMoAgAoAiARAQAhBgsgBiICRQ0BIAEgAiABKAIAKAIcEQEARQ0BQQEhBCABIAEoAgAoAhQRAAAgBUEBaiIFSg0ACwsgBAsEAEEBCz4BAn8CQCAAKAII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IAAgB2o2AgQgAyAHNgIAIAFFDQEgARAEDAELIAAgB08NACADIAAgAWo2AgQLIAtFBEBBASEBDAMLIAVFBEBBACEBQQAhAANAIAIgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALIAIsABggBhBMRQ0EIABBAWoiACALTyEBIAAgC0cNAAsMAwsgBUH8AXEhCCAFQQNxIQdBACEBIAVBBEkhCUEAIQUDQCACIAItAFQEfyAFBSACKAJEIAVBAnRqKAIACyACLAAYIAYQTEUNA0EAIQFBACEAQQAhCiAJRQRAA0AgAygCACAEaiAAIAZqLQAAOgAAIAQgAygCAGogBiAAQQFyai0AADoAASAEIAMoAgBqIAYgAEECcmotAAA6AAIgBCADKAIAaiAGIABBA3JqLQAAOgADIABBBGohACAEQQRqIQQgCkEEaiIKIAhHDQALCyAHBEADQCADKAIAIARqIAAgBmotAAA6AAAgAEEBaiEAIARBAWohBCABQQFqIgEgB0cNAAsLIAVBAWoiBSALTyEBIAUgC0cNAAsMAwsQCAALEAgACyAGRQ0BCyAGEAQLIAxBEGokACABQQFxC5AGAQl/IwBBEGsiDCQAIAEoAlAiCyACLQAYIgVsIQACQAJAAkACQAJAIAIoAhwiAUEBRyABQQJHcQ0AIAItAFRFDQAgAigCMCEBIAIoAgAoAgAhAiAMQQA2AgggDEIANwMAIAAEQCAAQQBIDQIgABAFIgYgASACaiAAEAYgAGohBAsgAygCACIABEAgAyAANgIEIAAQBAsgAyAENgIIIAMgBDYCBCADIAY2AgBBASEBDAQLIAUEQCAFEAUiBkEAIAUQBxoLAkACQCADKAIEIgggAygCACIBayIHIABJBEAgACAHayIKIAMoAggiCSAIa00EQCADIAhBACAKEAcgCmo2AgQMAgsgAEEASA0CQf////8HIAkgAWsiCEEBdCIJIAAgACAJSRsgCEH/////A08bIggQBSIJIAdqQQAgChAHGiADIAkgASAHEAoiByAIajYCCCADIAAgB2o2AgQgAyAHNgIAIAFFDQEgARAEDAELIAAgB08NACADIAAgAWo2AgQLIAtFBEBBASEBDAMLIAVFBEBBACEBQQAhAANAIAIgAi0AVAR/IAAFIAIoAkQgAEECdGooAgALIAIsABggBhBNRQ0EIABB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EAQLIARBIGokACAADAILEBQACxAUAAsLhAIBA38CfyMAQSBrIgAkACACEBMiA0Hw////B0kEQAJAAkAgA0ELTwRAIANBD3JBAWoiBBAFIQUgACAEQYCAgIB4cjYCGCAAIAU2AhAgACADNgIUIAMgBWohBAwBCyAAIAM6ABsgAEEQaiIFIANqIQQgA0UNAQsgBSACIAMQBhoLIARBADoAACAAQQA6AAQgAEHuwrWrBjYCACAAQQQ6AAsCf0F/IAEoAgQiAkUNABpBfyACIAAgAEEQahCWASICRQ0AGiABIAIoAhgQkQELIQEgACwAC0EASARAIAAoAgAQBAsgACwAG0EASARAIAAoAhAQBAsgAEEgaiQAIAEMAQsQFAALCwkAIAEgAhCSAQvfAQEDfyMAQUBqIgQkACAEQQhqEB4iBUIANwMQIAUgATYCACAFIAKtNwMIIARBMGoiASAAIAUgAxDHASAAIAQoAjA2AhgCQCABIABBGGoiBUYNACAAQRxqIQEgBEEwakEEciECIAQtAD8iBsAhAyAALAAnQQBOBEAgA0EATgRAIAEgAikCADcCACABIAIoAgg2AggMAgsgASAEKAI0IAQoAjgQQQwBCyABIAQoAjQgAiADQQBIIgAbIAQoAjggBiAAGxBCCyAELAA/QQBIBEAgBCgCNBAECyAEQUBrJAAgBQvZAQEDfyMAQUBqIgMkACADQQhqEB4iBEIANwMQIAQgATYCACAEIAKtNwMIIANBMGoiARDGASAAIAMoAjA2AhgCQCABIABBGGoiBUYNACAAQRxqIQEgA0EwakEEciECIAMtAD8iBsAhBCAALAAnQQBOBEAgBEEATgRAIAEgAikCADcCACABIAIoAgg2AggMAgsgASADKAI0IAMoAjgQQQwBCyABIAMoAjQgAiAEQQBIIgAbIAMoAjggBiAAGxBCCyADLAA/QQBIBEAgAygCNBAECyADQUBrJAAgBQs8AQJ/QSgQBSIAQgA3AgQgAEIANwIYIABBEGoiAUIANwIAIAAgAEEEajYCACAAIAE2AgwgAEIANwIgIAALcgEDfyAABEAgACwAG0EASARAIAAoAhAQBAsgACgCACICBEAgACgCBCIDIAIiAUcEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABAECyABIgMgAkcNAAsgACgCACEBCyAA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KAIAEAQLIANBEGokACAADAELEBQACwv8AgEHfwJ/IwBBEGsiAyQAIAIQEyIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIGEAUhACADIAZBgICAgHhyNgIIIAMgADYCACADIAQ2AgQgACAEaiEGDAELIAMgBDoACyADIARqIQYgAyEAIARFDQELIAAgAiAEEAYaCyAGQQA6AAAgAy0ACyIAwCEJAn9BACABKAIEIgVFDQAaIAMoAgQgACAJQQBIIgAbIQcgAygCACADIAAbIQQDQAJAAkACQAJAAkACQCAFKAIUIAUtABsiACAAwEEASCIAGyIIIAcgByAISyICGyIGBEAgBCAFKAIQIAVBEGogABsiASAGEA0iAA0BIAcgCE8NAgwGCyAHIAhPDQIMBQsgAEEASA0ECyABIAQgBhANIgANAQsgAg0BQQEMBAsgAEEASA0AQQEMAwsgBUEEaiEFCyAFKAIAIgUNAAtBAAshACAJQQBIBEAgAygCABAECyADQRBqJAAgAAwBCxAUAAsLJgEBf0EcEAUiAEIANwIAIABBADYCGCAAQgA3AhAgAEIANwIIIAALEAAgACgCACABQQF0ai8BAAsQACAAKAIAIAFBAXRqLgEACw0AIAAoAgAgAWotAAALDQAgACgCACABaiwAAAsQACAAKAIAIAFBAnRqKgIAC9gDAgV/AX4gAygCUCEFIwBBMGsiBCQAAkAgACgCBCIAQQJrIghBHEsNACADKAIAKAIAIAMoAjBqIQYgBCAANgIQIARBfyAAdCIAQX9zNgIUIARBfiAAayIANgIYIAQgAEECbTYCICAEQwAAAEAgALKVOAIcIAIoAgAiByACKAIERwRAQQAhAEEAIQMDQCAHIANBAnRqKAIAIQUgBEEkaiIHIAEoAgAoAgAgASkDMCABKQMoIgkgAS0AVAR/IAUFIAEoAkQgBUECdGooAgALrX58p2ogCacQBhogBEEQaiAHIARBDGogBEEIahCMASAGIABBAnQiBWogBCgCDDYCACAGIAVBBHJqIAQoAgg2AgAgAEECaiEAIANBAWoiAyACKAIEIAIoAgAiB2tBAnVJDQALDAELIAVFDQBBACEDQQAhAANAIARBJGoiAiABKAIAKAIAIAEpAzAgASkDKCIJIAEtAFQEfyAABSABKAJEIABBAnRqKAIAC61+fKdqIAmnEAYaIARBEGogAiAEQQxqIARBCGoQjAEgBiADQQJ0IgJqIAQoAgw2AgAgBiACQQRyaiAEKAIINgIAIANBAmohAyAAQQFqIgAgBUcNAAsLIARBMGokACAIQR1JCx0AIAAEQCAALAAPQQBIBEAgACgCBBAECyAAEAQLCxUAIAAoAgQgAEEEaiAALAAPQQBIGwsIACAAKAIARQsgACAABEAgAEEMaiAAKAIQEBcgACAAKAIEEBYgABAECwsuAQJ/QRgQBSIAQgA3AgQgAEEQaiIBQgA3AgAgACAAQQRqNgIAIAAgATYCDCAACxAAIAAoAmQgACgCYGtBDG0LLAEBf0HsABAFEJMBIgBCADcCVCAAQYDQADYCACAAQgA3AlwgAEIANwJkIAALCgBB1AAQBRCTAQubAQEDfyMAQUBqIgMkACAAIAEgACgCACgCLBEBACEEIAAgASAAKAIAKAIoEQEAIQAgAxA7IgUgASgCOCAEQf8BcSAAQQAgAEEBayIAQQpNBH8gAEECdEGkzwBqKAIABUF/CyAEbKwQaUHgABAFIAUQaCIAIAIQZxogAEEBOgBUIAAgACgCRDYCSCAAIAEoAjw2AjwgA0FAayQAIAALGQEBf0EIEAUiAEF/NgIEIABBiAg2AgAgAAsHACAAKgIUCxAAIAAoAgggAUECdGoqAgALJwEBf0EYEAUiAEIANwIIIABBfzYCBCAAQdgMNgIAIABCADcCECAACwcAIAAoAjwLBwAgACgCMAsHACAAKAIoCwcAIAAtACALBwAgACwAGAsHACAAKAI4CwcAIAAoAlgLKQEBf0HgABAFEDsiAEIANwNAIABBADYCWCAAQgA3A0ggAEIANwBNIAALCQBBwAAQBRA7CyIBAX8gAARAIAAoAggiAQRAIAAgATYCDCABEAQLIAAQBAsLMgECf0EoEAUiAUF/NgIAIAFBCGoiAEIANwMQIABBADYCCCAAQgA3AwAgAEIANwMYIAELGAAgAEIANwMQIAAgATYCACAAIAKtNwMICwgAQSgQBRAeCwcAIAEtABgLRgEDfyAAKAIIIgEgACgCDCIDRgRAQQEPCwNAIAEoAgAiAiAAKAIgIAIoAgAoAhARAQAiAgRAIAFBBGoiASADRw0BCwsgAgvSAwIKfwF+AkACf0EAIAAoAiAiAikDCCACKQMQIgtXDQAaIAIoAgAgC6dqLQAAIQQgAiALQgF8NwMQAkAgBEUNAANAIAAgASAAKAIAKAIQEQEABEAgBCABQQFqIgFHDQEMAgsLQQAPCyAAKAIIIgEgACgCDCICRwRAA0AgASgCACIDIAAgACgCBCADKAIAKAIIEQMARQ0DIAFBBGoiASACRw0ACwsCQCAERQ0AQQAhAQNAIAAoAgggAUECdGooAgAiAiAAKAIgIAIoAgAoAgwRAQBFDQMgAUEBaiIBIARHDQALIARFDQAgAEEUaiEHQQAhAgNAQQAhASACQQJ0IgkgACgCCGooAgAiAyADKAIAKAIYEQAAIgpBAEoEQANAAkAgACgCCCAJaigCACIDIAEgAygCACgCFBEBACIIIAAoAhggACgCFCIDa0ECdSIFSQ0AIAUgCEEBaiIGSQRAIAcgBiAFaxALIAcoAgAhAwwBCyAFIAZNDQAgACADIAZBAnRqNgIYCyADIAhBAnRqIAI2AgAgAUEBaiIBIApHDQALCyACQQFqIgIgBEcNAAsLQQAgACAAKAIAKAIcEQAARQ0AGiAAIAAoAgAoAiARAAALDwtBAAuxAQEFfwJAAkAgACgCCCIBQQBIDQACfyAAKAIEIgIoAgQgAigCACIEa0ECdSIDIAFJBEAgAiABIANrEKsBIAAoAggMAQsgASABIANPDQAaIAIgBCABQQJ0ajYCBCABCyIFQQBMDQAgACgCBCICKAIEIAIoAgAiA2tBAnUhBEEAIQADQCAAIARGDQIgAyAAQQJ0aiAANgIAIABBAWoiACAFRw0ACwsgAUF/c0Efdg8LEA4ACxUAIAFBAToAVCABIAEoAkQ2AkhBAQuAAQEDfyAAQbDOADYCACAAKAIUIgIEQCAAIAI2AhggAhAECyAAKAIIIgIEQCAAKAIMIgMgAiIBRwRAA0AgA0EEayIDKAIAIQEgA0EANgIAIAEEQCABIAEoAgAoAgQRAgALIAIgA0cNAAsgACgCCCEBCyAAIAI2AgwgARAECyAAEAQLJQEBfyAAQdgMNgIAIAAoAggiAQRAIAAgATYCDCABEAQLIAAQBAuGAgEGf0HAABAFIQRBDBAFIgIgACgCBCgCUDYCCCACQfDNADYCACACQQA2AgQgBCACEIABIQQCQAJAIAFBAEgEQCAEIQIMAQsgAEEIaiEHAkAgACgCDCICIAAoAggiBWtBAnUiBiABSg0AIAFBAWohAyABIAZPBEAgByADIAZrEFoMAQsgAyAGTw0AIAUgA0ECdGoiBSACRwRAA0AgAkEEayICKAIAIQMgAkEANgIAIAMEQCADIAMoAgAoAgQRAgALIAIgBUcNAAsLIAAgBTYCDAsgBygCACABQQJ0aiIAKAIAIQIgACAENgIAIAJFDQELIAIgAigCACgCBBECAAsgAUF/c0EfdguECgIMfwR+IwBBIGsiASQAAkBBASABQRxqIAAoAiAQOEUNAEEBIAFBGGogACgCIBA4RQ0AIAEoAhwiBkHVqtWqBUsNACAGrSIOIAAoAiAiAikDCCIPIAIpAxAiDX1CA39WDQAgASgCGCIKrSAOQgN+Vg0AIA0gD1kNACACKAIAIA2nai0AACEEIAIgDUIBfDcDEAJAAkAgBEUEQAJ/QQAhBCMAQSBrIgIkACACQQA2AhggAkIANwMQAkAgBkEDbCIDBEAgA0GAgICABE8NASAGQQxsIggQBSIEQQAgCBAHGgsgA0EBIAAoAiAgBBBzIQMCQAJAAkAgBkUNACADRQ0AQQAhCANAAkAgB0EAIAQgCEECdGoiAygCACIJQQF2IgtrIAsgCUEBcRtqIgdBAEgNACACIAc2AgAgB0EAIAMoAgQiCUEBdiILayALIAlBAXEbaiIHQQBIDQAgAiAHNgIEIAdBACADKAIIIgNBAXYiCWsgCSADQQFxG2oiB0EASA0AIAIgBzYCCCAAKAIsQeAAaiACED0gCEEDaiEIQQEhAyAMQQFqIgwgBkcNAQwDCwtBACEDDAELIARFDQELIAQQBAsgAkEgaiQAIAMMAQsQCAALDQEMAwsgCkH/AU0EQCAGRQ0BA0ACQCABQQA2AhAgAUIANwMIIAAoAiAiAikDECINIAIpAwgiDlkNACACKAIAIgQgDadqLQAAIQMgAiANQgF8Ig83AxAgASADNgIIIA8gDSAOIA0gDlUbIhBRDQAgBCAPp2otAAAhAyACIA1CAnwiDjcDECABIAM2AgwgDiAQUQ0AIAQgDqdqLQAAIQQgAiANQgN8NwMQIAEgBDYCECAAKAIsQeAAaiABQQhqED0gBUEBaiIFIAZHDQEMAwsLQQAhBQwDCyAKQf//A00EQCAGRQ0BA0ACQCABQQA2AhAgAUIANwMIIAAoAiAiAikDCCIOIAIpAxAiDUICfCIPUw0AIAIoAgAiBCANp2ovAAAhAyACIA83AxAgASADNgIIIA4gDUIEfCIQUw0AIAQgD6dqLwAAIQMgAiAQNwMQIAEgAzYCDCAOIA1CBnwiDVMNACAEIBCnai8AACEEIAIgDTcDECABIAQ2AhAgACgCLEHgAGogAUEIahA9IAVBAWoiBSAGRw0BDAMLC0EAIQUMAwsCQCAKQf///wBLDQAgAC8BJCIFQQh0IAVBCHZyQf//A3FBggRJDQAgBkUNAUEAIQUDQAJAIAFBADYCECABQgA3AwhBASABQQRqIAAoAiAQOEUNACABIAEoAgQ2AghBASABQQRqIAAoAiAQOEUNACABIAEoAgQ2AgxBASABQQRqIAAoAiAQOEUNACABIAEoAgQ2AhAgACgCLEHgAGogAUEIahA9IAVBAWoiBSAGRw0BDAMLC0EAIQUMAwsgBkUNAEEAIQUDQCABQQA2AhAgAUIANwMIIAAoAiAiAikDCCIOIAIpAxAiDUIEfCIPUw0CIAIoAgAiBCANp2ooAAAhAyACIA83AxAgASADNgIIIA4gDUIIfCIQUw0CIAQgD6dqKAAAIQMgAiAQNwMQIAEgAzYCDCAOIA1CDHwiDVMNAiAEIBCnaigAACEEIAIgDTcDECABIAQ2AhAgACgCLEHgAGogAUEIahA9IAVBAWoiBSAGRw0ACwsgACgCBCAKNgJQQQEhBQwBC0EAIQULIAFBIGokACAFC9wCAQZ/AkACQCAAKAIMIgEoAjggASgCNGsiAkECdSIFIAAoAgQiBCgCCCAEKAIAIgNrQQJ1TQ0AIAJBAEgNASAEKAIEIQEgAhAFIgIgBUECdGohBSACIAEgA2tBfHFqIgYhAiABIANHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgA0cNAAsLIAQgBTYCCCAEIAY2AgQgBCACNgIAIANFDQAgAxAECyAAQQhqIQQCQCAAKAJMIgEEQCABKAIAIgMgASgCBEYEQEEBDwtBACEBA0AgBCADIAFBAnRqKAIAEKwBIgJFDQIgAUEBaiIBIAAoAkwiAygCBCADKAIAIgNrQQJ1SQ0ACwwBCyAAKAIMKAJAIgAoAgQgACgCAGsiAEECdUEDbiEDQQEhAiAAQQxJDQBBACEBA0AgBCABQQNsEKwBIgJFDQEgAUEBaiIBIANHDQALCyACDwsQCAALpgMBDX8gACgCDCEJIAAoAkQiAygCUCECIAFBADoAVCABQcQAaiEMAkAgASgCSCABKAJEIgZrQQJ1IgUgAkkEQCAMIAIgBWtBpMcAEDEgACgCRCIDKAJQIQIMAQsgAiAFTw0AIAEgBiACQQJ0ajYCSAsgAygCZCIBIAMoAmAiBWtBDG0hBkEBIQoCQCABIAVGDQAgCSgCHCIJKAIAIgdBf0YEQEEADwtBASAGIAZBAU0bIQ4gBSEDQQAhAUEAIQoDQCADKAIAIgggAk8NASAAKAJIKAIMIg0gB0ECdGooAgAiCyACTw0BIAwoAgAiByAIQQJ0aiALNgIAIARBAnQgCWoiBCgCBCIIQX9GDQEgAygCBCILIAJPDQEgDSAIQQJ0aigCACIIIAJPDQEgByALQQJ0aiAINgIAIAQoAggiBEF/Rg0BIAMoAggiAyACTw0BIA0gBEECdGooAgAiBCACTw0BIAcgA0ECdGogBDYCACABQQFqIgEgBk8hCiABIA5GDQEgBSABQQxsaiEDIAkgAUEDbCIEQQJ0aigCACIHQX9HDQALCyAKC1QBAX8gAEGwwwA2AgggAEHUywA2AgAgACgCOCIBBEAgACABNgI8IAEQBAsgAEGsxQA2AgggACgCLCIBBEAgARAECyAAKAIgIgEEQCABEAQLIAAQBAtSAQF/IABBsMMANgIIIABB1MsANgIAIAAoAjgiAQRAIAAgATYCPCABEAQLIABBrMUANgIIIAAoAiwiAQRAIAEQBAsgACgCICIBBEAgARAECyAAC0sBAX8gAEHUygA2AgAgACgCMCIBBEAgACABNgI0IAEQBAsgAEGcyQA2AgAgACgCJCIBBEAgARAECyAAKAIYIgEEQCABEAQLIAAQBAsjAQF/IABB2Aw2AgAgACgCCCIBBEAgACABNgIMIAEQBAsgAAvZAgEGfwJAAkAgACgCDCIBKAIcIAEoAhhrIgJBAnUiBSAAKAIEIgQoAgggBCgCACIDa0ECdU0NACACQQBIDQEgBCgCBCEBIAIQBSICIAVBAnRqIQUgAiABIANrQXxxaiIGIQIgASADRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIANHDQALCyAEIAU2AgggBCAGNgIEIAQgAjYCACADRQ0AIAMQBAsgAEEIaiEEAkAgACgCTCIBBEAgASgCACIDIAEoAgRGBEBBAQ8LQQAhAQNAIAQgAyABQQJ0aigCABCtASICRQ0CIAFBAWoiASAAKAJMIgMoAgQgAygCACIDa0ECdUkNAAsMAQsgACgCDCIAKAIEIAAoAgBrIgBBAnVBA24hA0EBIQIgAEEMSQ0AQQAhAQNAIAQgAUEDbBCtASICRQ0BIAFBAWoiASADRw0ACwsgAg8LEAgAC6MDAQ1/IAAoAgwhAiAAKAJEIgQoAlAhAyABQQA6AFQgAUHEAGohCwJAIAEoAkggASgCRCIGa0ECdSIFIANJBEAgCyADIAVrQaTHABAxIAAoAkQiBCgCUCEDDAELIAMgBU8NACABIAYgA0ECdGo2AkgLIAQoAmQiASAEKAJgIgVrQQxtIQZBASEJAkAgASAFRg0AQQEgBiAGQQFNGyENIAIoAgAhDkEAIQIgBSEEQQAhAUEAIQkDQCAOIAJBAnRqIgIoAgAiCEF/Rg0BIAQoAgAiByADTw0BIAAoAkgoAgwiDCAIQQJ0aigCACIKIANPDQEgCygCACIIIAdBAnRqIAo2AgAgAigCBCIHQX9GDQEgBCgCBCIKIANPDQEgDCAHQQJ0aigCACIHIANPDQEgCCAKQQJ0aiAHNgIAIAIoAggiAkF/Rg0BIAQoAggiBCADTw0BIAwgAkECdGooAgAiAiADTw0BIAggBEECdGogAjYCACABQQFqIgEgBk8hCSABIA1GDQEgAUEDbCECIAUgAUEMbGohBCABQdWq1aoFRw0ACwsgCQtUAQF/IABB1MoANgIIIABBsMkANgIAIAAoAjgiAQRAIAAgATYCPCABEAQLIABBnMkANgIIIAAoAiwiAQRAIAEQBAsgACgCICIBBEAgARAECyAAEAQLUgEBfyAAQdTKADYCCCAAQbDJADYCACAAKAI4IgEEQCAAIAE2AjwgARAECyAAQZzJADYCCCAAKAIsIgEEQCABEAQLIAAoAiAiAQRAIAEQBAsgAAtJAQF/IABB1MoANgIAIAAoAjAiAQRAIAAgATYCNCABEAQLIABBnMkANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAACy0BAX8gAEGcyQA2AgAgACgCJCIBBEAgARAECyAAKAIYIgEEQCABEAQLIAAQBAsrAQF/IABBnMkANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAAC40BAQF/IABBsMcANgIAIAAoAlgiAQRAIAAgATYCXCABEAQLIAAoAkgiAQRAIAAgATYCTCABEAQLIAAoAjwiAQRAIABBQGsgATYCACABEAQLIAAoAjAiAQRAIAAgATYCNCABEAQLIABBnMkANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAAEAQL0wMBB38jAEEQayIFJAACQAJAIAAoAgwiASgCHCABKAIYayICQQJ1IgYgACgCBCIEKAIIIAQoAgAiA2tBAnVNDQAgAkEASA0BIAQoAgQhASACEAUiAiAGQQJ0aiEGIAIgASADa0F8cWoiByECIAEgA0cEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASADRw0ACwsgBCAGNgIIIAQgBzYCBCAEIAI2AgAgA0UNACADEAQLIAAoAgwiASgCHCECIAEoAhghASAFQQA2AgwCQCACIAFrQQJ1IgEgACgCZCAAQeAAaiIEKAIAIgNrQQJ1IgJLBEAgBCABIAJrIAVBDGoQGgwBCyABIAJPDQAgACADIAFBAnRqNgJkCyAAQQhqIQQCQCAAKAJ0IgEEQCABKAIAIgMgASgCBEYEQEEBIQIMAgtBACEBA0AgBCADIAFBAnRqKAIAEK8BIgJFDQIgAUEBaiIBIAAoAnQiAygCBCADKAIAIgNrQQJ1SQ0ACwwBCyAAKAIMIgAoAgQgACgCAGsiAEECdUEDbiEDQQEhAiAAQQxJDQBBACEBA0AgBCABQQNsEK8BIgJFDQEgAUEBaiIBIANHDQALCyAFQRBqJAAgAg8LEAgAC6MDAQ1/IAAoAgwhAiAAKAJsIgQoAlAhAyABQQA6AFQgAUHEAGohCwJAIAEoAkggASgCRCIGa0ECdSIFIANJBEAgCyADIAVrQaTHABAxIAAoAmwiBCgCUCEDDAELIAMgBU8NACABIAYgA0ECdGo2AkgLIAQoAmQiASAEKAJgIgVrQQxtIQZBASEJAkAgASAFRg0AQQEgBiAGQQFNGyENIAIoAgAhDkEAIQIgBSEEQQAhAUEAIQkDQCAOIAJBAnRqIgIoAgAiCEF/Rg0BIAQoAgAiByADTw0BIAAoAnAoAgwiDCAIQQJ0aigCACIKIANPDQEgCygCACIIIAdBAnRqIAo2AgAgAigCBCIHQX9GDQEgBCgCBCIKIANPDQEgDCAHQQJ0aigCACIHIANPDQEgCCAKQQJ0aiAHNgIAIAIoAggiAkF/Rg0BIAQoAggiBCADTw0BIAwgAkECdGooAgAiAiADTw0BIAggBEECdGogAjYCACABQQFqIgEgBk8hCSABIA1GDQEgAUEDbCECIAUgAUEMbGohBCABQdWq1aoFRw0ACwsgCQuTAQEBfyAAQbDHADYCCCAAQdzFADYCACAAKAJgIgEEQCAAIAE2AmQgARAECyAAKAJQIgEEQCAAIAE2AlQgARAECyAAKAJEIgEEQCAAIAE2AkggARAECyAAKAI4IgEEQCAAIAE2AjwgARAECyAAQZzJADYCCCAAKAIsIgEEQCABEAQLIAAoAiAiAQRAIAEQBAsgABAEC5EBAQF/IABBsMcANgIIIABB3MUANgIAIAAoAmAiAQRAIAAgATYCZCABEAQLIAAoAlAiAQRAIAAgATYCVCABEAQLIAAoAkQiAQRAIAAgATYCSCABEAQLIAAoAjgiAQRAIAAgATYCPCABEAQLIABBnMkANgIIIAAoAiwiAQRAIAEQBAsgACgCICIBBEAgARAECyAAC4sBAQF/IABBsMcANgIAIAAoAlgiAQRAIAAgATYCXCABEAQLIAAoAkgiAQRAIAAgATYCTCABEAQLIAAoAjwiAQRAIABBQGsgATYCACABEAQLIAAoAjAiAQRAIAAgATYCNCABEAQLIABBnMkANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAAC4kBAQJ/IwBBEGsiAyQAIAAgATYCBCABKAIAIQQgASgCBCEBIANBADoADyAAQRhqIAEgBGtBAnVBA24gA0EPahAZIAAoAgQiASgCHCEEIAEoAhghASADQQA6AA4gAEEkaiAEIAFrQQJ1IANBDmoQGSAAIAIpAgg3AhAgACACKQIANwIIIANBEGokAAstAQF/IABBrMUANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAAEAQLKwEBfyAAQazFADYCACAAKAIkIgEEQCABEAQLIAAoAhgiAQRAIAEQBAsgAAtLAQF/IABBsMMANgIAIAAoAjAiAQRAIAAgATYCNCABEAQLIABBrMUANgIAIAAoAiQiAQRAIAEQBAsgACgCGCIBBEAgARAECyAAEAQLjwECAn8BfiMAQRBrIgIkAAJAIAAoAgQiA0F/Rg0AIAEpAxBCAFUNACABIAEoAgQgACgCCCAAKAIMEEAgASkDEEIAVQ0AIAEgASgCBCAAQRRqIABBGGoQQCABKQMQIQQgAiAAKAIEOgAPIARCAFUNACABIAEoAgQgAkEPaiACQRBqEEALIAJBEGokACADQX9HCwkAIAAQsAEQBAsJACAAELIBEAQLnD0CH38BfiMAQUBqIhMkACAAQQA2AoQBIAAoApQBBEAgACgCkAEiAQRAA0AgASgCACEDIAEQBCADIgENAAsLQQAhASAAQQA2ApABAkAgACgCjAEiA0UNACADQQRPBEAgA0F8cSEEA0AgAUECdCIGIAAoAogBakEANgIAIAAoAogBIAZBBHJqQQA2AgAgACgCiAEgBkEIcmpBADYCACAAKAKIASAGQQxyakEANgIAIAFBBGohASACQQRqIgIgBEcNAAsLIANBA3EiA0UNAEEAIQIDQCAAKAKIASABQQJ0akEANgIAIAFBAWohASACQQFqIgIgA0cNAAsLIABBADYClAELAkACQEEBIBNBPGogACgCBCgCIBAYRQ0AIAAgEygCPDYCnAFBASATQThqIAAoAgQoAiAQGEUNACATKAI4IgFB1arVqgVLDQAgACgCnAEgAUEDbEsNACAAKAIEKAIgIgIpAwggAikDECIgVw0AIAIoAgAgIKdqLQAAIQMgAiAgQgF8NwMQQQEgE0E0aiACEBhFDQAgASATKAI0Ig5JDQAgASAOQQNuIA5qSw0AQQEgE0EwaiAAKAIEKAIgEBhFDQAgEygCMCICIA5LDQAgACAAKAIYNgIcQdgAEAUQZCEEIAAoAgghBiAAIAQ2AgggBgRAIAYQLiAAKAIIRQ0BCyAAIAAoAqABNgKkASAAQaABaiABEFMgACAAKAKsATYCsAEgAEGsAWogARBTIABBQGtBADYCACAAQX82AlwgAEJ/NwJUIAAgACgCJDYCKCAAIAAoAjA2AjQgACAAKAJINgJMIABB2AFqIhgQuwEgGCADELoBIAAoAgggASAAKAKcASACahCcAUUNACAAKAKcASEBIBNBAToACCAAQfgAaiABIAJqIBNBCGoQGSAAIAAoAgQoAiAQuQFBf0YNACAAQegBaiIEIgEgADYCkAEgACAAKAIAKAIgEQAAKAIgIgYoAgAgBigCEGohBiAAIAAoAgAoAiARAAAoAiAiCikDCCAKKQMQfachCiABIAAgACgCACgCIBEAACgCIC8BJjsBJiABIAY2AgAgAUIANwMQIAEgCq03AwggASAAIAAoAgAoAiQRAAA2ApQBIAAgAzYC9AIgACAAKAKcASACajYCgAMgE0EIahAeIhohCkEAIQYjAEEQayIPJAACQCAEQdAAaiAEEBVFDQAgBBC2AUUNACAKIAQpAwA3AwAgCiAEKQMgNwMgIAogBCkDGDcDGCAKIAQpAxA3AxAgCiAEKQMINwMIIARCgoCAgPAANwOwASAEKAKYASIBQQBIDQAgD0EANgIMQQIhBgJAIAQoAqABIAQoApwBIgVrQQJ1IgMgAUkEQCAEQZwBaiABIANrIA9BDGoQGiAEKAKwASEGIAQoArQBIQIMAQtBByECIAEgA08NACAEIAUgAUECdGo2AqABCyAEQbgBaiEDAkAgAiAGa0EBaiICIAQoArwBIgEgBCgCuAEiBmtBDG0iCEsEQEEAIQUCQCACIAhrIgEgAygCCCIQIAMoAgQiBmtBDG1NBEAgAyABBH8gBkEAIAFBDGxBDGsiASABQQxwa0EMaiIBEAcgAWoFIAYLNgIEDAELAkACQAJAIAYgAygCACIIa0EMbSIJIAFqIgJB1qrVqgFJBEBB1arVqgEgECAIa0EMbSIQQQF0IgcgAiACIAdJGyAQQarVqtUATxsiEARAIBBB1qrVqgFPDQIgEEEMbBAFIQULIAUgCUEMbGoiAkEAIAFBDGxBDGsiASABQQxwa0EMaiIBEAciByABaiEJIAUgEEEMbGohASAGIAhGDQIDQCACQQxrIgIgBkEMayIGKAIANgIAIAIgBigCBDYCBCACIAYoAgg2AgggBkEANgIIIAZCADcCACAGIAhHDQALIAMgATYCCCADKAIEIQEgAyAJNgIEIAMoAgAhBiADIAI2AgAgASAGRg0DA0AgAUEMayICKAIAIgUEQCABQQhrIAU2AgAgBRAECyACIgEgBkcNAAsMAwsMCAsQCQALIAMgATYCCCADIAk2AgQgAyAHNgIACyAGBEAgBhAECwsgBCgCvAEhAgwBCyACIAhPBEAgASECDAELIAYgAkEMbGoiAiABRwRAA0AgAUEMayIGKAIAIgUEQCABQQhrIAU2AgAgBRAECyAGIgEgAkcNAAsLIAQgAjYCvAELIARBxAFqIQgCQCACIAQoArgBIgZrQQxtIgEgBCgCyAEgBCgCxAEiEGtBAnUiBUsEQCAIIAEgBWsQCyAEKAK4ASEGIAQoArwBIQIMAQsgASAFTw0AIAQgECABQQJ0ajYCyAELIAIgBkYEQEEBIQYMAQtBACEBA0ACQEEBIA9BCGogChAYRQ0AIA8oAggiBiAEKAKUASICKAIEIAIoAgBrQQJ1QQNuSw0AIAYEQAJAIAFBDGwiCSADKAIAaiIFKAIEIAUoAgAiAmtBAnUiECAGSQRAIAUgBiAQaxALIAMoAgAgCWooAgAhAgwBCyAGIBBPDQAgBSACIAZBAnRqNgIECyAGQQEgCiACEHMaIAgoAgAgAUECdGogBjYCAAtBASEGIAFBAWoiASAEKAK8ASAEKAK4AWtBDG1JDQEMAgsLQQAhBgsgD0EQaiQAAkAgBkUNAAJ/QQAhA0EAIQRBACECQQAhAUEAIQpBACEGQQAhD0EAIRAjAEHgAGsiCSQAIAlBADYCSCAJQgA3A0AgCUIANwMwIAlCADcDKCAJQYCAgPwDNgI4IAlBADYCICAJQgA3AxggACIFKAJ8IRsCQAJAAkACQAJAIA5BAEwNACAFQegBaiEcIAUoAtgBIAUoAtwBRyEeQQEhGQJAA0AgDyIIQQFqIQ8CQAJAAkAgBSgClAMiB0F/RgRAIAVBBzYCkAMMAQtBfyEAIAUoAqwDIAdBAnRqIgcgBygCACIHQQFrIgs2AgAgB0EATA0GIAUoAqADIAUoApQDQQxsaigCACALQQJ0aigCACIHQQRLDQYgBSAHQQJ0QcDFAGooAgAiCzYCkAMgB0UEQCABIARGDQdBfyEHIAUoAggiCygCGCISAn9BfyAEQQRrIhkoAgAiA0F/Rg0AGkF/IANBAWoiDCADQQJrIAxBA3AbIgxBf0YNABogCygCACAMQQJ0aigCAAsiDEECdGooAgAiDUF/RwRAIA1BAWoiByANQQJrIAdBA3AbIQcLIAMgB0YNByADQX9HBEAgCygCDCADQQJ0aigCAEF/Rw0ICyALKAIMIQ0gB0F/RwRAIA0gB0ECdGooAgBBf0cNCAsgDSADQQJ0aiAIQQNsIghBAWoiETYCACANIBFBAnQiFWogAzYCACANIAdBAnRqIAhBAmoiETYCACANIBFBAnQiFmogBzYCAEF/IQ0Cf0F/IANBf0YNABoCQCADQQNwBEAgA0EBayEDDAELQX8gA0ECaiIDQX9GDQEaCyALKAIAIANBAnRqKAIACyEDAkAgB0F/Rg0AIAdBAWoiHSAHQQJrIB1BA3AbIgdBf0YNACALKAIAIAdBAnRqKAIAIQ0LIAMgDEYNByAMIA1GDQcgCygCACIAIAhBAnRqIAw2AgAgACAVaiANNgIAIAAgFmogAzYCACADQX9HBEAgEiADQQJ0aiARNgIACyAFKAJ4IAxBA3ZB/P///wFxaiIAIAAoAgBBfiAMd3E2AgAgGSAINgIAIAEhAyAcIAgQcQwDCwJAAkAgC0EBaw4HAQgACAAIAggLIAEgBEYNByAFKAIIIgsoAgwhDCAEQQRrIhIoAgAiA0F/RwRAIAwgA0ECdGooAgBBf0cNCAsgDCAIQQNsIgRBAkEBIAdBA0YiBxtqIg1BAnQiFWogAzYCACAMIANBAnRqIA02AgAgC0EYakGEwQAQISAFKAIIIgwoAhwgDCgCGCIRa0ECdSAbSg0HIAwoAgAiACAVaiALKAIcIgwgCygCGCILa0ECdUEBayIVNgIAIAsgDEcEQCARIBVBAnRqIA02AgALIAQgBEECaiAHGyELIAAgBCAHakECdGoCfyADQX9GBEAgACALQQJ0akF/NgIAQX8MAQsCQAJAAkAgA0EDcARAIANBAWshBwwBCyADQQJqIgdBf0YNAQsgACALQQJ0aiAAIAdBAnRqKAIAIgc2AgAgB0F/Rg0BIBEgB0ECdGogCzYCAAwBCyAAIAtBAnRqQX82AgALQX8gA0EBaiIHIANBAmsgB0EDcBsiA0F/Rg0AGiAAIANBAnRqKAIACzYCACASIAQ2AgAgASEDDAILIAMgBEYNBiAEQQRrIgYoAgAhCyAJIAY2AkQCfwJ/AkACQAJAIAkoAiwiB0UNACAJKAIoAn8gB0H/////B2ogCHEgB2lBAUsiDEUNABogCCAHIAhLDQAaIAggB3ALIg1BAnRqKAIAIgBFDQAgACgCACIARQ0AAkAgDEUEQCAHQQFrIQcDQAJAIAggACgCBCIMRwRAIAcgDHEgDUYNAQwFCyAAKAIIIAhGDQMLIAAoAgAiAA0ACwwCCwNAAkAgCCAAKAIEIgxHBEAgByAMTQR/IAwgB3AFIAwLIA1GDQEMBAsgACgCCCAIRg0CCyAAKAIAIgANAAsMAQsgBiAKRwRAIAYgACgCDDYCACAJIAQ2AkQgBCEGDAELIAogA2siAUECdSIGQQFqIgJBgICAgARPDRJB/////wMgAUEBdiIEIAIgAiAESRsgAUH8////B08bIgIEfyACQYCAgIAETw0OIAJBAnQQBQVBAAsiBCAGQQJ0aiIBIAAoAgw2AgAgBCACQQJ0aiECIAFBBGohBiADIApHBEADQCABQQRrIgEgCkEEayIKKAIANgIAIAMgCkcNAAsLIAkgAjYCSCAJIAY2AkQgCSABNgJAIAMEQCADEAQLIAEhAyACIQoLIAMgBkYNCCAGQQRrIhUoAgAiACALRg0IIAUoAgghDCAAQX9GIgdFBEAgDCgCDCAAQQJ0aigCAEF/Rw0JCyAMKAIMIQ0gC0F/RwRAIA0gC0ECdGooAgBBf0cNCQsgDSAAQQJ0aiAIQQNsIhFBAmoiEjYCACANIBJBAnQiBGogADYCACANIAtBAnRqIBFBAWoiCDYCACANIAhBAnQiFmogCzYCACAHDQAgAEEDcARAIABBAWshCAwCCyAAQQJqIghBf0cNASAMKAIAIQdBfwwCC0F/IQggDCgCACIHIBFBAnRqQX82AgBBfwwCCyAMKAIAIgcgCEECdGooAgALIQggByARQQJ0aiAINgIAQX8gAEEBaiIdIABBAmsgHUEDcBsiAEF/Rg0AGiAHIABBAnRqKAIACyEAIAcgFmogADYCAAJ/IAtBf0YEQCAEIAdqQX82AgBBfyESQX8MAQsCQAJAAkAgC0EDcARAIAtBAWshAAwBCyALQQJqIgBBf0YNAQsgBCAHaiAHIABBAnRqKAIAIgA2AgAgAEF/Rg0BIAwoAhggAEECdGogEjYCAAwBCyAEIAdqQX82AgALQX8hEkF/IAtBAWoiACALQQJrIABBA3AbIgBBf0YNABogByAAQQJ0aigCACESIAALIQQgBSgChAMiACAIQQJ0IhZqIgsgCygCACAAIBJBAnQiC2ooAgBqNgIAIAsgDCgCGCIAaiELIAhBf0cEQCAAIBZqIAsoAgA2AgALIAQhAANAIABBf0cEQCAHIABBAnRqIAg2AgAgBAJ/QX8gAEEBaiIMIABBAmsgDEEDcBsiAEF/Rg0AGkF/IA0gAEECdGooAgAiAEF/Rg0AGiAAQQFqIgwgAEECayAMQQNwGwsiAEcNAQwGCwsgC0F/NgIAAkACQCAeDQAgFCAXRwRAIBcgEjYCACAJIBdBBGoiFzYCHAwBCyAUIBBrIgBBAnUiCEEBaiIEQYCAgIAETw0BQf////8DIABBAXYiByAEIAQgB0kbIABB/P///wdPGyIEBH8gBEGAgICABE8NCyAEQQJ0EAUFQQALIgcgCEECdGoiACASNgIAIABBBGohFyAQIBRHBEADQCAAQQRrIgAgFEEEayIUKAIANgIAIBAgFEcNAAsLIAkgByAEQQJ0aiIUNgIgIAkgFzYCHCAJIAA2AhggEARAIBAQBAsgACEQCyAVIBE2AgAgBiEEIBwgERBxDAMLDA0LIAUoAggiB0EYakGEwQAQIUF/IQAgBSgCCCIKKAIAIAhBA2wiBkECdGogBygCHCILIAcoAhgiDGsiDUECdSIHQQFrIhE2AgAgCkEYakGEwQAQISAKKAIAIAZBAWoiEkECdGogCigCHCAKKAIYa0ECdUEBazYCACAFKAIIIgpBGGpBhMEAECEgCigCACAGQQJqIhVBAnRqIAooAhwgCigCGGtBAnVBAWs2AgAgBSgCCCIKKAIcIAooAhgiCmtBAnUgG0oNBQJAAkAgCyAMRwRAIAogEUECdGogBjYCAEEAIQAgDUF8Rg0BCyAKIAdBAnRqIBI2AgAgB0EBaiIAQX9GDQELIAogAEECdGogFTYCAAsgAiAERwRAIAQgBjYCACAJIARBBGoiBjYCRCACIQoMAQsgAiABayIAQQJ1IgRBAWoiA0GAgICABE8NDEH/////AyAAQQF2IgogAyADIApJGyAAQfz///8HTxsiAAR/IABBgICAgARPDQggAEECdBAFBUEACyIKIARBAnRqIgMgBjYCACAKIABBAnRqIQogA0EEaiEGIAEgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgASACRw0ACwsgCSAKNgJIIAkgBjYCRCAJIAM2AkAgAQRAIAEQBAsgCiECIAMhAQsgHCAGQQRrKAIAEHECQCAFKAIoIgAgBSgCJEYNACAAQQxrIgcoAgQiCyAIQX9zIA5qIgRLDQMgBCALRw0AIABBBGstAAAhCyAHKAIAIQggBSAHNgIoIAhBAEgNAyAGQQRrIgwoAgAhACAJIAhBf3MgDmo2AhQgCSAJQRRqIgg2AlggCSAJQShqIAggCUHYAGoQUCAJKAIAAn8gC0EBcQRAQX8gAEF/Rg0BGiAAQQFqIgggAEECayAIQQNwGwwBC0F/IABBf0YNABogAEEBayAAQQNwDQAaIABBAmoLNgIMIAUoAigiACAFKAIkRg0AA0AgAEEMayIIKAIEIgcgBEsNBCAEIAdHDQEgAEEEay0AACELIAgoAgAhByAFIAg2AiggB0EASA0EIAwoAgAhACAJIAdBf3MgDmo2AhQgCSAJQRRqIgg2AlggCSAJQShqIAggCUHYAGoQUCAJKAIAAn8gC0EBcQRAQX8gAEF/Rg0BGiAAQQFqIgggAEECayAIQQNwGwwBC0F/IABBf0YNABogAEEBayAAQQNwDQAaIABBAmoLNgIMIAUoAigiACAFKAIkRw0ACwsgBiEECyAOIA9KIRkgDiAPRw0ACyAOIQ8MAQtBfyEAIBkNAQtBfyEAIAUoAggiBCgCHCAEKAIYa0ECdSAbSg0AIAEgBkcEQCAFQcgAaiEQIAVBPGohByAFQbgCaiEUA0AgBkEEayIGKAIAIQogCSAGNgJEAkAgFBARBEAgBSgCCCIDKAIEIAMoAgAiDmtBAnVBA24gD0wEQEF/IQAMBQtBfyEBAkAgAygCGCILAn9BfyAKQX9GDQAaQX8gCkEBaiIAIApBAmsgAEEDcBsiAEF/Rg0AGiAOIABBAnRqKAIACyIMQQJ0aigCACIAQX9GBEBBASEIQX8hBAwBC0EBIQhBfyEEIABBAWoiAiAAQQJrIAJBA3AbIgBBf0YNAEEAIQggAEEBaiIBIABBAmsgAUEDcBsiAUF/RwRAIA4gAUECdGooAgAhBAsgACEBC0F/IQBBfyECIAsgBEECdGooAgAiC0F/RwRAIAtBAWoiAiALQQJrIAJBA3AbIQILIAEgCkYNBCACIApGDQQgASACRg0EIApBf0cEQCADKAIMIApBAnRqKAIAQX9HDQULIAhFBEAgAygCDCABQQJ0aigCAEF/Rw0FC0F/IQggAygCDCEDAn9BfyACQX9GDQAaIAMgAkECdGooAgBBf0cNBUF/IAJBAWoiACACQQJrIABBA3AbIgBBf0YNABogDiAAQQJ0aigCAAshCyAJIA9BA2wiADYCACADIABBAnRqIAo2AgAgAyAKQQJ0aiAANgIAIAMgCSgCAEEBaiIAQQJ0aiABNgIAIAMgAUECdGogADYCACADIAkoAgBBAmoiAEECdGogAjYCACADIAJBAnRqIAA2AgAgDiAJKAIAIgBBAnRqIAQ2AgAgDiAAQQFqIgFBAnRqIgIgCzYCACAOIABBAmoiA0ECdGoiCiAMNgIAIAUoAngiACAEQX8gARsiBEEDdkH8////AXFqIg4gDigCAEF+IAR3cTYCACABQX9HBEAgAigCACEICyAAIAhBA3ZB/P///wFxaiIBIAEoAgBBfiAId3E2AgBBfyECIANBf0cEQCAKKAIAIQILIAAgAkEDdkH8////AXFqIgAgACgCAEF+IAJ3cTYCACAJQQE6AFggByAJQdgAahC0ASAQIAkQISAPQQFqIQ8gCSgCQCEBDAELIAUoAkAiAiAFKAJEIgBBBXRGBEAgAkEBakEASA0LIAcgAkH+////A00EfyAAQQZ0IgAgAkFgcUEgaiICIAAgAksbBUH/////BwsQMCAFKAJAIQILIAUgAkEBajYCQCAFKAI8IAJBA3ZB/P///wFxaiIAIAAoAgBBfiACd3E2AgAgBSgCTCICIAUoAlBHBEAgAiAKNgIAIAUgAkEEajYCTAwBCyACIBAoAgAiAGsiA0ECdSIIQQFqIgRBgICAgARPDQZB/////wMgA0EBdiIOIAQgBCAOSRsgA0H8////B08bIgQEfyAEQYCAgIAETw0GIARBAnQQBQVBAAsiDiAIQQJ0aiIDIAo2AgAgA0EEaiEKIAAgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgACACRw0ACwsgBSAOIARBAnRqNgJQIAUgCjYCTCAFIAM2AkggAEUNACAAEAQLIAEgBkcNAAsgBSgCCCEEC0F/IQAgDyAEKAIEIAQoAgBrQQJ1QQNuRw0AIAQoAhwgBCgCGGtBAnUhACAJKAIYIgYgCSgCHCIKRg0BA0AgBigCACEBIAQoAhgiDyAAQQFrIgJBAnRqIgMoAgBBf0YEQANAIABBAmshAiAAQQFrIQAgDyACQQJ0aiIDKAIAQX9GDQALCyABIAJNBEAgCSAENgIAIAMoAgAhAyAJQQE6AAwgCSADNgIIIAkgAzYCBCADQX9HBEADQCACIAUoAggoAgAgA0ECdGoiAygCAEcEQEF/IQAMBQsgAyABNgIAIAkQdCAJKAIIIgNBf0cNAAsgBSgCCCEECyAEKAIYIg8gAkECdGohAyABQX9HBEAgDyABQQJ0aiADKAIANgIACyADQX82AgBBASABdCEDIAUoAngiDyABQQN2Qfz///8BcWoiAQJ/QQEgAnQiCCAPIAJBA3ZB/P///wFxaiICKAIAcQRAIAEoAgAgA3IMAQsgASgCACADQX9zcQs2AgAgAiACKAIAIAhBf3NxNgIAIABBAWshAAsgBkEEaiIGIApHDQALCyAJKAIYIQYLIAYEQCAGEAQLIAkoAjAiAQRAA0AgASgCACECIAEQBCACIgENAAsLIAkoAighASAJQQA2AiggAQRAIAEQBAsgCSgCQCIBBEAgCSABNgJEIAEQBAsgCUHgAGokACAADAILEAkACwwDCyIDQX9GDQAgGigCACAaKQMQIiCnaiEBIBopAwggIH2nIQIgBSgCBCgCICIAIAAvASY7ASYgACABNgIAIABCADcDECAAIAKtNwMIAkAgBSgC2AEgBSgC3AFGDQAgBSgCCCIAKAIEIAAoAgBGDQBBACEBA0AgBSABELgBBEAgAUEDaiIBIAUoAggiACgCBCAAKAIAa0ECdUkNAQwCCwsMAQsgBS0AtAIEQCAFQQA6ALQCIAUgBSkDoAIgBTUCsAJCB3xCA4h8NwOgAgsgBSgC2AEiASAFKALcAUcEQEEAIQADQCABIABBkAFsIgJqQQRqIAUoAggQmwEgGCgCACIGIAJqIgQoAoQBIgEgBCgCiAEiBEcEfwNAIBgoAgAgAmpBBGogASgCABCZASABQQRqIgEgBEcNAAsgGCgCAAUgBgsgAmpBBGoQmgFFDQIgAEEBaiIAIAUoAtwBIAUoAtgBIgFrQZABbUkNAAsLIAVBuAFqIAUoAggiACgCHCAAKAIYa0ECdRBSIAUoAtgBIgIgBSgC3AFHBEBBACEBA0AgAiABQZABbGoiAEHoAGogACgCPCAAKAI4a0ECdSIAIAUoAggiAigCHCACKAIYa0ECdSICIAAgAkobEFIgAUEBaiIBIAUoAtwBIAUoAtgBIgJrQZABbUkNAAsLIAUgAxC3ASEfCwsgE0FAayQAIB8PCxAIAAtAAQJ/IAFBAjYCACABKAIMIAEoAggiA2siAkF7TQR/IAFBCGogAkEEaq0QTiABKAIIBSADCyACaiAAKAIENgAAC8YNAwJ9D38EfiACKAIAIAIoAgRGBEAgAygCUCEJIwBBEGsiDiQAIAAoAgQhBiABLQAYIQIgAygCMCEHIAMoAgAoAgAhAyAOQQhqIgxBgICA/AM2AgAgDCIKQX8gBnRBf3OyIAAqAhSVOAIAIAJBAnQQBSEMAkAgCUUNACACRQ0AIAMgB2ohByAKKgIAIQUgACgCCCEDIAEoAgAhDyABKQMwIRUgASkDKCIWpyEQIAEtAFRFBEAgASgCRCELIAJB/gFxIREgAkEBcSESQQAhAEEAIQoDQCAMIA8oAgAgFiALIApBAnRqNQIAfiAVfKdqIBAQBiEIQQAhAUEAIQYgAkEBRwRAA0AgByAAQQJ0aiITAn8gBSAIIAFBAnQiDWoqAgAgAyANaioCAJOUQwAAAD+SjiIEi0MAAABPXQRAIASoDAELQYCAgIB4CzYCACATAn8gBSAIIA1BBHIiDWoqAgAgAyANaioCAJOUQwAAAD+SjiIEi0MAAABPXQRAIASoDAELQYCAgIB4CzYCBCABQQJqIQEgAEECaiEAIAZBAmoiBiARRw0ACwsgEgRAIAcgAEECdGoCfyAFIAggAUECdCIBaioCACABIANqKgIAk5RDAAAAP5KOIgSLQwAAAE9dBEAgBKgMAQtBgICAgHgLNgIAIABBAWohAAsgCkEBaiIKIAlHDQALDAELIAJB/gFxIQggAkEBcSENIAmtIRhBACEAA0AgDCAPKAIAIBYgF34gFXynaiAQEAYhCUEAIQFBACEGIAJBAUcEQANAIAcgAEECdGoiCwJ/IAUgCSABQQJ0IgpqKgIAIAMgCmoqAgCTlEMAAAA/ko4iBItDAAAAT10EQCAEqAwBC0GAgICAeAs2AgAgCwJ/IAUgCSAKQQRyIgpqKgIAIAMgCmoqAgCTlEMAAAA/ko4iBItDAAAAT10EQCAEqAwBC0GAgICAeAs2AgQgAUECaiEBIABBAmohACAGQQJqIgYgCEcNAAsLIA0EQCAHIABBAnRqAn8gBSAJIAFBAnQiAWoqAgAgASADaioCAJOUQwAAAD+SjiIEi0MAAABPXQRAIASoDAELQYCAgIB4CzYCACAAQQFqIQALIBdCAXwiFyAYUg0ACwsgDBAEIA5BEGokAEEBDwsjAEEQayIOJAAgACgCBCEHIAEtABghBiADKAIwIQkgAygCACgCACEDIA5BCGoiDEGAgID8AzYCACAMIghBfyAHdEF/c7IgACoCFJU4AgAgBkECdBAFIQwCQCACKAIEIgcgAigCACIKRg0AIAZFDQAgAyAJaiEJQQEgByAKa0ECdSICIAJBAU0bIQ8gCCoCACEFIAAoAgghAyABKAIAIRAgASkDMCEVIAEpAygiFqchDSABLQBUBEAgBkH+AXEhESAGQQFxIRJBACEAQQAhAgNAIAwgECgCACAWIAogAkECdGo1AgB+IBV8p2ogDRAGIQhBACEBQQAhByAGQQFHBEADQCAJIABBAnRqIhMCfyAFIAggAUECdCILaioCACADIAtqKgIAk5RDAAAAP5KOIgSLQwAAAE9dBEAgBKgMAQtBgICAgHgLNgIAIBMCfyAFIAggC0EEciILaioCACADIAtqKgIAk5RDAAAAP5KOIgSLQwAAAE9dBEAgBKgMAQtBgICAgHgLNgIEIAFBAmohASAAQQJqIQAgB0ECaiIHIBFHDQALCyASBEAgCSAAQQJ0agJ/IAUgCCABQQJ0IgFqKgIAIAEgA2oqAgCTlEMAAAA/ko4iBItDAAAAT10EQCAEqAwBC0GAgICAeAs2AgAgAEEBaiEACyACQQFqIgIgD0cNAAsMAQsgASgCRCERIAZB/gFxIRIgBkEBcSETQQAhAEEAIQIDQCAMIBAoAgAgFiARIAogAkECdGooAgBBAnRqNQIAfiAVfKdqIA0QBiEIQQAhAUEAIQcgBkEBRwRAA0AgCSAAQQJ0aiIUAn8gBSAIIAFBAnQiC2oqAgAgAyALaioCAJOUQwAAAD+SjiIEi0MAAABPXQRAIASoDAELQYCAgIB4CzYCACAUAn8gBSAIIAtBBHIiC2oqAgAgAyALaioCAJOUQwAAAD+SjiIEi0MAAABPXQRAIASoDAELQYCAgIB4CzYCBCABQQJqIQEgAEECaiEAIAdBAmoiByASRw0ACwsgEwRAIAkgAEECdGoCfyAFIAggAUECdCIBaioCACABIANqKgIAk5RDAAAAP5KOIgSLQwAAAE9dBEAgBKgMAQtBgICAgHgLNgIAIABBAWohAAsgAkEBaiICIA9HDQALCyAMEAQgDkEQaiQAQQEL2zYCHH8DfiMAQUBqIhEkACAAQQA2AoQBIAAoApQBBEAgACgCkAEiAwRAA0AgAygCACEBIAMQBCABIgMNAAsLQQAhAyAAQQA2ApABAkAgACgCjAEiAUUNACABQQRPBEAgAUF8cSEFA0AgA0ECdCILIAAoAogBakEANgIAIAAoAogBIAtBBHJqQQA2AgAgACgCiAEgC0EIcmpBADYCACAAKAKIASALQQxyakEANgIAIANBBGohAyAEQQRqIgQgBUcNAAsLIAFBA3EiAUUNAEEAIQQDQCAAKAKIASADQQJ0akEANgIAIANBAWohAyAEQQFqIgQgAUcNAAsLIABBADYClAELAkBBASARQTxqIAAoAgQoAiAQGEUNACAAIBEoAjw2ApwBQQEgEUE4aiAAKAIEKAIgEBhFDQAgESgCOCIDQdWq1aoFSw0AIAAoApwBIANBA2xLDQAgACgCBCgCICIBKQMIIAEpAxAiHVcNACABKAIAIB2nai0AACEEIAEgHUIBfDcDEEEBIBFBNGogARAYRQ0AIAMgESgCNCIMSQ0AIAMgDEEDbiAMaksNAEEBIBFBMGogACgCBCgCIBAYRQ0AIBEoAjAiASAMSw0AIAAgACgCGDYCHEHYABAFEGQhBSAAKAIIIQsgACAFNgIIIAsEQCALEC4gACgCCEUNAQsgACAAKAKgATYCpAEgAEGgAWogAxBTIAAgACgCrAE2ArABIABBrAFqIAMQUyAAQUBrQQA2AgAgAEF/NgJcIABCfzcCVCAAIAAoAiQ2AiggACAAKAIwNgI0IAAgACgCSDYCTCAAQdgBaiIXELsBIBcgBBC6ASAAKAIIIAMgACgCnAEgAWoQnAFFDQAgACgCnAEhAyARQQE6AAggAEH4AGogASADaiARQQhqEBkgACAAKAIEKAIgELkBQX9GDQAgAEHoAWoiAyAANgKQASAAIAAoAgAoAiARAAAoAiAiASgCACABKAIQaiEBIAAgACgCACgCIBEAACgCICILKQMIIAspAxB9pyELIAMgACAAKAIAKAIgEQAAKAIgLwEmOwEmIAMgATYCACADQgA3AxAgAyALrTcDCCAAIAQ2AvQCIBFBCGoQHiIZIQFBACELIwBBEGsiBCQAIAMgAykDADcDKCADIAMpAyA3A0ggA0FAayADKQMYNwMAIAMgAykDEDcDOCADIAMpAwg3AzACQAJAIANBKGpBASAEQQhqEG4EQCADIAMpAyg3AwAgAyADKQNINwMgIAMgAykDQDcDGCADIAMpAzgiHTcDECADIAMpAzAiHjcDCCAEKQMIIh8gHiAdfVgNAQsMAQsgAyAdIB98NwMQIANB0ABqIAMQFUUNACADELYBRQ0AIAEgAykDADcDACABIAMpAyA3AyAgASADKQMYNwMYIAEgAykDEDcDECABIAMpAwg3AwhBASELCyAEQRBqJAACQCALRQ0AAn9BACEBQQAhA0EAIQRBACELIwBB4ABrIgckACAHQQA2AkggB0IANwNAIAdCADcDMCAHQgA3AyggB0GAgID8AzYCOCAHQQA2AiAgB0IANwMYIAAiBSgCfCEaAkACQAJAAkACQAJAAkAgDEEATA0AIAUoAtgBIAUoAtwBRyEbQQEhGANAIAsiCEEBaiELAkACQAJAAn8CfwJAAkACQAJAAkACQAJAAkACQAJAIAUtALQCRQ0AIAUoAqgCIgogBSgCsAIiAkEDdmoiACAFKAKsAiINTw0AIAAtAAAhBiAFIAJBAWoiADYCsAIgBiACQQdxdkEBcSIQRQ0AQQAhCQJ/IA0gCiAAQQN2IgZqIhJNBEAgACECQQAMAQsgEi0AACESIAUgAkECaiICNgKwAiACQQN2IQYgEiAAQQdxdkEBcQshACANIAYgCmoiBksEQCAGLQAAIQYgBSACQQFqNgKwAiAGIAJBB3F2QQF0QQJxIQkLQX8hBiAAIAlyQQF0IBByIgpBAWsOBwIRAREBEQMRCyADIARGBEBBfyEGDBELQX8hAiAFKAIIIgkoAhgiGAJ/QX8gA0EEayISKAIAIgBBf0YNABpBfyAAQQFqIgEgAEECayABQQNwGyIBQX9GDQAaIAkoAgAgAUECdGooAgALIgpBAnRqKAIAIgFBf0cEQCABQQFqIgIgAUECayACQQNwGyECCyAAIAJGBEBBfyEGDBELIABBf0cEQEF/IQYgCSgCDCAAQQJ0aigCAEF/Rw0RCyAJKAIMIQEgAkF/RwRAQX8hBiABIAJBAnRqKAIAQX9HDRELIAEgAEECdGogCEEDbCIIQQFqIgY2AgAgASAGQQJ0IhNqIAA2AgAgASACQQJ0aiAIQQJqIhA2AgAgASAQQQJ0IhZqIAI2AgBBfyENAn9BfyAAQX9GDQAaAkAgAEEDcARAIABBAWshAQwBC0F/IABBAmoiAUF/Rg0BGgsgCSgCACABQQJ0aigCAAshAAJAIAJBf0YNACACQQFqIgEgAkECayABQQNwGyIBQX9GDQAgCSgCACABQQJ0aigCACENC0F/IQYgACAKRg0QIAogDUYNECAJKAIAIgEgCEECdGogCjYCACABIBNqIA02AgAgASAWaiAANgIAIABBf0cEQCAYIABBAnRqIBA2AgALIAUoAnggCkEDdkH8////AXFqIgAgACgCAEF+IAp3cTYCACASIAg2AgAgBCEBDA0LIAMgBEYNDyAFKAIIIgAoAgwhAiADQQRrIhIoAgAiAUF/RwRAIAIgAUECdGooAgBBf0cNEAsgAiAIQQNsIglBAkEBIApBBUYiChtqIg1BAnQiE2ogATYCACACIAFBAnRqIA02AgAgAEEYakGEwQAQISAFKAIIIgIoAhwgAigCGCIQa0ECdSAaSg0PIAIoAgAiAiATaiAAKAIcIgYgACgCGCIAa0ECdUEBayITNgIAIAAgBkcEQCAQIBNBAnRqIA02AgALIAkgCUECaiAKGyEGIAIgCSAKakECdGoCfyABQX9GBEAgAiAGQQJ0akF/NgIAQX8MAQsCQAJAAkAgAUEDcARAIAFBAWshAAwBCyABQQJqIgBBf0YNAQsgAiAGQQJ0aiACIABBAnRqKAIAIgA2AgAgAEF/Rg0BIBAgAEECdGogBjYCAAwBCyACIAZBAnRqQX82AgALQX8gAUEBaiIAIAFBAmsgAEEDcBsiAEF/Rg0AGiACIABBAnRqKAIACzYCACASIAk2AgAgBCEBDAYLIAEgA0YNDiADQQRrIgAoAgAhBiAHIAA2AkQCQCAHKAIsIglFBEAgACEDDAELIAcoAigCfyAJQf////8HaiAIcSAJaUEBSyIKRQ0AGiAIIAggCUkNABogCCAJcAsiDUECdGooAgAiAkUEQCAAIQMMAQsgAigCACICRQRAIAAhAwwBCwJAIApFBEAgCUEBayEJA0ACQCAIIAIoAgQiCkcEQCAJIApxIA1GDQEgACEDDAULIAIoAgggCEYNAwsgAigCACICDQALIAAhAwwCCwNAAkAgCCACKAIEIgpHBEAgCSAKTQR/IAogCXAFIAoLIA1GDQEgACEDDAQLIAIoAgggCEYNAgsgAigCACICDQALIAAhAwwBCyAAIA9HBEAgACACKAIMNgIAIAcgAzYCRAwBCyAPIAFrIgBBAnUiBEEBaiIDQYCAgIAETw0CQf////8DIABBAXYiCSADIAMgCUkbIABB/P///wdPGyIABH8gAEGAgICABE8NEiAAQQJ0EAUFQQALIgkgBEECdGoiBCACKAIMNgIAIARBBGohAyABIA9HBEADQCAEQQRrIgQgD0EEayIPKAIANgIAIAEgD0cNAAsLIAcgCSAAQQJ0aiIPNgJIIAcgAzYCRCAHIAQ2AkAgAQRAIAEQBAsLIAMgBEYNCSADQQRrIhIoAgAiASAGRg0JIAUoAgghCiABQX9GIgBFBEAgCigCDCABQQJ0aigCAEF/Rw0KCyAKKAIMIQ0gBkF/RwRAIA0gBkECdGooAgBBf0cNCgsgDSABQQJ0aiAIQQNsIhBBAmoiCTYCACANIAlBAnQiAmogATYCACANIAZBAnRqIBBBAWoiCDYCACANIAhBAnQiE2ogBjYCACAADQIgAUEDcARAIAFBAWshCAwHCyABQQJqIghBf0cNBiAKKAIAIQBBfwwHCyAFKAIIIglBGGpBhMEAECEgBSgCCCICKAIAIAhBA2wiAEECdGogCSgCHCIKIAkoAhgiDWsiEEECdSIJQQFrIhI2AgAgAkEYakGEwQAQISACKAIAIABBAWoiE0ECdGogAigCHCACKAIYa0ECdUEBazYCACAFKAIIIgJBGGpBhMEAECEgAigCACAAQQJqIhZBAnRqIAIoAhwgAigCGGtBAnVBAWs2AgAgBSgCCCICKAIcIAIoAhgiAmtBAnUgGkoNDQJAAkAgCiANRwRAIAIgEkECdGogADYCAEEAIQYgEEF8Rg0BCyACIAlBAnRqIBM2AgAgCUEBaiIGQX9GDQELIAIgBkECdGogFjYCAAsgAyAPRwRAIAMgADYCACAHIANBBGoiAzYCRAwFCyADIAFrIgRBAnUiBkEBaiICQYCAgIAETw0CQf////8DIARBAXYiDyACIAIgD0kbIARB/P///wdPGyICBH8gAkGAgICABE8NECACQQJ0EAUFQQALIg8gBkECdGoiBCAANgIAIA8gAkECdGohDyAEQQRqIQAgASADRwRAA0AgBEEEayIEIANBBGsiAygCADYCACABIANHDQALCyAHIA82AkggByAANgJEIAcgBDYCQCABRQ0DIAEQBAwDCxAIAAtBfyEIIAooAgAiACAQQQJ0akF/NgIAQX8MBQsQCAALIAAhAyAEIQELIAUoAigiACAFKAIkRg0FIABBDGsiAigCBCIGIAhBf3MgDGoiCEsNAyAGIAhHDQUgAEEEay0AACEJIAIoAgAhBiAFIAI2AiggBkEASA0DIANBBGsiCigCACEAIAcgBkF/cyAMajYCFCAHIAdBFGoiAjYCWCAHIAdBKGogAiAHQdgAahBQIAcoAgACfyAJQQFxBEBBfyAAQX9GDQEaIABBAWoiAiAAQQJrIAJBA3AbDAELQX8gAEF/Rg0AGiAAQQFrIABBA3ANABogAEECags2AgwgBSgCKCICIAUoAiRGDQUDQCACQQxrIgAoAgQiBiAISw0EIAYgCEcNBiACQQRrLQAAIQYgACgCACECIAUgADYCKCACQQBIDQQgCigCACEAIAcgAkF/cyAMajYCFCAHIAdBFGoiAjYCWCAHIAdBKGogAiAHQdgAahBQIAcoAgACfyAGQQFxBEBBfyAAQX9GDQEaIABBAWoiAiAAQQJrIAJBA3AbDAELQX8gAEF/Rg0AGiAAQQFrIABBA3ANABogAEECags2AgwgBSgCKCICIAUoAiRHDQALDAULIAooAgAiACAIQQJ0aigCAAshCCAAIBBBAnRqIAg2AgBBfyABQQFqIhYgAUECayAWQQNwGyIBQX9GDQAaIAAgAUECdGooAgALIQEgACATaiABNgIAAn8gBkF/RgRAIAAgAmpBfzYCAEF/IQlBfwwBCwJAAkACQCAGQQNwBEAgBkEBayEBDAELIAZBAmoiAUF/Rg0BCyAAIAJqIAAgAUECdGooAgAiATYCACABQX9GDQEgCigCGCABQQJ0aiAJNgIADAELIAAgAmpBfzYCAAtBfyEJQX8gBkEBaiIBIAZBAmsgAUEDcBsiAUF/Rg0AGiAAIAFBAnRqKAIAIQkgAQshAiAKKAIYIgEgCUECdGohBiAIQX9HBEAgASAIQQJ0aiAGKAIANgIACyACIQEDQCABQX9GDQIgACABQQJ0aiAINgIAIAICf0F/IAFBAWoiCiABQQJrIApBA3AbIgFBf0YNABpBfyANIAFBAnRqKAIAIgFBf0YNABogAUEBaiIKIAFBAmsgCkEDcBsLIgFHDQALC0F/IQYgGEUNAwwECyAGQX82AgACQCAbDQAgFCAVRwRAIBUgCTYCACAHIBVBBGoiFTYCHAwBCyAUIA5rIgBBAnUiAkEBaiIBQYCAgIAETw0HQf////8DIABBAXYiCCABIAEgCEkbIABB/P///wdPGyIABH8gAEGAgICABE8NByAAQQJ0EAUFQQALIgggAkECdGoiASAJNgIAIAFBBGohFSAOIBRHBEADQCABQQRrIgEgFEEEayIUKAIANgIAIA4gFEcNAAsLIAcgCCAAQQJ0aiIUNgIgIAcgFTYCHCAHIAE2AhggDgRAIA4QBAsgASEOCyASIBA2AgAgBCEBCyALIAxIIRggCyAMRw0ACyAMIQsLQX8hBiAFKAIIIgAoAhwgACgCGGtBAnUgGkoNACADIARHBEAgBUHIAGohDyAFQTxqIQkgBUG4AmohDQNAIANBBGsiAygCACEIIAcgAzYCRAJAIA0QEQRAIAUoAggiDigCBCAOKAIAIgxrQQJ1QQNuIAtMBEBBfyEGDAULQX8hAEF/IQZBfyEBAn8gDigCGCIUAn9BfyAIQX9GDQAaQX8gCEEBaiIEIAhBAmsgBEEDcBsiBEF/Rg0AGiAMIARBAnRqKAIACyIVQQJ0aigCACIEQX9GBEBBASECQX8MAQtBASECQX8gBEEBaiIKIARBAmsgCkEDcBsiBEF/Rg0AGkEAIQIgBCIAQQFqIgQgAEECayAEQQNwGyIEQX9HBH8gDCAEQQJ0aigCAAVBfwsLIgpBAnQgFGooAgAiBEF/RwRAIARBAWoiASAEQQJrIAFBA3AbIQELIAAgCEYNBCABIAhGDQQgACABRg0EIAhBf0cEQCAOKAIMIAhBAnRqKAIAQX9HDQULIAJFBEAgDigCDCAAQQJ0aigCAEF/Rw0FC0F/IQIgDigCDCEEAn9BfyABQX9GDQAaIAQgAUECdGooAgBBf0cNBUF/IAFBAWoiDiABQQJrIA5BA3AbIg5Bf0YNABogDCAOQQJ0aigCAAshBiAHIAtBA2wiDjYCACAEIA5BAnRqIAg2AgAgBCAIQQJ0aiAONgIAIAQgBygCAEEBaiIIQQJ0aiAANgIAIAQgAEECdGogCDYCACAEIAcoAgBBAmoiAEECdGogATYCACAEIAFBAnRqIAA2AgAgDCAHKAIAIgBBAnRqIAo2AgAgDCAAQQFqIgFBAnRqIgQgBjYCACAMIABBAmoiCEECdGoiDCAVNgIAIAUoAngiACAKQX8gARsiDkEDdkH8////AXFqIgYgBigCAEF+IA53cTYCACABQX9HBEAgBCgCACECCyAAIAJBA3ZB/P///wFxaiIBIAEoAgBBfiACd3E2AgBBfyEBIAhBf0cEQCAMKAIAIQELIAAgAUEDdkH8////AXFqIgAgACgCAEF+IAF3cTYCACAHQQE6AFggCSAHQdgAahC0ASAPIAcQISALQQFqIQsgBygCQCEEDAELIAUoAkAiASAFKAJEIgBBBXRGBEAgAUEBakEASA0IIAkgAUH+////A00EfyAAQQZ0IgAgAUFgcUEgaiIBIAAgAUsbBUH/////BwsQMCAFKAJAIQELIAUgAUEBajYCQCAFKAI8IAFBA3ZB/P///wFxaiIAIAAoAgBBfiABd3E2AgAgBSgCTCIBIAUoAlBHBEAgASAINgIAIAUgAUEEajYCTAwBCyABIA8oAgAiAGsiAkECdSIOQQFqIgxBgICAgARPDQhB/////wMgAkEBdiIGIAwgBiAMSxsgAkH8////B08bIgwEfyAMQYCAgIAETw0GIAxBAnQQBQVBAAsiBiAOQQJ0aiICIAg2AgAgAkEEaiEIIAAgAUcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgACABRw0ACwsgBSAGIAxBAnRqNgJQIAUgCDYCTCAFIAI2AkggAEUNACAAEAQLIAMgBEcNAAsgBSgCCCEAC0F/IQYgCyAAKAIEIAAoAgBrQQJ1QQNuRw0AIAAoAhwgACgCGGtBAnUhBiAHKAIYIgMgBygCHCIIRg0BA0AgAygCACEEIAAoAhgiCyAGQQFrIgFBAnRqIgIoAgBBf0YEQANAIAZBAmshASAGQQFrIQYgCyABQQJ0aiICKAIAQX9GDQALCyABIARPBEAgByAANgIAIAIoAgAhAiAHQQE6AAwgByACNgIIIAcgAjYCBCACQX9HBEADQCABIAUoAggoAgAgAkECdGoiACgCAEcEQEF/IQYMBQsgACAENgIAIAcQdCAHKAIIIgJBf0cNAAsgBSgCCCEACyAAKAIYIgIgAUECdGohCyAEQX9HBEAgAiAEQQJ0aiALKAIANgIACyALQX82AgBBASAEdCELIAUoAngiAiAEQQN2Qfz///8BcWoiBAJ/QQEgAXQiDCACIAFBA3ZB/P///wFxaiIBKAIAcQRAIAQoAgAgC3IMAQsgBCgCACALQX9zcQs2AgAgASABKAIAIAxBf3NxNgIAIAZBAWshBgsgA0EEaiIDIAhHDQALCyAHKAIYIQMLIAMEQCADEAQLIAcoAjAiAARAA0AgACgCACEDIAAQBCADIgANAAsLIAcoAighACAHQQA2AiggAARAIAAQBAsgBygCQCIABEAgByAANgJEIAAQBAsgB0HgAGokACAGDAQLEAkACxAIAAsQCAALEAgACyILQX9GDQAgGSgCACAZKQMQIh2naiEDIBkpAwggHX2nIQEgBSgCBCgCICIAIAAvASY7ASYgACADNgIAIABCADcDECAAIAGtNwMIAkAgBSgC2AEgBSgC3AFGDQAgBSgCCCIAKAIEIAAoAgBGDQBBACEDA0AgBSADELgBBEAgA0EDaiIDIAUoAggiACgCBCAAKAIAa0ECdUkNAQwCCwsMAQsgBS0AtAIEQCAFQQA6ALQCIAUgBSkDoAIgBTUCsAJCB3xCA4h8NwOgAgsgBSgC2AEiAyAFKALcAUcEQEEAIQADQCADIABBkAFsIgFqQQRqIAUoAggQmwEgFygCACIEIAFqIgIoAoQBIgMgAigCiAEiAkcEfwNAIBcoAgAgAWpBBGogAygCABCZASADQQRqIgMgAkcNAAsgFygCAAUgBAsgAWpBBGoQmgFFDQIgAEEBaiIAIAUoAtwBIAUoAtgBIgNrQZABbUkNAAsLIAVBuAFqIAUoAggiACgCHCAAKAIYa0ECdRBSIAUoAtgBIgQgBSgC3AFHBEBBACEDA0AgBCADQZABbGoiAEHoAGogACgCPCAAKAI4a0ECdSIAIAUoAggiASgCHCABKAIYa0ECdSIBIAAgAUobEFIgA0EBaiIDIAUoAtwBIAUoAtgBIgRrQZABbUkNAAsLIAUgCxC3ASEcCwsgEUFAayQAIBwL4wEBBX8gAUEBNgIAIAFBCGohBCABKAIMIAEoAggiAmsiA0F7TQR/IAQgA0EEaq0QTiAEKAIABSACCyADaiAAKAIENgAAIAAoAggiAyAAKAIMRwRAQQAhAgNAIAMgAkECdGohBiABKAIMIAEoAggiA2siBUF7TQR/IAQgBUEEaq0QTiAEKAIABSADCyAFaiAGKAIANgAAIAJBAWoiAiAAKAIMIAAoAggiA2tBAnVJDQALCyABKAIMIAEoAggiAmsiAUF7TQR/IAQgAUEEaq0QTiAEKAIABSACCyABaiAAKAIUNgAACxYAIAAoAjAiACABIAAoAgAoAhARAQALFgAgACgCMCIAIAEgACgCACgCDBEBAAsUACAAKAIwIgAgACgCACgCJBEAAAuoAQEDfyAAQfA/NgIAIAAoAjAhASAAQQA2AjAgAQRAIAEgASgCACgCBBECAAsgAEGwzgA2AgAgACgCFCIBBEAgACABNgIYIAEQBAsgACgCCCIBBEAgACgCDCIDIAEiAkcEQANAIANBBGsiAygCACECIANBADYCACACBEAgAiACKAIAKAIEEQIACyABIANHDQALIAAoAgghAgsgACABNgIMIAIQBAsgABAEC6YBAQN/IABB8D82AgAgACgCMCEBIABBADYCMCABBEAgASABKAIAKAIEEQIACyAAQbDOADYCACAAKAIUIgEEQCAAIAE2AhggARAECyAAKAIIIgEEQCAAKAIMIgMgASICRwRAA0AgA0EEayIDKAIAIQIgA0EANgIAIAIEQCACIAIoAgAoAgQRAgALIAEgA0cNAAsgACgCCCECCyAAIAE2AgwgAhAECyAACxQAIAAoAjAiACAAKAIAKAIcEQAACxQAIAAoAjAiACAAKAIAKAIYEQAAC9UFAgJ/AX4gACgCICIBKQMIIAEpAxAiA1UEfyABKAIAIAOnai0AACECIAEgA0IBfDcDECAAKAIwIQEgAEEANgIwIAEEQCABIAEoAgAoAgQRAgALAkACQAJ/AkACQCACDgMAAwEDC0GAAxAFIgFB3MAANgIAIAFBBGpBAEHQABAHGiABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHoAWoQHhogAUGQAmoQHhogAUG4AmoiAkIANwIAIAJCADcABSABQcgCahAeGiABQQA2AvgCIAFCADcD8AIgAQwBC0G4AxAFIgFBkMEANgIAIAFBBGpBAEHQABAHGiABQgA3A2AgAUF/NgJcIAFCfzcCVCABQgA3A2ggAUIANwNwIAFCADcDeCABQgA3A4ABIAFCADcDiAEgAUIANwOQASABQgA3ApwBIAFBgICA/AM2ApgBIAFCADcCpAEgAUIANwKsASABQgA3ArQBIAFCADcCvAEgAUIANwLEASABQgA3AswBIAFC/////w83AtQBIAFCADcC3AEgAUHoAWoQHhogAUGQAmoQHhogAUG4AmoiAkIANwIAIAJCADcABSABQcgCahAeGiABQgA3A4gDIAFCADcDgAMgAUIANwP4AiABQgA3A/ACIAFCADcDoAMgAUKCgICA8AA3A5gDIAFCfzcDkAMgAUIANwOoAyABQgA3A7ADIAELIQEgACgCMCECIAAgATYCMCACRQ0BIAIgAigCACgCBBECAAsgACgCMCIBDQBBAA8LIAEgACABKAIAKAIIEQEABUEACwsWACAAKAIwIgAgASAAKAIAKAIUEQEAC34BA38gAEGwzgA2AgAgACgCFCICBEAgACACNgIYIAIQBAsgACgCCCICBEAgACgCDCIDIAIiAUcEQANAIANBBGsiAygCACEBIANBADYCACABBEAgASABKAIAKAIEEQIACyACIANHDQALIAAoAgghAQsgACACNgIMIAEQBAsgAAsbACAAKAIsRQRAQQAPCyAAIAAoAgAoAjARAAAL7wIBCX8CQCABKAJYIgNFDQAgAygCAEEBRw0AIAAgAygCCCIGKAAANgIEIABBCGohBAJAIAAoAgwgACgCCCIHa0ECdSIFIAEtABgiAkkEQCAEIAIgBWsQCyABLQAYIQIgAygCCCEGDAELIAIgBU8NACAAIAcgAkECdGo2AgwLAkAgAkUEQEEEIQEMAQsgAkEDcSEHIAQoAgAhAwJAIAJBAWtBA0kEQEEEIQFBACECDAELIAJB/AFxIQpBACECQQQhAQNAIAMgAkECdCIEaiABIAZqIgUqAAA4AgAgAyAEQQRyaiAFKgAEOAIAIAMgBEEIcmogBSoACDgCACADIARBDHJqIAUqAAw4AgAgAkEEaiECIAFBEGohASAJQQRqIgkgCkcNAAsLIAdFDQADQCADIAJBAnRqIAEgBmoqAAA4AgAgAkEBaiECIAFBBGohASAIQQFqIgggB0cNAAsLIAAgASAGaioAADgCFEEBIQILIAIL7xUBGH8jAEEQayIOJAAgDiABNgIMIA5BIBAFIgE2AgAgDkKYgICAgISAgIB/NwIEIAFBqAkpAAA3ABAgAUGgCSkAADcACCABQZgJKQAANwAAIAFBADoAGCMAQTBrIgwkACAOKAIMIQUCQAJAIAAiAUEQaiIDKAIAIgJFDQAgAyEAA0AgACACIAIoAhAgBUgiBBshACACQQRqIAIgBBso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QQJHDQAgACABKAIIKAAANgIEQQEhAgsgAgsL31IHAEGECAuxPWAEAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAABONWRyYWNvMjhBdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtRQAA2CsAADgEAADgBgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFkX2FycmF5X25ld19sZW5ndGgAYmFzaWNfc3RyaW5nAHN0ZDo6YmFkX2FsbG9jAERSQUNPAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAFVuc3VwcG9ydGVkIG1pbm9yIHZlcnNpb24uAFVuc3VwcG9ydGVkIG1ham9yIHZlcnNpb24uAElucHV0IGlzIG5vdCBhIG1lc2guAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAE5vdCBhIERyYWNvIGZpbGUuAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQAAAAAAAAC0BgAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAACwAAABgAAAAZAAAATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQAAAADYKwAAiAYAAOAGAABONWRyYWNvMThBdHRyaWJ1dGVUcmFuc2Zvcm1FAAAAALArAADABgAAAAAAAGwHAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAALArAAA8BwAA2CsAACAHAABkBwAAAAAAAMwHAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAsCsAAKQHAAD/////AAAAAEQIAAAvAAAAMAAAABwAAAAxAAAAMgAAAB8AAAAgAAAAIQAAADMAAAA0AAAANQAAADYAAAA3AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUA2CsAABQIAABsBwAAAAAAALgIAAA4AAAAOQAAADoAAAApAAAAKgAAACsAAAA7AAAALQAAADwAAAA9AAAAPgAAAD8AAABAAAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQDYKwAAjAgAAMwHAAAAAAAARAsAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFALArAADoCgAA2CsAAL0KAAAMCwAA2CsAAIkKAAAUCwAA2CsAADUKAAAgCwAA2CsAAJ8JAAAsCwAA2CsAAPwIAAA4CwAAAAAAADgLAABBAAAATQAAACMAAABEAAAAIwAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAACMAAAAAAAAALAsAAEEAAABOAAAAIwAAAEQAAAAjAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAIwAAAAAAAACsDAAATwAAAFAAAABRAAAARAAAAFIAAABGAAAARwAAAEgAAABJAAAASgAAAFMAAABUAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAA2CsAAPgLAAA4CwAAAAAAAJgNAABVAAAAVgAAAFcAAABEAAAAWAAAAFkAAABaAAAAWwAAAEkAAABKAAAAXAAAAF0AAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAADYKwAA8AwAADgLAAAAAAAAhA4AAF4AAABfAAAAYAAAAEQAAABhAAAAYgAAAGMAAABkAAAASQAAAEoAAABlAAAAZgAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAANgrAADcDQAAOAsAAAAAAAAMEAAAZwAAAGgAAABpAAAAagAAAGsAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAALArAABXDwAA2CsAAKwOAAAEEAAAAAAAAAQQAABnAAAAbAAAACMAAABqAAAAIwAAAAAAAACYEQAAQQAAAG0AAABuAAAARAAAAG8AAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABwAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAA2CsAAAIRAAAsCwAA2CsAAGwQAACMEQAAAAAAAIwRAABBAAAAcQAAACMAAABEAAAAIwAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAACMAAAAAAAAAvBIAAHIAAABzAAAAdAAAAEQAAAB1AAAARgAAAEcAAABIAAAASQAAAEoAAAB2AAAAdwAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAANgrAAAUEgAAjBEAAAAAAACcEwAAeAAAAHkAAAB6AAAARAAAAHsAAAB8AAAAfQAAAH4AAABJAAAASgAAAH8AAACAAAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAA2CsAAAATAACMEQAAAAAAAHgUAACBAAAAggAAAIMAAABEAAAAhAAAAIUAAACGAAAAhwAAAEkAAABKAAAAiAAAAIkAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFANgrAADgEwAAjBEAAAAAAADkFQAAigAAAIsAAACMAAAAjQAAAI4AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAsCsAAD4VAADYKwAAoBQAANwVAAAAAAAA3BUAAIoAAACPAAAAIwAAAI0AAAAjAAAAAAAAAKAWAABBAAAAkAAAAJEAAABEAAAAkgAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAJMAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAANgrAABEFgAALAsAAAAAAAAUFwAAlAAAAJUAAACWAAAAKQAAACoAAACXAAAAOwAAAC0AAAA8AAAAmAAAAJkAAACaAAAAmwAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAA2CsAAOgWAAC4CAAAAAAAAEgZAACcAAAAnQAAAJ4AAACfAAAAoAAAAKEAAACiAAAAowAAAKQAAAClAAAApgAAAKcAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAA2CsAAMMYAAAgCwAA2CsAABUYAAAwGQAA2CsAAFgXAAA8GQAAAAAAAAAbAACoAAAAqQAAAKoAAACrAAAArAAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAsCsAADMaAADYKwAAcBkAAPgaAAAAAAAApBwAAK0AAACuAAAArwAAAJ8AAACwAAAAsQAAALIAAACzAAAApAAAAKUAAAC0AAAAtQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAADYKwAA9BsAADAZAADYKwAARBsAAJgcAAAAAAAAQB4AALYAAAC3AAAAuAAAALkAAAC6AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFALArAACCHQAA2CsAAMwcAAA4HgAAAAAAAPgeAAC7AAAAvAAAAL0AAACfAAAAvgAAAL8AAADAAAAAwQAAAKQAAAClAAAAwgAAAMMAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAANgrAACEHgAAMBkAAAAAAAB8HwAAxAAAAMUAAADGAAAAKQAAACoAAADHAAAAOwAAAC0AAAA8AAAAyAAAAD4AAAA/AAAAyQAAAMoAAADLAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAANgrAABIHwAAuAgAAAAAAADcHwAAzAAAAM0AAADOAAAAzwAAACMAAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAAIwAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAANgrAADEHwAAnCcAAAAAAABIIAAA1wAAANgAAADOAAAA2QAAANoAAADQAAAA0QAAANIAAADbAAAA3AAAAN0AAADeAAAA3wAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAANgrAAAkIAAA3B8AAAAAAAA8IQAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAOcAAADoAAAA6QAAAP////8AAAAAnCEAAOoAAADrAAAA7AAAAO0AAADuAAAA7wAAAPAAAADxAAAA8gAAAPMAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAsCsAAAQhAADYKwAAuCAAADQhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAADYKwAASCEAADQhAAAAAAAAmCIAAPQAAAD1AAAA9gAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAsCsAACkiAADYKwAAvCEAAJAiAAAAAAAAkCIAAPcAAAD4AAAA9gBBxMUAC7YHAQAAAAMAAAAFAAAABwAAAAAAAACYIwAA+QAAAPoAAAD7AAAA/AAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAsCsAAHMjAADYKwAA7CIAAJAjAAD/////AAAAAIgkAAD9AAAA/gAAAP8AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAsCsAACUkAADYKwAAvCMAAIAkAAAAAAAAgCQAAAABAAABAQAA/wAAAAAAAABAJQAAAgEAAAMBAAAEAQAABQEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAA2CsAAMAkAACQIwAAAAAAAMAlAAAGAQAABwEAAP8AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQDYKwAAYCUAAIAkAAAAAAAAcCYAAAgBAAAJAQAACgEAAAsBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAANgrAADkJQAAkCMAQYTNAAvNAdwmAADMAAAADAEAAM4AAADPAAAADQEAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAAAOAQAATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQDYKwAAvCYAANwfAAAAAAAAHCcAAA8BAAAQAQAAEQEAABIBAABONWRyYWNvMTVMaW5lYXJT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"},201:A=>{"use strict";A.exports="data:application/javascript;base64,dmFyICRqc2NvbXA9JGpzY29tcHx8e307JGpzY29tcC5zY29wZT17fTskanNjb21wLmFycmF5SXRlcmF0b3JJbXBsPWZ1bmN0aW9uKGgpe3ZhciBuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG48aC5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6aFtuKytdfTp7ZG9uZTohMH19fTskanNjb21wLmFycmF5SXRlcmF0b3I9ZnVuY3Rpb24oaCl7cmV0dXJue25leHQ6JGpzY29tcC5hcnJheUl0ZXJhdG9ySW1wbChoKX19OyRqc2NvbXAubWFrZUl0ZXJhdG9yPWZ1bmN0aW9uKGgpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3ImJmhbU3ltYm9sLml0ZXJhdG9yXTtyZXR1cm4gbj9uLmNhbGwoaCk6JGpzY29tcC5hcnJheUl0ZXJhdG9yKGgpfTskanNjb21wLkFTU1VNRV9FUzU9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSVZFX01BUD0hMTskanNjb21wLkFTU1VNRV9OT19OQVRJVkVfU0VUPSExOyRqc2NvbXAuU0lNUExFX0ZST1VORF9QT0xZRklMTD0hMTsKJGpzY29tcC5JU09MQVRFX1BPTFlGSUxMUz0hMTskanNjb21wLkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTj0hMTskanNjb21wLmdldEdsb2JhbD1mdW5jdGlvbihoKXtoPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsaCwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIG49MDtuPGgubGVuZ3RoOysrbil7dmFyIGs9aFtuXTtpZihrJiZrLk1hdGg9PU1hdGgpcmV0dXJuIGt9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9OyRqc2NvbXAuZ2xvYmFsPSRqc2NvbXAuZ2V0R2xvYmFsKHRoaXMpOwokanNjb21wLmRlZmluZVByb3BlcnR5PSRqc2NvbXAuQVNTVU1FX0VTNXx8ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihoLG4sayl7aWYoaD09QXJyYXkucHJvdG90eXBlfHxoPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBoO2hbbl09ay52YWx1ZTtyZXR1cm4gaH07JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFPSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PXR5cGVvZiBTeW1ib2woIngiKTskanNjb21wLlRSVVNUX0VTNl9QT0xZRklMTFM9ISRqc2NvbXAuSVNPTEFURV9QT0xZRklMTFN8fCRqc2NvbXAuSVNfU1lNQk9MX05BVElWRTskanNjb21wLnBvbHlmaWxscz17fTskanNjb21wLnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbD17fTskanNjb21wLlBPTFlGSUxMX1BSRUZJWD0iJGpzY3AkIjsKdmFyICRqc2NvbXAkbG9va3VwUG9seWZpbGxlZFZhbHVlPWZ1bmN0aW9uKGgsbil7dmFyIGs9JGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbbl07aWYobnVsbD09aylyZXR1cm4gaFtuXTtrPWhba107cmV0dXJuIHZvaWQgMCE9PWs/azpoW25dfTskanNjb21wLnBvbHlmaWxsPWZ1bmN0aW9uKGgsbixrLHApe24mJigkanNjb21wLklTT0xBVEVfUE9MWUZJTExTPyRqc2NvbXAucG9seWZpbGxJc29sYXRlZChoLG4sayxwKTokanNjb21wLnBvbHlmaWxsVW5pc29sYXRlZChoLG4sayxwKSl9OwokanNjb21wLnBvbHlmaWxsVW5pc29sYXRlZD1mdW5jdGlvbihoLG4sayxwKXtrPSRqc2NvbXAuZ2xvYmFsO2g9aC5zcGxpdCgiLiIpO2ZvcihwPTA7cDxoLmxlbmd0aC0xO3ArKyl7dmFyIGw9aFtwXTtpZighKGwgaW4gaykpcmV0dXJuO2s9a1tsXX1oPWhbaC5sZW5ndGgtMV07cD1rW2hdO249bihwKTtuIT1wJiZudWxsIT1uJiYkanNjb21wLmRlZmluZVByb3BlcnR5KGssaCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX07CiRqc2NvbXAucG9seWZpbGxJc29sYXRlZD1mdW5jdGlvbihoLG4sayxwKXt2YXIgbD1oLnNwbGl0KCIuIik7aD0xPT09bC5sZW5ndGg7cD1sWzBdO3A9IWgmJnAgaW4gJGpzY29tcC5wb2x5ZmlsbHM/JGpzY29tcC5wb2x5ZmlsbHM6JGpzY29tcC5nbG9iYWw7Zm9yKHZhciB5PTA7eTxsLmxlbmd0aC0xO3krKyl7dmFyIGY9bFt5XTtpZighKGYgaW4gcCkpcmV0dXJuO3A9cFtmXX1sPWxbbC5sZW5ndGgtMV07az0kanNjb21wLklTX1NZTUJPTF9OQVRJVkUmJiJlczYiPT09az9wW2xdOm51bGw7bj1uKGspO251bGwhPW4mJihoPyRqc2NvbXAuZGVmaW5lUHJvcGVydHkoJGpzY29tcC5wb2x5ZmlsbHMsbCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTpuIT09ayYmKHZvaWQgMD09PSRqc2NvbXAucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW2xdJiYoaz0xRTkqTWF0aC5yYW5kb20oKT4+PjAsJGpzY29tcC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbbF09JGpzY29tcC5JU19TWU1CT0xfTkFUSVZFPwokanNjb21wLmdsb2JhbC5TeW1ib2wobCk6JGpzY29tcC5QT0xZRklMTF9QUkVGSVgraysiJCIrbCksJGpzY29tcC5kZWZpbmVQcm9wZXJ0eShwLCRqc2NvbXAucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW2xdLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pKSl9OwokanNjb21wLnBvbHlmaWxsKCJQcm9taXNlIixmdW5jdGlvbihoKXtmdW5jdGlvbiBuKCl7dGhpcy5iYXRjaF89bnVsbH1mdW5jdGlvbiBrKGYpe3JldHVybiBmIGluc3RhbmNlb2YgbD9mOm5ldyBsKGZ1bmN0aW9uKHEsdSl7cShmKX0pfWlmKGgmJighKCRqc2NvbXAuRk9SQ0VfUE9MWUZJTExfUFJPTUlTRXx8JGpzY29tcC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTiYmInVuZGVmaW5lZCI9PT10eXBlb2YgJGpzY29tcC5nbG9iYWwuUHJvbWlzZVJlamVjdGlvbkV2ZW50KXx8ISRqc2NvbXAuZ2xvYmFsLlByb21pc2V8fC0xPT09JGpzY29tcC5nbG9iYWwuUHJvbWlzZS50b1N0cmluZygpLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKSkpcmV0dXJuIGg7bi5wcm90b3R5cGUuYXN5bmNFeGVjdXRlPWZ1bmN0aW9uKGYpe2lmKG51bGw9PXRoaXMuYmF0Y2hfKXt0aGlzLmJhdGNoXz1bXTt2YXIgcT10aGlzO3RoaXMuYXN5bmNFeGVjdXRlRnVuY3Rpb24oZnVuY3Rpb24oKXtxLmV4ZWN1dGVCYXRjaF8oKX0pfXRoaXMuYmF0Y2hfLnB1c2goZil9Owp2YXIgcD0kanNjb21wLmdsb2JhbC5zZXRUaW1lb3V0O24ucHJvdG90eXBlLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uPWZ1bmN0aW9uKGYpe3AoZiwwKX07bi5wcm90b3R5cGUuZXhlY3V0ZUJhdGNoXz1mdW5jdGlvbigpe2Zvcig7dGhpcy5iYXRjaF8mJnRoaXMuYmF0Y2hfLmxlbmd0aDspe3ZhciBmPXRoaXMuYmF0Y2hfO3RoaXMuYmF0Y2hfPVtdO2Zvcih2YXIgcT0wO3E8Zi5sZW5ndGg7KytxKXt2YXIgdT1mW3FdO2ZbcV09bnVsbDt0cnl7dSgpfWNhdGNoKEEpe3RoaXMuYXN5bmNUaHJvd18oQSl9fX10aGlzLmJhdGNoXz1udWxsfTtuLnByb3RvdHlwZS5hc3luY1Rocm93Xz1mdW5jdGlvbihmKXt0aGlzLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uKGZ1bmN0aW9uKCl7dGhyb3cgZjt9KX07dmFyIGw9ZnVuY3Rpb24oZil7dGhpcy5zdGF0ZV89MDt0aGlzLnJlc3VsdF89dm9pZCAwO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz1bXTt0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF89ITE7dmFyIHE9dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpOwp0cnl7ZihxLnJlc29sdmUscS5yZWplY3QpfWNhdGNoKHUpe3EucmVqZWN0KHUpfX07bC5wcm90b3R5cGUuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBmKEEpe3JldHVybiBmdW5jdGlvbihGKXt1fHwodT0hMCxBLmNhbGwocSxGKSl9fXZhciBxPXRoaXMsdT0hMTtyZXR1cm57cmVzb2x2ZTpmKHRoaXMucmVzb2x2ZVRvXykscmVqZWN0OmYodGhpcy5yZWplY3RfKX19O2wucHJvdG90eXBlLnJlc29sdmVUb189ZnVuY3Rpb24oZil7aWYoZj09PXRoaXMpdGhpcy5yZWplY3RfKG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihmIGluc3RhbmNlb2YgbCl0aGlzLnNldHRsZVNhbWVBc1Byb21pc2VfKGYpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGYpe2Nhc2UgIm9iamVjdCI6dmFyIHE9bnVsbCE9ZjticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpxPSEwO2JyZWFrIGE7ZGVmYXVsdDpxPSExfXE/dGhpcy5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXyhmKToKdGhpcy5mdWxmaWxsXyhmKX19O2wucHJvdG90eXBlLnJlc29sdmVUb05vblByb21pc2VPYmpfPWZ1bmN0aW9uKGYpe3ZhciBxPXZvaWQgMDt0cnl7cT1mLnRoZW59Y2F0Y2godSl7dGhpcy5yZWplY3RfKHUpO3JldHVybn0iZnVuY3Rpb24iPT10eXBlb2YgcT90aGlzLnNldHRsZVNhbWVBc1RoZW5hYmxlXyhxLGYpOnRoaXMuZnVsZmlsbF8oZil9O2wucHJvdG90eXBlLnJlamVjdF89ZnVuY3Rpb24oZil7dGhpcy5zZXR0bGVfKDIsZil9O2wucHJvdG90eXBlLmZ1bGZpbGxfPWZ1bmN0aW9uKGYpe3RoaXMuc2V0dGxlXygxLGYpfTtsLnByb3RvdHlwZS5zZXR0bGVfPWZ1bmN0aW9uKGYscSl7aWYoMCE9dGhpcy5zdGF0ZV8pdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitmKyIsICIrcSsiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuc3RhdGVfKTt0aGlzLnN0YXRlXz1mO3RoaXMucmVzdWx0Xz1xOzI9PT10aGlzLnN0YXRlXyYmdGhpcy5zY2hlZHVsZVVuaGFuZGxlZFJlamVjdGlvbkNoZWNrXygpOwp0aGlzLmV4ZWN1dGVPblNldHRsZWRDYWxsYmFja3NfKCl9O2wucHJvdG90eXBlLnNjaGVkdWxlVW5oYW5kbGVkUmVqZWN0aW9uQ2hlY2tfPWZ1bmN0aW9uKCl7dmFyIGY9dGhpcztwKGZ1bmN0aW9uKCl7aWYoZi5ub3RpZnlVbmhhbmRsZWRSZWplY3Rpb25fKCkpe3ZhciBxPSRqc2NvbXAuZ2xvYmFsLmNvbnNvbGU7InVuZGVmaW5lZCIhPT10eXBlb2YgcSYmcS5lcnJvcihmLnJlc3VsdF8pfX0sMSl9O2wucHJvdG90eXBlLm5vdGlmeVVuaGFuZGxlZFJlamVjdGlvbl89ZnVuY3Rpb24oKXtpZih0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF8pcmV0dXJuITE7dmFyIGY9JGpzY29tcC5nbG9iYWwuQ3VzdG9tRXZlbnQscT0kanNjb21wLmdsb2JhbC5FdmVudCx1PSRqc2NvbXAuZ2xvYmFsLmRpc3BhdGNoRXZlbnQ7aWYoInVuZGVmaW5lZCI9PT10eXBlb2YgdSlyZXR1cm4hMDsiZnVuY3Rpb24iPT09dHlwZW9mIGY/Zj1uZXcgZigidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOgoiZnVuY3Rpb24iPT09dHlwZW9mIHE/Zj1uZXcgcSgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihmPSRqc2NvbXAuZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGYuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGYpKTtmLnByb21pc2U9dGhpcztmLnJlYXNvbj10aGlzLnJlc3VsdF87cmV0dXJuIHUoZil9O2wucHJvdG90eXBlLmV4ZWN1dGVPblNldHRsZWRDYWxsYmFja3NfPWZ1bmN0aW9uKCl7aWYobnVsbCE9dGhpcy5vblNldHRsZWRDYWxsYmFja3NfKXtmb3IodmFyIGY9MDtmPHRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXy5sZW5ndGg7KytmKXkuYXN5bmNFeGVjdXRlKHRoaXMub25TZXR0bGVkQ2FsbGJhY2tzX1tmXSk7dGhpcy5vblNldHRsZWRDYWxsYmFja3NfPW51bGx9fTt2YXIgeT1uZXcgbjtsLnByb3RvdHlwZS5zZXR0bGVTYW1lQXNQcm9taXNlXz1mdW5jdGlvbihmKXt2YXIgcT10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7CmYuY2FsbFdoZW5TZXR0bGVkXyhxLnJlc29sdmUscS5yZWplY3QpfTtsLnByb3RvdHlwZS5zZXR0bGVTYW1lQXNUaGVuYWJsZV89ZnVuY3Rpb24oZixxKXt2YXIgdT10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7dHJ5e2YuY2FsbChxLHUucmVzb2x2ZSx1LnJlamVjdCl9Y2F0Y2goQSl7dS5yZWplY3QoQSl9fTtsLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGYscSl7ZnVuY3Rpb24gdSh3LEIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB3P2Z1bmN0aW9uKFIpe3RyeXtBKHcoUikpfWNhdGNoKFope0YoWil9fTpCfXZhciBBLEYsdj1uZXcgbChmdW5jdGlvbih3LEIpe0E9dztGPUJ9KTt0aGlzLmNhbGxXaGVuU2V0dGxlZF8odShmLEEpLHUocSxGKSk7cmV0dXJuIHZ9O2wucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGYpfTtsLnByb3RvdHlwZS5jYWxsV2hlblNldHRsZWRfPWZ1bmN0aW9uKGYscSl7ZnVuY3Rpb24gdSgpe3N3aXRjaChBLnN0YXRlXyl7Y2FzZSAxOmYoQS5yZXN1bHRfKTsKYnJlYWs7Y2FzZSAyOnEoQS5yZXN1bHRfKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbmV4cGVjdGVkIHN0YXRlOiAiK0Euc3RhdGVfKTt9fXZhciBBPXRoaXM7bnVsbD09dGhpcy5vblNldHRsZWRDYWxsYmFja3NfP3kuYXN5bmNFeGVjdXRlKHUpOnRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXy5wdXNoKHUpO3RoaXMuaXNSZWplY3Rpb25IYW5kbGVkXz0hMH07bC5yZXNvbHZlPWs7bC5yZWplY3Q9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKHEsdSl7dShmKX0pfTtsLnJhY2U9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKHEsdSl7Zm9yKHZhciBBPSRqc2NvbXAubWFrZUl0ZXJhdG9yKGYpLEY9QS5uZXh0KCk7IUYuZG9uZTtGPUEubmV4dCgpKWsoRi52YWx1ZSkuY2FsbFdoZW5TZXR0bGVkXyhxLHUpfSl9O2wuYWxsPWZ1bmN0aW9uKGYpe3ZhciBxPSRqc2NvbXAubWFrZUl0ZXJhdG9yKGYpLHU9cS5uZXh0KCk7cmV0dXJuIHUuZG9uZT9rKFtdKTpuZXcgbChmdW5jdGlvbihBLApGKXtmdW5jdGlvbiB2KFIpe3JldHVybiBmdW5jdGlvbihaKXt3W1JdPVo7Qi0tOzA9PUImJkEodyl9fXZhciB3PVtdLEI9MDtkbyB3LnB1c2godm9pZCAwKSxCKyssayh1LnZhbHVlKS5jYWxsV2hlblNldHRsZWRfKHYody5sZW5ndGgtMSksRiksdT1xLm5leHQoKTt3aGlsZSghdS5kb25lKX0pfTtyZXR1cm4gbH0sImVzNiIsImVzMyIpOyRqc2NvbXAub3ducz1mdW5jdGlvbihoLG4pe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaCxuKX07JGpzY29tcC5hc3NpZ249JGpzY29tcC5UUlVTVF9FUzZfUE9MWUZJTExTJiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKGgsbil7Zm9yKHZhciBrPTE7azxhcmd1bWVudHMubGVuZ3RoO2srKyl7dmFyIHA9YXJndW1lbnRzW2tdO2lmKHApZm9yKHZhciBsIGluIHApJGpzY29tcC5vd25zKHAsbCkmJihoW2xdPXBbbF0pfXJldHVybiBofTsKJGpzY29tcC5wb2x5ZmlsbCgiT2JqZWN0LmFzc2lnbiIsZnVuY3Rpb24oaCl7cmV0dXJuIGh8fCRqc2NvbXAuYXNzaWdufSwiZXM2IiwiZXMzIik7JGpzY29tcC5jaGVja1N0cmluZ0FyZ3M9ZnVuY3Rpb24oaCxuLGspe2lmKG51bGw9PWgpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlICd0aGlzJyB2YWx1ZSBmb3IgU3RyaW5nLnByb3RvdHlwZS4iK2srIiBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO2lmKG4gaW5zdGFuY2VvZiBSZWdFeHApdGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgdG8gU3RyaW5nLnByb3RvdHlwZS4iK2srIiBtdXN0IG5vdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiIpO3JldHVybiBoKyIifTsKJGpzY29tcC5wb2x5ZmlsbCgiU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoIixmdW5jdGlvbihoKXtyZXR1cm4gaD9oOmZ1bmN0aW9uKG4sayl7dmFyIHA9JGpzY29tcC5jaGVja1N0cmluZ0FyZ3ModGhpcyxuLCJzdGFydHNXaXRoIik7bis9IiI7dmFyIGw9cC5sZW5ndGgseT1uLmxlbmd0aDtrPU1hdGgubWF4KDAsTWF0aC5taW4oa3wwLHAubGVuZ3RoKSk7Zm9yKHZhciBmPTA7Zjx5JiZrPGw7KWlmKHBbaysrXSE9bltmKytdKXJldHVybiExO3JldHVybiBmPj15fX0sImVzNiIsImVzMyIpOwokanNjb21wLnBvbHlmaWxsKCJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbihrKXtrPU51bWJlcihrKTtyZXR1cm4gSW5maW5pdHk9PT1rfHwtSW5maW5pdHk9PT1rP2s6a3wwfXJldHVybiBoP2g6ZnVuY3Rpb24oayxwLGwpe3ZhciB5PXRoaXMubGVuZ3RoO2s9bihrKTtwPW4ocCk7bD12b2lkIDA9PT1sP3k6bihsKTtrPTA+az9NYXRoLm1heCh5K2ssMCk6TWF0aC5taW4oayx5KTtwPTA+cD9NYXRoLm1heCh5K3AsMCk6TWF0aC5taW4ocCx5KTtsPTA+bD9NYXRoLm1heCh5K2wsMCk6TWF0aC5taW4obCx5KTtpZihrPHApZm9yKDtwPGw7KXAgaW4gdGhpcz90aGlzW2srK109dGhpc1twKytdOihkZWxldGUgdGhpc1trKytdLHArKyk7ZWxzZSBmb3IobD1NYXRoLm1pbihsLHkrcC1rKSxrKz1sLXA7bD5wOyktLWwgaW4gdGhpcz90aGlzWy0ta109dGhpc1tsXTpkZWxldGUgdGhpc1stLWtdO3JldHVybiB0aGlzfX0sImVzNiIsImVzMyIpOwokanNjb21wLnR5cGVkQXJyYXlDb3B5V2l0aGluPWZ1bmN0aW9uKGgpe3JldHVybiBoP2g6QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW59OyRqc2NvbXAucG9seWZpbGwoIkludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOyRqc2NvbXAucG9seWZpbGwoIkludDE2QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOwokanNjb21wLnBvbHlmaWxsKCJVaW50MTZBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiSW50MzJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiVWludDMyQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLCRqc2NvbXAudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpOyRqc2NvbXAucG9seWZpbGwoIkZsb2F0MzJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsJGpzY29tcC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7JGpzY29tcC5wb2x5ZmlsbCgiRmxvYXQ2NEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIiwkanNjb21wLnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTsKdmFyIERyYWNvRGVjb2Rlck1vZHVsZT1mdW5jdGlvbigpe3ZhciBoPSJ1bmRlZmluZWQiIT09dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMDsidW5kZWZpbmVkIiE9PXR5cGVvZiBfX2ZpbGVuYW1lJiYoaD1ofHxfX2ZpbGVuYW1lKTtyZXR1cm4gZnVuY3Rpb24obil7ZnVuY3Rpb24gayhlKXtyZXR1cm4gYS5sb2NhdGVGaWxlP2EubG9jYXRlRmlsZShlLFUpOlUrZX1mdW5jdGlvbiBwKGUsYil7aWYoZSl7dmFyIGM9aWE7dmFyIGQ9ZStiO2ZvcihiPWU7Y1tiXSYmIShiPj1kKTspKytiO2lmKDE2PGItZSYmYy5idWZmZXImJnJhKWM9cmEuZGVjb2RlKGMuc3ViYXJyYXkoZSxiKSk7ZWxzZXtmb3IoZD0iIjtlPGI7KXt2YXIgZz1jW2UrK107aWYoZyYxMjgpe3ZhciB0PWNbZSsrXSY2MztpZigxOTI9PShnJjIyNCkpZCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoZyYzMSk8PDZ8dCk7ZWxzZXt2YXIgYWE9Y1tlKytdJgo2MztnPTIyND09KGcmMjQwKT8oZyYxNSk8PDEyfHQ8PDZ8YWE6KGcmNyk8PDE4fHQ8PDEyfGFhPDw2fGNbZSsrXSY2Mzs2NTUzNj5nP2QrPVN0cmluZy5mcm9tQ2hhckNvZGUoZyk6KGctPTY1NTM2LGQrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Zz4+MTAsNTYzMjB8ZyYxMDIzKSl9fWVsc2UgZCs9U3RyaW5nLmZyb21DaGFyQ29kZShnKX1jPWR9fWVsc2UgYz0iIjtyZXR1cm4gY31mdW5jdGlvbiBsKCl7dmFyIGU9amEuYnVmZmVyO2EuSEVBUDg9Vz1uZXcgSW50OEFycmF5KGUpO2EuSEVBUDE2PW5ldyBJbnQxNkFycmF5KGUpO2EuSEVBUDMyPWNhPW5ldyBJbnQzMkFycmF5KGUpO2EuSEVBUFU4PWlhPW5ldyBVaW50OEFycmF5KGUpO2EuSEVBUFUxNj1uZXcgVWludDE2QXJyYXkoZSk7YS5IRUFQVTMyPVk9bmV3IFVpbnQzMkFycmF5KGUpO2EuSEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGUpO2EuSEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGUpfWZ1bmN0aW9uIHkoZSl7aWYoYS5vbkFib3J0KWEub25BYm9ydChlKTsKZT0iQWJvcnRlZCgiK2UrIikiO2RhKGUpO3NhPSEwO2U9bmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihlKyIuIEJ1aWxkIHdpdGggLXNBU1NFUlRJT05TIGZvciBtb3JlIGluZm8uIik7a2EoZSk7dGhyb3cgZTt9ZnVuY3Rpb24gZihlKXt0cnl7aWYoZT09UCYmZWEpcmV0dXJuIG5ldyBVaW50OEFycmF5KGVhKTtpZihtYSlyZXR1cm4gbWEoZSk7dGhyb3ciYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQiO31jYXRjaChiKXt5KGIpfX1mdW5jdGlvbiBxKCl7aWYoIWVhJiYodGF8fGZhKSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGZldGNoJiYhUC5zdGFydHNXaXRoKCJmaWxlOi8vIikpcmV0dXJuIGZldGNoKFAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe2lmKCFlLm9rKXRocm93ImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJyIrUCsiJyI7cmV0dXJuIGUuYXJyYXlCdWZmZXIoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGYoUCl9KTsKaWYobmEpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsYil7bmEoUCxmdW5jdGlvbihjKXtlKG5ldyBVaW50OEFycmF5KGMpKX0sYil9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmKFApfSl9ZnVuY3Rpb24gdShlKXtmb3IoOzA8ZS5sZW5ndGg7KWUuc2hpZnQoKShhKX1mdW5jdGlvbiBBKGUpe3RoaXMuZXhjUHRyPWU7dGhpcy5wdHI9ZS0yNDt0aGlzLnNldF90eXBlPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrND4+Ml09Yn07dGhpcy5nZXRfdHlwZT1mdW5jdGlvbigpe3JldHVybiBZW3RoaXMucHRyKzQ+PjJdfTt0aGlzLnNldF9kZXN0cnVjdG9yPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrOD4+Ml09Yn07dGhpcy5nZXRfZGVzdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBZW3RoaXMucHRyKzg+PjJdfTt0aGlzLnNldF9yZWZjb3VudD1mdW5jdGlvbihiKXtjYVt0aGlzLnB0cj4+Ml09Yn07dGhpcy5zZXRfY2F1Z2h0PWZ1bmN0aW9uKGIpe1dbdGhpcy5wdHIrCjEyPj4wXT1iPzE6MH07dGhpcy5nZXRfY2F1Z2h0PWZ1bmN0aW9uKCl7cmV0dXJuIDAhPVdbdGhpcy5wdHIrMTI+PjBdfTt0aGlzLnNldF9yZXRocm93bj1mdW5jdGlvbihiKXtXW3RoaXMucHRyKzEzPj4wXT1iPzE6MH07dGhpcy5nZXRfcmV0aHJvd249ZnVuY3Rpb24oKXtyZXR1cm4gMCE9V1t0aGlzLnB0cisxMz4+MF19O3RoaXMuaW5pdD1mdW5jdGlvbihiLGMpe3RoaXMuc2V0X2FkanVzdGVkX3B0cigwKTt0aGlzLnNldF90eXBlKGIpO3RoaXMuc2V0X2Rlc3RydWN0b3IoYyk7dGhpcy5zZXRfcmVmY291bnQoMCk7dGhpcy5zZXRfY2F1Z2h0KCExKTt0aGlzLnNldF9yZXRocm93bighMSl9O3RoaXMuYWRkX3JlZj1mdW5jdGlvbigpe2NhW3RoaXMucHRyPj4yXSs9MX07dGhpcy5yZWxlYXNlX3JlZj1mdW5jdGlvbigpe3ZhciBiPWNhW3RoaXMucHRyPj4yXTtjYVt0aGlzLnB0cj4+Ml09Yi0xO3JldHVybiAxPT09Yn07dGhpcy5zZXRfYWRqdXN0ZWRfcHRyPWZ1bmN0aW9uKGIpe1lbdGhpcy5wdHIrCjE2Pj4yXT1ifTt0aGlzLmdldF9hZGp1c3RlZF9wdHI9ZnVuY3Rpb24oKXtyZXR1cm4gWVt0aGlzLnB0cisxNj4+Ml19O3RoaXMuZ2V0X2V4Y2VwdGlvbl9wdHI9ZnVuY3Rpb24oKXtpZih1YSh0aGlzLmdldF90eXBlKCkpKXJldHVybiBZW3RoaXMuZXhjUHRyPj4yXTt2YXIgYj10aGlzLmdldF9hZGp1c3RlZF9wdHIoKTtyZXR1cm4gMCE9PWI/Yjp0aGlzLmV4Y1B0cn19ZnVuY3Rpb24gRigpe2Z1bmN0aW9uIGUoKXtpZighbGEmJihsYT0hMCxhLmNhbGxlZFJ1bj0hMCwhc2EpKXt2YT0hMDt1KG9hKTt3YShhKTtpZihhLm9uUnVudGltZUluaXRpYWxpemVkKWEub25SdW50aW1lSW5pdGlhbGl6ZWQoKTtpZihhLnBvc3RSdW4pZm9yKCJmdW5jdGlvbiI9PXR5cGVvZiBhLnBvc3RSdW4mJihhLnBvc3RSdW49W2EucG9zdFJ1bl0pO2EucG9zdFJ1bi5sZW5ndGg7KXhhLnVuc2hpZnQoYS5wb3N0UnVuLnNoaWZ0KCkpO3UoeGEpfX1pZighKDA8YmEpKXtpZihhLnByZVJ1bilmb3IoImZ1bmN0aW9uIj09CnR5cGVvZiBhLnByZVJ1biYmKGEucHJlUnVuPVthLnByZVJ1bl0pO2EucHJlUnVuLmxlbmd0aDspeWEudW5zaGlmdChhLnByZVJ1bi5zaGlmdCgpKTt1KHlhKTswPGJhfHwoYS5zZXRTdGF0dXM/KGEuc2V0U3RhdHVzKCJSdW5uaW5nLi4uIiksc2V0VGltZW91dChmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXthLnNldFN0YXR1cygiIil9LDEpO2UoKX0sMSkpOmUoKSl9fWZ1bmN0aW9uIHYoKXt9ZnVuY3Rpb24gdyhlKXtyZXR1cm4oZXx8dikuX19jYWNoZV9ffWZ1bmN0aW9uIEIoZSxiKXt2YXIgYz13KGIpLGQ9Y1tlXTtpZihkKXJldHVybiBkO2Q9T2JqZWN0LmNyZWF0ZSgoYnx8dikucHJvdG90eXBlKTtkLnB0cj1lO3JldHVybiBjW2VdPWR9ZnVuY3Rpb24gUihlKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXtmb3IodmFyIGI9MCxjPTA7YzxlLmxlbmd0aDsrK2Mpe3ZhciBkPWUuY2hhckNvZGVBdChjKTsxMjc+PWQ/YisrOjIwNDc+PWQ/Yis9Mjo1NTI5Njw9ZCYmNTczNDM+PQpkPyhiKz00LCsrYyk6Yis9M31iPUFycmF5KGIrMSk7Yz0wO2Q9Yi5sZW5ndGg7aWYoMDxkKXtkPWMrZC0xO2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7KytnKXt2YXIgdD1lLmNoYXJDb2RlQXQoZyk7aWYoNTUyOTY8PXQmJjU3MzQzPj10KXt2YXIgYWE9ZS5jaGFyQ29kZUF0KCsrZyk7dD02NTUzNisoKHQmMTAyMyk8PDEwKXxhYSYxMDIzfWlmKDEyNz49dCl7aWYoYz49ZClicmVhaztiW2MrK109dH1lbHNle2lmKDIwNDc+PXQpe2lmKGMrMT49ZClicmVhaztiW2MrK109MTkyfHQ+PjZ9ZWxzZXtpZig2NTUzNT49dCl7aWYoYysyPj1kKWJyZWFrO2JbYysrXT0yMjR8dD4+MTJ9ZWxzZXtpZihjKzM+PWQpYnJlYWs7YltjKytdPTI0MHx0Pj4xODtiW2MrK109MTI4fHQ+PjEyJjYzfWJbYysrXT0xMjh8dD4+NiY2M31iW2MrK109MTI4fHQmNjN9fWJbY109MH1lPXIuYWxsb2MoYixXKTtyLmNvcHkoYixXLGUpO3JldHVybiBlfXJldHVybiBlfWZ1bmN0aW9uIFooZSl7aWYoIm9iamVjdCI9PT0KdHlwZW9mIGUpe3ZhciBiPXIuYWxsb2MoZSxXKTtyLmNvcHkoZSxXLGIpO3JldHVybiBifXJldHVybiBlfWZ1bmN0aW9uIFgoKXt0aHJvdyJjYW5ub3QgY29uc3RydWN0IGEgVm9pZFB0ciwgbm8gY29uc3RydWN0b3IgaW4gSURMIjt9ZnVuY3Rpb24gUygpe3RoaXMucHRyPXphKCk7dyhTKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBRKCl7dGhpcy5wdHI9QWEoKTt3KFEpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIFYoKXt0aGlzLnB0cj1CYSgpO3coVilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24geCgpe3RoaXMucHRyPUNhKCk7dyh4KVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBEKCl7dGhpcy5wdHI9RGEoKTt3KEQpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEcoKXt0aGlzLnB0cj1FYSgpO3coRylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gSCgpe3RoaXMucHRyPUZhKCk7dyhIKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBFKCl7dGhpcy5wdHI9R2EoKTt3KEUpW3RoaXMucHRyXT0KdGhpc31mdW5jdGlvbiBUKCl7dGhpcy5wdHI9SGEoKTt3KFQpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEMoKXt0aHJvdyJjYW5ub3QgY29uc3RydWN0IGEgU3RhdHVzLCBubyBjb25zdHJ1Y3RvciBpbiBJREwiO31mdW5jdGlvbiBJKCl7dGhpcy5wdHI9SWEoKTt3KEkpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEooKXt0aGlzLnB0cj1KYSgpO3coSilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gSygpe3RoaXMucHRyPUthKCk7dyhLKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBMKCl7dGhpcy5wdHI9TGEoKTt3KEwpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIE0oKXt0aGlzLnB0cj1NYSgpO3coTSlbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gTigpe3RoaXMucHRyPU5hKCk7dyhOKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBPKCl7dGhpcy5wdHI9T2EoKTt3KE8pW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIHooKXt0aGlzLnB0cj1QYSgpO3coeilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gbSgpe3RoaXMucHRyPQpRYSgpO3cobSlbdGhpcy5wdHJdPXRoaXN9bj12b2lkIDA9PT1uP3t9Om47dmFyIGE9InVuZGVmaW5lZCIhPXR5cGVvZiBuP246e30sd2Esa2E7YS5yZWFkeT1uZXcgUHJvbWlzZShmdW5jdGlvbihlLGIpe3dhPWU7a2E9Yn0pO3ZhciBSYT0hMSxTYT0hMTthLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7UmE9ITA7aWYoU2EmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZUxvYWRlZClhLm9uTW9kdWxlTG9hZGVkKGEpfTthLm9uTW9kdWxlUGFyc2VkPWZ1bmN0aW9uKCl7U2E9ITA7aWYoUmEmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZUxvYWRlZClhLm9uTW9kdWxlTG9hZGVkKGEpfTthLmlzVmVyc2lvblN1cHBvcnRlZD1mdW5jdGlvbihlKXtpZigic3RyaW5nIiE9PXR5cGVvZiBlKXJldHVybiExO2U9ZS5zcGxpdCgiLiIpO3JldHVybiAyPmUubGVuZ3RofHwzPGUubGVuZ3RoPyExOjE9PWVbMF0mJjA8PWVbMV0mJjU+PWVbMV0/ITA6MCE9ZVswXXx8MTA8CmVbMV0/ITE6ITB9O3ZhciBUYT1PYmplY3QuYXNzaWduKHt9LGEpLHRhPSJvYmplY3QiPT10eXBlb2Ygd2luZG93LGZhPSJmdW5jdGlvbiI9PXR5cGVvZiBpbXBvcnRTY3JpcHRzLFVhPSJvYmplY3QiPT10eXBlb2YgcHJvY2VzcyYmIm9iamVjdCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zJiYic3RyaW5nIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxVPSIiO2lmKFVhKXt2YXIgVmE9cmVxdWlyZSgiZnMiKSxwYT1yZXF1aXJlKCJwYXRoIik7VT1mYT9wYS5kaXJuYW1lKFUpKyIvIjpfX2Rpcm5hbWUrIi8iO3ZhciBXYT1mdW5jdGlvbihlLGIpe2U9ZS5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTChlKTpwYS5ub3JtYWxpemUoZSk7cmV0dXJuIFZhLnJlYWRGaWxlU3luYyhlLGI/dm9pZCAwOiJ1dGY4Iil9O3ZhciBtYT1mdW5jdGlvbihlKXtlPVdhKGUsITApO2UuYnVmZmVyfHwoZT1uZXcgVWludDhBcnJheShlKSk7cmV0dXJuIGV9O3ZhciBuYT1mdW5jdGlvbihlLApiLGMpe2U9ZS5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTChlKTpwYS5ub3JtYWxpemUoZSk7VmEucmVhZEZpbGUoZSxmdW5jdGlvbihkLGcpe2Q/YyhkKTpiKGcuYnVmZmVyKX0pfTsxPHByb2Nlc3MuYXJndi5sZW5ndGgmJnByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXC9nLCIvIik7cHJvY2Vzcy5hcmd2LnNsaWNlKDIpO2EuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9fWVsc2UgaWYodGF8fGZhKWZhP1U9c2VsZi5sb2NhdGlvbi5ocmVmOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxoJiYoVT1oKSxVPTAhPT1VLmluZGV4T2YoImJsb2I6Iik/VS5zdWJzdHIoMCxVLnJlcGxhY2UoL1s/I10uKi8sIiIpLmxhc3RJbmRleE9mKCIvIikrMSk6IiIsV2E9ZnVuY3Rpb24oZSl7dmFyIGI9bmV3IFhNTEh0dHBSZXF1ZXN0O2Iub3BlbigiR0VUIiwKZSwhMSk7Yi5zZW5kKG51bGwpO3JldHVybiBiLnJlc3BvbnNlVGV4dH0sZmEmJihtYT1mdW5jdGlvbihlKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7Yi5vcGVuKCJHRVQiLGUsITEpO2IucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7Yi5zZW5kKG51bGwpO3JldHVybiBuZXcgVWludDhBcnJheShiLnJlc3BvbnNlKX0pLG5hPWZ1bmN0aW9uKGUsYixjKXt2YXIgZD1uZXcgWE1MSHR0cFJlcXVlc3Q7ZC5vcGVuKCJHRVQiLGUsITApO2QucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7ZC5vbmxvYWQ9ZnVuY3Rpb24oKXsyMDA9PWQuc3RhdHVzfHwwPT1kLnN0YXR1cyYmZC5yZXNwb25zZT9iKGQucmVzcG9uc2UpOmMoKX07ZC5vbmVycm9yPWM7ZC5zZW5kKG51bGwpfTthLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpO3ZhciBkYT1hLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtPYmplY3QuYXNzaWduKGEsVGEpO1RhPW51bGw7dmFyIGVhO2Eud2FzbUJpbmFyeSYmCihlYT1hLndhc21CaW5hcnkpOyJvYmplY3QiIT10eXBlb2YgV2ViQXNzZW1ibHkmJnkoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKTt2YXIgamEsc2E9ITEscmE9InVuZGVmaW5lZCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoInV0ZjgiKTp2b2lkIDAsVyxpYSxjYSxZLHlhPVtdLG9hPVtdLHhhPVtdLHZhPSExLGJhPTAscWE9bnVsbCxoYT1udWxsO3ZhciBQPSJkcmFjb19kZWNvZGVyX2dsdGYud2FzbSI7UC5zdGFydHNXaXRoKCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIil8fChQPWsoUCkpO3ZhciBwZD0wLHFkPXtiOmZ1bmN0aW9uKGUsYixjKXsobmV3IEEoZSkpLmluaXQoYixjKTtwZCsrO3Rocm93IGU7fSxhOmZ1bmN0aW9uKCl7eSgiIil9LGQ6ZnVuY3Rpb24oZSxiLGMpe2lhLmNvcHlXaXRoaW4oZSxiLGIrYyl9LGM6ZnVuY3Rpb24oZSl7dmFyIGI9aWEubGVuZ3RoO2U+Pj49MDtpZigyMTQ3NDgzNjQ4PGUpcmV0dXJuITE7CmZvcih2YXIgYz0xOzQ+PWM7Yyo9Mil7dmFyIGQ9YiooMSsuMi9jKTtkPU1hdGgubWluKGQsZSsxMDA2NjMyOTYpO3ZhciBnPU1hdGg7ZD1NYXRoLm1heChlLGQpO2c9Zy5taW4uY2FsbChnLDIxNDc0ODM2NDgsZCsoNjU1MzYtZCU2NTUzNiklNjU1MzYpO2E6e2Q9amEuYnVmZmVyO3RyeXtqYS5ncm93KGctZC5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2woKTt2YXIgdD0xO2JyZWFrIGF9Y2F0Y2goYWEpe310PXZvaWQgMH1pZih0KXJldHVybiEwfXJldHVybiExfX07KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShnLHQpe2EuYXNtPWcuZXhwb3J0cztqYT1hLmFzbS5lO2woKTtvYS51bnNoaWZ0KGEuYXNtLmYpO2JhLS07YS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZhLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoYmEpOzA9PWJhJiYobnVsbCE9PXFhJiYoY2xlYXJJbnRlcnZhbChxYSkscWE9bnVsbCksaGEmJihnPWhhLGhhPW51bGwsZygpKSl9ZnVuY3Rpb24gYihnKXtlKGcuaW5zdGFuY2UpfQpmdW5jdGlvbiBjKGcpe3JldHVybiBxKCkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUodCxkKX0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHR9KS50aGVuKGcsZnVuY3Rpb24odCl7ZGEoImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206ICIrdCk7eSh0KX0pfXZhciBkPXthOnFkfTtiYSsrO2EubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmYS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGJhKTtpZihhLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIGEuaW5zdGFudGlhdGVXYXNtKGQsZSl9Y2F0Y2goZyl7ZGEoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrZyksa2EoZyl9KGZ1bmN0aW9uKCl7cmV0dXJuIGVhfHwiZnVuY3Rpb24iIT10eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmd8fFAuc3RhcnRzV2l0aCgiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCIpfHwKUC5zdGFydHNXaXRoKCJmaWxlOi8vIil8fFVhfHwiZnVuY3Rpb24iIT10eXBlb2YgZmV0Y2g/YyhiKTpmZXRjaChQLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihnKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoZyxkKS50aGVuKGIsZnVuY3Rpb24odCl7ZGEoIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAiK3QpO2RhKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpO3JldHVybiBjKGIpfSl9KX0pKCkuY2F0Y2goa2EpO3JldHVybnt9fSkoKTt2YXIgWGE9YS5fZW1zY3JpcHRlbl9iaW5kX1ZvaWRQdHJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihYYT1hLl9lbXNjcmlwdGVuX2JpbmRfVm9pZFB0cl9fX2Rlc3Ryb3lfX18wPWEuYXNtLmgpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0semE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfRGVjb2RlckJ1ZmZlcl8wPQpmdW5jdGlvbigpe3JldHVybih6YT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9EZWNvZGVyQnVmZmVyXzA9YS5hc20uaSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxZYT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9Jbml0XzI9ZnVuY3Rpb24oKXtyZXR1cm4oWWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfSW5pdF8yPWEuYXNtLmopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihaYT1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9fX2Rlc3Ryb3lfX18wPWEuYXNtLmspLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQWE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEFhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD0KYS5hc20ubCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSwkYT1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV90cmFuc2Zvcm1fdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKCRhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX3RyYW5zZm9ybV90eXBlXzA9YS5hc20ubSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKGFiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX19fZGVzdHJveV9fXzA9YS5hc20ubikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxCYT1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD1mdW5jdGlvbigpe3JldHVybihCYT1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD0KYS5hc20ubykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxiYj1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihiYj1hLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1hLmFzbS5wKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LENhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9Qb2ludEF0dHJpYnV0ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKENhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9Qb2ludEF0dHJpYnV0ZV8wPWEuYXNtLnEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sY2I9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX3NpemVfMD1mdW5jdGlvbigpe3JldHVybihjYj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfc2l6ZV8wPWEuYXNtLnIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX0dldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD0KZnVuY3Rpb24oKXtyZXR1cm4oZGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX0dldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD1hLmFzbS5zKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPWEuYXNtLnQpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZmI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2RhdGFfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9kYXRhX3R5cGVfMD1hLmFzbS51KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPWZ1bmN0aW9uKCl7cmV0dXJuKGdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPQphLmFzbS52KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ub3JtYWxpemVkXzA9ZnVuY3Rpb24oKXtyZXR1cm4oaGI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX25vcm1hbGl6ZWRfMD1hLmFzbS53KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGliPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGliPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPWEuYXNtLngpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0samI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9ZnVuY3Rpb24oKXtyZXR1cm4oamI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9YS5hc20ueSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxrYj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfdW5pcXVlX2lkXzA9CmZ1bmN0aW9uKCl7cmV0dXJuKGtiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV91bmlxdWVfaWRfMD1hLmFzbS56KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGxiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKGxiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fMD1mdW5jdGlvbigpe3JldHVybihEYT1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV8wPWEuYXNtLkIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPQpmdW5jdGlvbigpe3JldHVybihtYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9YS5hc20uQykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxuYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4obmI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPWEuYXNtLkQpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb2I9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9taW5fdmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihvYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX21pbl92YWx1ZV8xPWEuYXNtLkUpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scGI9CmEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fcmFuZ2VfMD1mdW5jdGlvbigpe3JldHVybihwYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3JhbmdlXzA9YS5hc20uRikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4ocWI9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRWE9YS5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEVhPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fMD0KYS5hc20uSCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxyYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKHJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9YS5hc20uSSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzYj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPWZ1bmN0aW9uKCl7cmV0dXJuKHNiPWEuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9YS5hc20uSikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx0Yj1hLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKHRiPQphLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPWEuYXNtLkspLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRmE9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfUG9pbnRDbG91ZF8wPWZ1bmN0aW9uKCl7cmV0dXJuKEZhPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX1BvaW50Q2xvdWRfMD1hLmFzbS5MKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHViPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9hdHRyaWJ1dGVzXzA9ZnVuY3Rpb24oKXtyZXR1cm4odWI9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfbnVtX2F0dHJpYnV0ZXNfMD1hLmFzbS5NKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9wb2ludHNfMD1mdW5jdGlvbigpe3JldHVybih2Yj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9udW1fcG9pbnRzXzA9YS5hc20uTikuYXBwbHkobnVsbCwKYXJndW1lbnRzKX0sd2I9YS5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybih3Yj1hLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9fX2Rlc3Ryb3lfX18wPWEuYXNtLk8pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR2E9YS5fZW1zY3JpcHRlbl9iaW5kX01lc2hfTWVzaF8wPWZ1bmN0aW9uKCl7cmV0dXJuKEdhPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX01lc2hfMD1hLmFzbS5QKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPWZ1bmN0aW9uKCl7cmV0dXJuKHhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPWEuYXNtLlEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seWI9YS5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX2F0dHJpYnV0ZXNfMD1mdW5jdGlvbigpe3JldHVybih5Yj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fYXR0cmlidXRlc18wPQphLmFzbS5SKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHpiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9wb2ludHNfMD1mdW5jdGlvbigpe3JldHVybih6Yj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fcG9pbnRzXzA9YS5hc20uUykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBYj1hLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEFiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX19fZGVzdHJveV9fXzA9YS5hc20uVCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxIYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfTWV0YWRhdGFfMD1mdW5jdGlvbigpe3JldHVybihIYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfTWV0YWRhdGFfMD1hLmFzbS5VKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9fX2Rlc3Ryb3lfX18wPQphLmFzbS5WKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LENiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKENiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPWEuYXNtLlcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGI9YS5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19va18wPWZ1bmN0aW9uKCl7cmV0dXJuKERiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfb2tfMD1hLmFzbS5YKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEViPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfZXJyb3JfbXNnXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRWI9YS5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19lcnJvcl9tc2dfMD1hLmFzbS5ZKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZiPWEuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihGYj1hLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX19fZGVzdHJveV9fXzA9CmEuYXNtLlopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oSWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9YS5hc20uXykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihHYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfR2V0VmFsdWVfMT1hLmFzbS4kKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X3NpemVfMD1hLmFzbS5hYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJYj0KYS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X19fZGVzdHJveV9fXzA9YS5hc20uYmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0RyYWNvSW50OEFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oSmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0RyYWNvSW50OEFycmF5XzA9YS5hc20uY2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oSmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X0dldFZhbHVlXzE9YS5hc20uZGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sS2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X3NpemVfMD0KZnVuY3Rpb24oKXtyZXR1cm4oS2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X3NpemVfMD1hLmFzbS5lYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihMYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5mYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X0RyYWNvVUludDhBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEthPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfRHJhY29VSW50OEFycmF5XzA9YS5hc20uZ2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKE1iPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfR2V0VmFsdWVfMT0KYS5hc20uaGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9YS5hc20uaWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sT2I9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKE9iPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5qYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0RyYWNvSW50MTZBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKExhPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfRHJhY29JbnQxNkFycmF5XzA9YS5hc20ua2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9HZXRWYWx1ZV8xPQpmdW5jdGlvbigpe3JldHVybihQYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0dldFZhbHVlXzE9YS5hc20ubGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oUWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9zaXplXzA9YS5hc20ubWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFJiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS5uYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxNYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9EcmFjb1VJbnQxNkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oTWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfRHJhY29VSW50MTZBcnJheV8wPQphLmFzbS5vYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFNiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X0dldFZhbHVlXzE9YS5hc20ucGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFRiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X3NpemVfMD1hLmFzbS5xYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFViPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X19fZGVzdHJveV9fXzA9YS5hc20ucmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD0KZnVuY3Rpb24oKXtyZXR1cm4oTmE9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD1hLmFzbS5zYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxWYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oVmI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9HZXRWYWx1ZV8xPWEuYXNtLnRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFdiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPWEuYXNtLnVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFhiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihYYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X19fZGVzdHJveV9fXzA9CmEuYXNtLnZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE9hPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X0RyYWNvVUludDMyQXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihPYT1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9EcmFjb1VJbnQzMkFycmF5XzA9YS5hc20ud2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWWI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihZYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9HZXRWYWx1ZV8xPWEuYXNtLnhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFpiPWEuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihaYj1hLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9zaXplXzA9YS5hc20ueWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sJGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfX19kZXN0cm95X19fMD0KZnVuY3Rpb24oKXtyZXR1cm4oJGI9YS5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfX19kZXN0cm95X19fMD1hLmFzbS56YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxQYT1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX01ldGFkYXRhUXVlcmllcl8wPWZ1bmN0aW9uKCl7cmV0dXJuKFBhPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTWV0YWRhdGFRdWVyaWVyXzA9YS5hc20uQWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYWM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9IYXNFbnRyeV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGFjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfSGFzRW50cnlfMj1hLmFzbS5CYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxiYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oYmM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRJbnRFbnRyeV8yPQphLmFzbS5DYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybihjYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1hLmFzbS5EYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxkYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldERvdWJsZUVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oZGM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXREb3VibGVFbnRyeV8yPWEuYXNtLkVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0U3RyaW5nRW50cnlfMj1mdW5jdGlvbigpe3JldHVybihlYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldFN0cmluZ0VudHJ5XzI9YS5hc20uRmEpLmFwcGx5KG51bGwsCmFyZ3VtZW50cyl9LGZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTnVtRW50cmllc18xPWZ1bmN0aW9uKCl7cmV0dXJuKGZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTnVtRW50cmllc18xPWEuYXNtLkdhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGdjPWEuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0RW50cnlOYW1lXzI9ZnVuY3Rpb24oKXtyZXR1cm4oZ2M9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRFbnRyeU5hbWVfMj1hLmFzbS5IYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxoYz1hLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oaGM9YS5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9fX2Rlc3Ryb3lfX18wPWEuYXNtLklhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFFhPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZXJfMD0KZnVuY3Rpb24oKXtyZXR1cm4oUWE9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2Rlcl8wPWEuYXNtLkphKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9Qb2ludENsb3VkXzM9ZnVuY3Rpb24oKXtyZXR1cm4oaWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWRfMz1hLmFzbS5LYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxqYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVBcnJheVRvTWVzaF8zPWZ1bmN0aW9uKCl7cmV0dXJuKGpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9NZXNoXzM9YS5hc20uTGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRfMj1mdW5jdGlvbigpe3JldHVybihrYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZF8yPQphLmFzbS5NYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxsYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TmFtZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGxjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkQnlOYW1lXzI9YS5hc20uTmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnlfMz1mdW5jdGlvbigpe3JldHVybihtYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TWV0YWRhdGFFbnRyeV8zPWEuYXNtLk9hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG5jPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKG5jPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPWEuYXNtLlBhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LApvYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVCeVVuaXF1ZUlkXzI9ZnVuY3Rpb24oKXtyZXR1cm4ob2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlQnlVbmlxdWVJZF8yPWEuYXNtLlFhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHBjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldE1ldGFkYXRhXzE9ZnVuY3Rpb24oKXtyZXR1cm4ocGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0TWV0YWRhdGFfMT1hLmFzbS5SYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVNZXRhZGF0YV8yPWZ1bmN0aW9uKCl7cmV0dXJuKHFjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZU1ldGFkYXRhXzI9YS5hc20uU2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RmFjZUZyb21NZXNoXzM9CmZ1bmN0aW9uKCl7cmV0dXJuKHJjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEZhY2VGcm9tTWVzaF8zPWEuYXNtLlRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHNjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2hfMj1mdW5jdGlvbigpe3JldHVybihzYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoXzI9YS5hc20uVWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVzVUludDE2QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybih0Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZXNVSW50MTZBcnJheV8zPWEuYXNtLlZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9ZnVuY3Rpb24oKXtyZXR1cm4odWM9CmEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9YS5hc20uV2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRfMz1mdW5jdGlvbigpe3JldHVybih2Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVGbG9hdF8zPWEuYXNtLlhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHdjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4od2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHNfMz1hLmFzbS5ZYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx4Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybih4Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz0KYS5hc20uWmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKHljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHNfMz1hLmFzbS5fYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx6Yz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKHpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzXzM9YS5hc20uJGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQWM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihBYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50c18zPQphLmFzbS5hYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxCYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihCYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1hLmFzbS5iYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxDYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQzMkZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKENjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzXzM9YS5hc20uY2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4oRGM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9CmEuYXNtLmRiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PWZ1bmN0aW9uKCl7cmV0dXJuKEVjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PWEuYXNtLmViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX1NraXBBdHRyaWJ1dGVUcmFuc2Zvcm1fMT1mdW5jdGlvbigpe3JldHVybihGYz1hLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9Ta2lwQXR0cmlidXRlVHJhbnNmb3JtXzE9YS5hc20uZmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9ZnVuY3Rpb24oKXtyZXR1cm4oR2M9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9CmEuYXNtLmdiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEhjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZF8yPWZ1bmN0aW9uKCl7cmV0dXJuKEhjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZF8yPWEuYXNtLmhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvTWVzaF8yPWZ1bmN0aW9uKCl7cmV0dXJuKEljPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUJ1ZmZlclRvTWVzaF8yPWEuYXNtLmliKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEpjPWEuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSmM9YS5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfX19kZXN0cm95X19fMD1hLmFzbS5qYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfSU5WQUxJRF9UUkFOU0ZPUk09CmZ1bmN0aW9uKCl7cmV0dXJuKEtjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1hLmFzbS5rYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfTk9fVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKExjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9OT19UUkFOU0ZPUk09YS5hc20ubGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09ZnVuY3Rpb24oKXtyZXR1cm4oTWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09CmEuYXNtLm1iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE5jPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1mdW5jdGlvbigpe3JldHVybihOYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfT0NUQUhFRFJPTl9UUkFOU0ZPUk09YS5hc20ubmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sT2M9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfSU5WQUxJRD1mdW5jdGlvbigpe3JldHVybihPYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9JTlZBTElEPWEuYXNtLm9iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFBjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPWZ1bmN0aW9uKCl7cmV0dXJuKFBjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPQphLmFzbS5wYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxRYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9OT1JNQUw9ZnVuY3Rpb24oKXtyZXR1cm4oUWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfTk9STUFMPWEuYXNtLnFiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0NPTE9SPWZ1bmN0aW9uKCl7cmV0dXJuKFJjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0NPTE9SPWEuYXNtLnJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFNjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1RFWF9DT09SRD1mdW5jdGlvbigpe3JldHVybihTYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9URVhfQ09PUkQ9CmEuYXNtLnNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFRjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0dFTkVSSUM9ZnVuY3Rpb24oKXtyZXR1cm4oVGM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfR0VORVJJQz1hLmFzbS50YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9JTlZBTElEX0dFT01FVFJZX1RZUEU9ZnVuY3Rpb24oKXtyZXR1cm4oVWM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfSU5WQUxJRF9HRU9NRVRSWV9UWVBFPWEuYXNtLnViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFZjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPWZ1bmN0aW9uKCl7cmV0dXJuKFZjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPQphLmFzbS52YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxXYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9UUklBTkdVTEFSX01FU0g9ZnVuY3Rpb24oKXtyZXR1cm4oV2M9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfVFJJQU5HVUxBUl9NRVNIPWEuYXNtLndiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFhjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPWZ1bmN0aW9uKCl7cmV0dXJuKFhjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPWEuYXNtLnhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFljPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PWZ1bmN0aW9uKCl7cmV0dXJuKFljPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PWEuYXNtLnliKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFpjPQphLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDg9ZnVuY3Rpb24oKXtyZXR1cm4oWmM9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ4PWEuYXNtLnpiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCRjPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQxNj1mdW5jdGlvbigpe3JldHVybigkYz1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMTY9YS5hc20uQWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQxNj1mdW5jdGlvbigpe3JldHVybihhZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDE2PWEuYXNtLkJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGJkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQzMj1mdW5jdGlvbigpe3JldHVybihiZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMzI9CmEuYXNtLkNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGNkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMzI9ZnVuY3Rpb24oKXtyZXR1cm4oY2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQzMj1hLmFzbS5EYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxkZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDY0PWEuYXNtLkViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ2ND1hLmFzbS5GYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxmZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQzMj0KZnVuY3Rpb24oKXtyZXR1cm4oZmQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUMzI9YS5hc20uR2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZ2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oZ2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9YS5hc20uSGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9ZnVuY3Rpb24oKXtyZXR1cm4oaGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9YS5hc20uSWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1RZUEVTX0NPVU5UPWZ1bmN0aW9uKCl7cmV0dXJuKGlkPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9UWVBFU19DT1VOVD0KYS5hc20uSmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0samQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfT0s9ZnVuY3Rpb24oKXtyZXR1cm4oamQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfT0s9YS5hc20uS2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfRFJBQ09fRVJST1I9ZnVuY3Rpb24oKXtyZXR1cm4oa2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfRFJBQ09fRVJST1I9YS5hc20uTGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU9fRVJST1I9ZnVuY3Rpb24oKXtyZXR1cm4obGQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU9fRVJST1I9YS5hc20uTWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfSU5WQUxJRF9QQVJBTUVURVI9CmZ1bmN0aW9uKCl7cmV0dXJuKG1kPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lOVkFMSURfUEFSQU1FVEVSPWEuYXNtLk5iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG5kPWEuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX1VOU1VQUE9SVEVEX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4obmQ9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5TVVBQT1JURURfVkVSU0lPTj1hLmFzbS5PYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvZD1hLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9VTktOT1dOX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4ob2Q9YS5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5LTk9XTl9WRVJTSU9OPWEuYXNtLlBiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O2EuX21hbGxvYz1mdW5jdGlvbigpe3JldHVybihhLl9tYWxsb2M9YS5hc20uUWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07CmEuX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4oYS5fZnJlZT1hLmFzbS5SYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgdWE9ZnVuY3Rpb24oKXtyZXR1cm4odWE9YS5hc20uU2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07YS5fX19zdGFydF9lbV9qcz0xMTY2MDthLl9fX3N0b3BfZW1fanM9MTE3NTg7dmFyIGxhO2hhPWZ1bmN0aW9uIGIoKXtsYXx8RigpO2xhfHwoaGE9Yil9O2lmKGEucHJlSW5pdClmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGEucHJlSW5pdCYmKGEucHJlSW5pdD1bYS5wcmVJbml0XSk7MDxhLnByZUluaXQubGVuZ3RoOylhLnByZUluaXQucG9wKCkoKTtGKCk7di5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7di5wcm90b3R5cGUuY29uc3RydWN0b3I9djt2LnByb3RvdHlwZS5fX2NsYXNzX189djt2Ll9fY2FjaGVfXz17fTthLldyYXBwZXJPYmplY3Q9djthLmdldENhY2hlPXc7YS53cmFwUG9pbnRlcj1CO2EuY2FzdE9iamVjdD1mdW5jdGlvbihiLApjKXtyZXR1cm4gQihiLnB0cixjKX07YS5OVUxMPUIoMCk7YS5kZXN0cm95PWZ1bmN0aW9uKGIpe2lmKCFiLl9fZGVzdHJveV9fKXRocm93IkVycm9yOiBDYW5ub3QgZGVzdHJveSBvYmplY3QuIChEaWQgeW91IGNyZWF0ZSBpdCB5b3Vyc2VsZj8pIjtiLl9fZGVzdHJveV9fKCk7ZGVsZXRlIHcoYi5fX2NsYXNzX18pW2IucHRyXX07YS5jb21wYXJlPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGIucHRyPT09Yy5wdHJ9O2EuZ2V0UG9pbnRlcj1mdW5jdGlvbihiKXtyZXR1cm4gYi5wdHJ9O2EuZ2V0Q2xhc3M9ZnVuY3Rpb24oYil7cmV0dXJuIGIuX19jbGFzc19ffTt2YXIgcj17YnVmZmVyOjAsc2l6ZTowLHBvczowLHRlbXBzOltdLG5lZWRlZDowLHByZXBhcmU6ZnVuY3Rpb24oKXtpZihyLm5lZWRlZCl7Zm9yKHZhciBiPTA7YjxyLnRlbXBzLmxlbmd0aDtiKyspYS5fZnJlZShyLnRlbXBzW2JdKTtyLnRlbXBzLmxlbmd0aD0wO2EuX2ZyZWUoci5idWZmZXIpO3IuYnVmZmVyPTA7ci5zaXplKz0Kci5uZWVkZWQ7ci5uZWVkZWQ9MH1yLmJ1ZmZlcnx8KHIuc2l6ZSs9MTI4LHIuYnVmZmVyPWEuX21hbGxvYyhyLnNpemUpLHIuYnVmZmVyfHx5KHZvaWQgMCkpO3IucG9zPTB9LGFsbG9jOmZ1bmN0aW9uKGIsYyl7ci5idWZmZXJ8fHkodm9pZCAwKTtiPWIubGVuZ3RoKmMuQllURVNfUEVSX0VMRU1FTlQ7Yj1iKzcmLTg7ci5wb3MrYj49ci5zaXplPygwPGJ8fHkodm9pZCAwKSxyLm5lZWRlZCs9YixjPWEuX21hbGxvYyhiKSxyLnRlbXBzLnB1c2goYykpOihjPXIuYnVmZmVyK3IucG9zLHIucG9zKz1iKTtyZXR1cm4gY30sY29weTpmdW5jdGlvbihiLGMsZCl7ZD4+Pj0wO3N3aXRjaChjLkJZVEVTX1BFUl9FTEVNRU5UKXtjYXNlIDI6ZD4+Pj0xO2JyZWFrO2Nhc2UgNDpkPj4+PTI7YnJlYWs7Y2FzZSA4OmQ+Pj49M31mb3IodmFyIGc9MDtnPGIubGVuZ3RoO2crKyljW2QrZ109YltnXX19O1gucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO1gucHJvdG90eXBlLmNvbnN0cnVjdG9yPQpYO1gucHJvdG90eXBlLl9fY2xhc3NfXz1YO1guX19jYWNoZV9fPXt9O2EuVm9pZFB0cj1YO1gucHJvdG90eXBlLl9fZGVzdHJveV9fPVgucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WGEodGhpcy5wdHIpfTtTLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtTLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1TO1MucHJvdG90eXBlLl9fY2xhc3NfXz1TO1MuX19jYWNoZV9fPXt9O2EuRGVjb2RlckJ1ZmZlcj1TO1MucHJvdG90eXBlLkluaXQ9Uy5wcm90b3R5cGUuSW5pdD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpOyJvYmplY3QiPT10eXBlb2YgYiYmKGI9WihiKSk7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO1lhKGQsYixjKX07Uy5wcm90b3R5cGUuX19kZXN0cm95X189Uy5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtaYSh0aGlzLnB0cil9O1EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpOwpRLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1RO1EucHJvdG90eXBlLl9fY2xhc3NfXz1RO1EuX19jYWNoZV9fPXt9O2EuQXR0cmlidXRlVHJhbnNmb3JtRGF0YT1RO1EucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPVEucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPWZ1bmN0aW9uKCl7cmV0dXJuICRhKHRoaXMucHRyKX07US5wcm90b3R5cGUuX19kZXN0cm95X189US5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXthYih0aGlzLnB0cil9O1YucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO1YucHJvdG90eXBlLmNvbnN0cnVjdG9yPVY7Vi5wcm90b3R5cGUuX19jbGFzc19fPVY7Vi5fX2NhY2hlX189e307YS5HZW9tZXRyeUF0dHJpYnV0ZT1WO1YucHJvdG90eXBlLl9fZGVzdHJveV9fPVYucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7YmIodGhpcy5wdHIpfTt4LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTt4LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj0KeDt4LnByb3RvdHlwZS5fX2NsYXNzX189eDt4Ll9fY2FjaGVfXz17fTthLlBvaW50QXR0cmlidXRlPXg7eC5wcm90b3R5cGUuc2l6ZT14LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIGNiKHRoaXMucHRyKX07eC5wcm90b3R5cGUuR2V0QXR0cmlidXRlVHJhbnNmb3JtRGF0YT14LnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIEIoZGIodGhpcy5wdHIpLFEpfTt4LnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT14LnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT1mdW5jdGlvbigpe3JldHVybiBlYih0aGlzLnB0cil9O3gucHJvdG90eXBlLmRhdGFfdHlwZT14LnByb3RvdHlwZS5kYXRhX3R5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gZmIodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5udW1fY29tcG9uZW50cz14LnByb3RvdHlwZS5udW1fY29tcG9uZW50cz1mdW5jdGlvbigpe3JldHVybiBnYih0aGlzLnB0cil9O3gucHJvdG90eXBlLm5vcm1hbGl6ZWQ9CngucHJvdG90eXBlLm5vcm1hbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hIWhiKHRoaXMucHRyKX07eC5wcm90b3R5cGUuYnl0ZV9zdHJpZGU9eC5wcm90b3R5cGUuYnl0ZV9zdHJpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gaWIodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5ieXRlX29mZnNldD14LnByb3RvdHlwZS5ieXRlX29mZnNldD1mdW5jdGlvbigpe3JldHVybiBqYih0aGlzLnB0cil9O3gucHJvdG90eXBlLnVuaXF1ZV9pZD14LnByb3RvdHlwZS51bmlxdWVfaWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2IodGhpcy5wdHIpfTt4LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz14LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe2xiKHRoaXMucHRyKX07RC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7RC5wcm90b3R5cGUuY29uc3RydWN0b3I9RDtELnByb3RvdHlwZS5fX2NsYXNzX189RDtELl9fY2FjaGVfXz17fTthLkF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybT0KRDtELnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1ELnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuISFtYihjLGIpfTtELnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1ELnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1mdW5jdGlvbigpe3JldHVybiBuYih0aGlzLnB0cil9O0QucHJvdG90eXBlLm1pbl92YWx1ZT1ELnByb3RvdHlwZS5taW5fdmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBvYihjLGIpfTtELnByb3RvdHlwZS5yYW5nZT1ELnByb3RvdHlwZS5yYW5nZT1mdW5jdGlvbigpe3JldHVybiBwYih0aGlzLnB0cil9O0QucHJvdG90eXBlLl9fZGVzdHJveV9fPUQucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7cWIodGhpcy5wdHIpfTtHLnByb3RvdHlwZT0KT2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Ry5wcm90b3R5cGUuY29uc3RydWN0b3I9RztHLnByb3RvdHlwZS5fX2NsYXNzX189RztHLl9fY2FjaGVfXz17fTthLkF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm09RztHLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1HLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuISFyYihjLGIpfTtHLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1HLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1mdW5jdGlvbigpe3JldHVybiBzYih0aGlzLnB0cil9O0cucHJvdG90eXBlLl9fZGVzdHJveV9fPUcucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7dGIodGhpcy5wdHIpfTtILnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtILnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1IO0gucHJvdG90eXBlLl9fY2xhc3NfXz0KSDtILl9fY2FjaGVfXz17fTthLlBvaW50Q2xvdWQ9SDtILnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1ILnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiB1Yih0aGlzLnB0cil9O0gucHJvdG90eXBlLm51bV9wb2ludHM9SC5wcm90b3R5cGUubnVtX3BvaW50cz1mdW5jdGlvbigpe3JldHVybiB2Yih0aGlzLnB0cil9O0gucHJvdG90eXBlLl9fZGVzdHJveV9fPUgucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7d2IodGhpcy5wdHIpfTtFLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtFLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FO0UucHJvdG90eXBlLl9fY2xhc3NfXz1FO0UuX19jYWNoZV9fPXt9O2EuTWVzaD1FO0UucHJvdG90eXBlLm51bV9mYWNlcz1FLnByb3RvdHlwZS5udW1fZmFjZXM9ZnVuY3Rpb24oKXtyZXR1cm4geGIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1FLnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz0KZnVuY3Rpb24oKXtyZXR1cm4geWIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5udW1fcG9pbnRzPUUucHJvdG90eXBlLm51bV9wb2ludHM9ZnVuY3Rpb24oKXtyZXR1cm4gemIodGhpcy5wdHIpfTtFLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1FLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0FiKHRoaXMucHRyKX07VC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7VC5wcm90b3R5cGUuY29uc3RydWN0b3I9VDtULnByb3RvdHlwZS5fX2NsYXNzX189VDtULl9fY2FjaGVfXz17fTthLk1ldGFkYXRhPVQ7VC5wcm90b3R5cGUuX19kZXN0cm95X189VC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtCYih0aGlzLnB0cil9O0MucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO0MucHJvdG90eXBlLmNvbnN0cnVjdG9yPUM7Qy5wcm90b3R5cGUuX19jbGFzc19fPUM7Qy5fX2NhY2hlX189e307YS5TdGF0dXM9QztDLnByb3RvdHlwZS5jb2RlPQpDLnByb3RvdHlwZS5jb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIENiKHRoaXMucHRyKX07Qy5wcm90b3R5cGUub2s9Qy5wcm90b3R5cGUub2s9ZnVuY3Rpb24oKXtyZXR1cm4hIURiKHRoaXMucHRyKX07Qy5wcm90b3R5cGUuZXJyb3JfbXNnPUMucHJvdG90eXBlLmVycm9yX21zZz1mdW5jdGlvbigpe3JldHVybiBwKEViKHRoaXMucHRyKSl9O0MucHJvdG90eXBlLl9fZGVzdHJveV9fPUMucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7RmIodGhpcy5wdHIpfTtJLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JO0kucHJvdG90eXBlLl9fY2xhc3NfXz1JO0kuX19jYWNoZV9fPXt9O2EuRHJhY29GbG9hdDMyQXJyYXk9STtJLnByb3RvdHlwZS5HZXRWYWx1ZT1JLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEdiKGMsCmIpfTtJLnByb3RvdHlwZS5zaXplPUkucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gSGIodGhpcy5wdHIpfTtJLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1JLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0liKHRoaXMucHRyKX07Si5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Si5wcm90b3R5cGUuY29uc3RydWN0b3I9SjtKLnByb3RvdHlwZS5fX2NsYXNzX189SjtKLl9fY2FjaGVfXz17fTthLkRyYWNvSW50OEFycmF5PUo7Si5wcm90b3R5cGUuR2V0VmFsdWU9Si5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBKYihjLGIpfTtKLnByb3RvdHlwZS5zaXplPUoucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gS2IodGhpcy5wdHIpfTtKLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1KLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0xiKHRoaXMucHRyKX07CksucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO0sucHJvdG90eXBlLmNvbnN0cnVjdG9yPUs7Sy5wcm90b3R5cGUuX19jbGFzc19fPUs7Sy5fX2NhY2hlX189e307YS5EcmFjb1VJbnQ4QXJyYXk9SztLLnByb3RvdHlwZS5HZXRWYWx1ZT1LLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIE1iKGMsYil9O0sucHJvdG90eXBlLnNpemU9Sy5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBOYih0aGlzLnB0cil9O0sucHJvdG90eXBlLl9fZGVzdHJveV9fPUsucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7T2IodGhpcy5wdHIpfTtMLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTtMLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MO0wucHJvdG90eXBlLl9fY2xhc3NfXz1MO0wuX19jYWNoZV9fPXt9O2EuRHJhY29JbnQxNkFycmF5PQpMO0wucHJvdG90eXBlLkdldFZhbHVlPUwucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtyZXR1cm4gUGIoYyxiKX07TC5wcm90b3R5cGUuc2l6ZT1MLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFFiKHRoaXMucHRyKX07TC5wcm90b3R5cGUuX19kZXN0cm95X189TC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtSYih0aGlzLnB0cil9O00ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO00ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU07TS5wcm90b3R5cGUuX19jbGFzc19fPU07TS5fX2NhY2hlX189e307YS5EcmFjb1VJbnQxNkFycmF5PU07TS5wcm90b3R5cGUuR2V0VmFsdWU9TS5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO3JldHVybiBTYihjLGIpfTsKTS5wcm90b3R5cGUuc2l6ZT1NLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFRiKHRoaXMucHRyKX07TS5wcm90b3R5cGUuX19kZXN0cm95X189TS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtVYih0aGlzLnB0cil9O04ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO04ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU47Ti5wcm90b3R5cGUuX19jbGFzc19fPU47Ti5fX2NhY2hlX189e307YS5EcmFjb0ludDMyQXJyYXk9TjtOLnByb3RvdHlwZS5HZXRWYWx1ZT1OLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIFZiKGMsYil9O04ucHJvdG90eXBlLnNpemU9Ti5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBXYih0aGlzLnB0cil9O04ucHJvdG90eXBlLl9fZGVzdHJveV9fPU4ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WGIodGhpcy5wdHIpfTsKTy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2LnByb3RvdHlwZSk7Ty5wcm90b3R5cGUuY29uc3RydWN0b3I9TztPLnByb3RvdHlwZS5fX2NsYXNzX189TztPLl9fY2FjaGVfXz17fTthLkRyYWNvVUludDMyQXJyYXk9TztPLnByb3RvdHlwZS5HZXRWYWx1ZT1PLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIFliKGMsYil9O08ucHJvdG90eXBlLnNpemU9Ty5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBaYih0aGlzLnB0cil9O08ucHJvdG90eXBlLl9fZGVzdHJveV9fPU8ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7JGIodGhpcy5wdHIpfTt6LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHYucHJvdG90eXBlKTt6LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj16O3oucHJvdG90eXBlLl9fY2xhc3NfXz16O3ouX19jYWNoZV9fPXt9O2EuTWV0YWRhdGFRdWVyaWVyPQp6O3oucHJvdG90eXBlLkhhc0VudHJ5PXoucHJvdG90eXBlLkhhc0VudHJ5PWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7ci5wcmVwYXJlKCk7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2M9YyYmIm9iamVjdCI9PT10eXBlb2YgYz9jLnB0cjpSKGMpO3JldHVybiEhYWMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRJbnRFbnRyeT16LnByb3RvdHlwZS5HZXRJbnRFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gYmMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRJbnRFbnRyeUFycmF5PXoucHJvdG90eXBlLkdldEludEVudHJ5QXJyYXk9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09CnR5cGVvZiBjP2MucHRyOlIoYyk7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO2NjKGcsYixjLGQpfTt6LnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT16LnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gZGMoZCxiLGMpfTt6LnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT16LnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtyZXR1cm4gcChlYyhkLGIsYykpfTt6LnByb3RvdHlwZS5OdW1FbnRyaWVzPXoucHJvdG90eXBlLk51bUVudHJpZXM9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wdHI7CmImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtyZXR1cm4gZmMoYyxiKX07ei5wcm90b3R5cGUuR2V0RW50cnlOYW1lPXoucHJvdG90eXBlLkdldEVudHJ5TmFtZT1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7cmV0dXJuIHAoZ2MoZCxiLGMpKX07ei5wcm90b3R5cGUuX19kZXN0cm95X189ei5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtoYyh0aGlzLnB0cil9O20ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodi5wcm90b3R5cGUpO20ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW07bS5wcm90b3R5cGUuX19jbGFzc19fPW07bS5fX2NhY2hlX189e307YS5EZWNvZGVyPW07bS5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9bS5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPQp0aGlzLnB0cjtyLnByZXBhcmUoKTsib2JqZWN0Ij09dHlwZW9mIGImJihiPVooYikpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuIEIoaWMoZyxiLGMsZCksQyl9O20ucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPW0ucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtyLnByZXBhcmUoKTsib2JqZWN0Ij09dHlwZW9mIGImJihiPVooYikpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuIEIoamMoZyxiLGMsZCksQyl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJgooYz1jLnB0cik7cmV0dXJuIGtjKGQsYixjKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnB0cjtyLnByZXBhcmUoKTtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7Yz1jJiYib2JqZWN0Ij09PXR5cGVvZiBjP2MucHRyOlIoYyk7cmV0dXJuIGxjKGQsYixjKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO3IucHJlcGFyZSgpO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjPWMmJiJvYmplY3QiPT09dHlwZW9mIGM/Yy5wdHI6UihjKTtkPWQmJiJvYmplY3QiPT09dHlwZW9mIGQ/ZC5wdHI6UihkKTtyZXR1cm4gbWMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZT0KbS5wcm90b3R5cGUuR2V0QXR0cmlidXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtyZXR1cm4gQihuYyhkLGIsYykseCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQ9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlQnlVbmlxdWVJZD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7cmV0dXJuIEIob2MoZCxiLGMpLHgpfTttLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1tLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEIocGMoYyxiKSxUKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9CmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtyZXR1cm4gQihxYyhkLGIsYyksVCl9O20ucHJvdG90eXBlLkdldEZhY2VGcm9tTWVzaD1tLnByb3RvdHlwZS5HZXRGYWNlRnJvbU1lc2g9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEhcmMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2g9bS5wcm90b3R5cGUuR2V0VHJpYW5nbGVTdHJpcHNGcm9tTWVzaD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7CnJldHVybiBzYyhkLGIsYyl9O20ucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PW0ucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXRjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1tLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF1YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9CmZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXZjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1tLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF3YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7CmImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PXR5cGVvZiBjJiYoYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEheGMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISF5YyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHM9ZnVuY3Rpb24oYixjLGQpe3ZhciBnPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPQpiLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIXpjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1tLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJihjPWMucHRyKTtkJiYib2JqZWN0Ij09PXR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISFBYyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCl7dmFyIGc9dGhpcy5wdHI7YiYmIm9iamVjdCI9PT10eXBlb2YgYiYmKGI9Yi5wdHIpO2MmJiJvYmplY3QiPT09dHlwZW9mIGMmJgooYz1jLnB0cik7ZCYmIm9iamVjdCI9PT10eXBlb2YgZCYmKGQ9ZC5wdHIpO3JldHVybiEhQmMoZyxiLGMsZCl9O20ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtyZXR1cm4hIUNjKGcsYixjLGQpfTttLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHM9bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKGIsYyxkKXt2YXIgZz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09CnR5cGVvZiBkJiYoZD1kLnB0cik7cmV0dXJuISFEYyhnLGIsYyxkKX07bS5wcm90b3R5cGUuR2V0QXR0cmlidXRlRGF0YUFycmF5Rm9yQWxsUG9pbnRzPW0ucHJvdG90eXBlLkdldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50cz1mdW5jdGlvbihiLGMsZCxnLHQpe3ZhciBhYT10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO2QmJiJvYmplY3QiPT09dHlwZW9mIGQmJihkPWQucHRyKTtnJiYib2JqZWN0Ij09PXR5cGVvZiBnJiYoZz1nLnB0cik7dCYmIm9iamVjdCI9PT10eXBlb2YgdCYmKHQ9dC5wdHIpO3JldHVybiEhRWMoYWEsYixjLGQsZyx0KX07bS5wcm90b3R5cGUuU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybT1tLnByb3RvdHlwZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtGYyhjLApiKX07bS5wcm90b3R5cGUuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkPW0ucHJvdG90eXBlLkdldEVuY29kZWRHZW9tZXRyeVR5cGVfRGVwcmVjYXRlZD1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7cmV0dXJuIEdjKGMsYil9O20ucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZD1tLnByb3RvdHlwZS5EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnB0cjtiJiYib2JqZWN0Ij09PXR5cGVvZiBiJiYoYj1iLnB0cik7YyYmIm9iamVjdCI9PT10eXBlb2YgYyYmKGM9Yy5wdHIpO3JldHVybiBCKEhjKGQsYixjKSxDKX07bS5wcm90b3R5cGUuRGVjb2RlQnVmZmVyVG9NZXNoPW0ucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvTWVzaD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMucHRyO2ImJiJvYmplY3QiPT09dHlwZW9mIGImJihiPWIucHRyKTtjJiYib2JqZWN0Ij09PQp0eXBlb2YgYyYmKGM9Yy5wdHIpO3JldHVybiBCKEljKGQsYixjKSxDKX07bS5wcm90b3R5cGUuX19kZXN0cm95X189bS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtKYyh0aGlzLnB0cil9OyhmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXthLkFUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1LYygpO2EuQVRUUklCVVRFX05PX1RSQU5TRk9STT1MYygpO2EuQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09TWMoKTthLkFUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1OYygpO2EuSU5WQUxJRD1PYygpO2EuUE9TSVRJT049UGMoKTthLk5PUk1BTD1RYygpO2EuQ09MT1I9UmMoKTthLlRFWF9DT09SRD1TYygpO2EuR0VORVJJQz1UYygpO2EuSU5WQUxJRF9HRU9NRVRSWV9UWVBFPVVjKCk7YS5QT0lOVF9DTE9VRD1WYygpO2EuVFJJQU5HVUxBUl9NRVNIPVdjKCk7YS5EVF9JTlZBTElEPVhjKCk7YS5EVF9JTlQ4PVljKCk7YS5EVF9VSU5UOD1aYygpO2EuRFRfSU5UMTY9CiRjKCk7YS5EVF9VSU5UMTY9YWQoKTthLkRUX0lOVDMyPWJkKCk7YS5EVF9VSU5UMzI9Y2QoKTthLkRUX0lOVDY0PWRkKCk7YS5EVF9VSU5UNjQ9ZWQoKTthLkRUX0ZMT0FUMzI9ZmQoKTthLkRUX0ZMT0FUNjQ9Z2QoKTthLkRUX0JPT0w9aGQoKTthLkRUX1RZUEVTX0NPVU5UPWlkKCk7YS5PSz1qZCgpO2EuRFJBQ09fRVJST1I9a2QoKTthLklPX0VSUk9SPWxkKCk7YS5JTlZBTElEX1BBUkFNRVRFUj1tZCgpO2EuVU5TVVBQT1JURURfVkVSU0lPTj1uZCgpO2EuVU5LTk9XTl9WRVJTSU9OPW9kKCl9dmE/YigpOm9hLnVuc2hpZnQoYil9KSgpO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYS5vbk1vZHVsZVBhcnNlZClhLm9uTW9kdWxlUGFyc2VkKCk7YS5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlPWZ1bmN0aW9uKGIpe2lmKGIuX19jbGFzc19fJiZiLl9fY2xhc3NfXz09PWEuRGVjb2RlckJ1ZmZlcilyZXR1cm4gYS5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWQoYik7CmlmKDg+Yi5ieXRlTGVuZ3RoKXJldHVybiBhLklOVkFMSURfR0VPTUVUUllfVFlQRTtzd2l0Y2goYls3XSl7Y2FzZSAwOnJldHVybiBhLlBPSU5UX0NMT1VEO2Nhc2UgMTpyZXR1cm4gYS5UUklBTkdVTEFSX01FU0g7ZGVmYXVsdDpyZXR1cm4gYS5JTlZBTElEX0dFT01FVFJZX1RZUEV9fTtyZXR1cm4gbi5yZWFkeX19KCk7Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPURyYWNvRGVjb2Rlck1vZHVsZToiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gRHJhY29EZWNvZGVyTW9kdWxlfSk6Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cyYmKGV4cG9ydHMuRHJhY29EZWNvZGVyTW9kdWxlPURyYWNvRGVjb2Rlck1vZHVsZSk7Cg=="},676:(A,t,e)=>{"use strict";e.r(t),e.d(t,{DataViewIndexOutOfBoundsError:()=>_,DecodeError:()=>p,Decoder:()=>K,EXT_TIMESTAMP:()=>f,Encoder:()=>b,ExtData:()=>d,ExtensionCodec:()=>S,decode:()=>X,decodeArrayStream:()=>eA,decodeAsync:()=>tA,decodeMulti:()=>P,decodeMultiStream:()=>iA,decodeStream:()=>nA,decodeTimestampExtension:()=>M,decodeTimestampToTimeSpec:()=>F,encode:()=>N,encodeDateToTimeSpec:()=>y,encodeTimeSpecToTimestamp:()=>D,encodeTimestampExtension:()=>R});var i,n,g,o=4294967295;function s(A,t,e){var i=Math.floor(e/4294967296),n=e;A.setUint32(t,i),A.setUint32(t+4,n)}function a(A,t){return 4294967296*A.getInt32(t)+A.getUint32(t+4)}var r=("undefined"==typeof process||"never"!==(null===(i=null===process||void 0===process?void 0:process.env)||void 0===i?void 0:i.TEXT_ENCODING))&&"undefined"!=typeof TextEncoder&&"undefined"!=typeof TextDecoder;function B(A){for(var t=A.length,e=0,i=0;i=55296&&n<=56319&&i65535&&(B-=65536,g.push(B>>>10&1023|55296),B=56320|1023&B),g.push(B)}else g.push(s);else g.push(s);g.length>=4096&&(o+=String.fromCharCode.apply(String,g),g.length=0)}return g.length>0&&(o+=String.fromCharCode.apply(String,g)),o}var c,l=r?new TextDecoder:null,h=r?"undefined"!=typeof process&&"force"!==(null===(g=null===process||void 0===process?void 0:process.env)||void 0===g?void 0:g.TEXT_DECODER)?200:0:o,d=function(A,t){this.type=A,this.data=t},u=(c=function(A,t){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,t){A.__proto__=t}||function(A,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(A[e]=t[e])},c(A,t)},function(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=A}c(A,t),A.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}),p=function(A){function t(e){var i=A.call(this,e)||this,n=Object.create(t.prototype);return Object.setPrototypeOf(i,n),Object.defineProperty(i,"name",{configurable:!0,enumerable:!1,value:t.name}),i}return u(t,A),t}(Error),f=-1,m=4294967295,w=17179869183;function D(A){var t,e=A.sec,i=A.nsec;if(e>=0&&i>=0&&e<=w){if(0===i&&e<=m){var n=new Uint8Array(4);return(t=new DataView(n.buffer)).setUint32(0,e),n}var g=e/4294967296,o=4294967295&e;return n=new Uint8Array(8),(t=new DataView(n.buffer)).setUint32(0,i<<2|3&g),t.setUint32(4,o),n}return n=new Uint8Array(12),(t=new DataView(n.buffer)).setUint32(0,i),s(t,4,e),n}function y(A){var t=A.getTime(),e=Math.floor(t/1e3),i=1e6*(t-1e3*e),n=Math.floor(i/1e9);return{sec:e+n,nsec:i-1e9*n}}function R(A){return A instanceof Date?D(y(A)):null}function F(A){var t=new DataView(A.buffer,A.byteOffset,A.byteLength);switch(A.byteLength){case 4:return{sec:t.getUint32(0),nsec:0};case 8:var e=t.getUint32(0);return{sec:4294967296*(3&e)+t.getUint32(4),nsec:e>>>2};case 12:return{sec:a(t,4),nsec:t.getUint32(0)};default:throw new p("Unrecognized data size for timestamp (expected 4, 8, or 12): ".concat(A.length))}}function M(A){var t=F(A);return new Date(1e3*t.sec+t.nsec/1e6)}var G={type:f,encode:R,decode:M},S=function(){function A(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(G)}return A.prototype.register=function(A){var t=A.type,e=A.encode,i=A.decode;if(t>=0)this.encoders[t]=e,this.decoders[t]=i;else{var n=1+t;this.builtInEncoders[n]=e,this.builtInDecoders[n]=i}},A.prototype.tryToEncode=function(A,t){for(var e=0;ethis.maxDepth)throw new Error("Too deep objects in depth ".concat(t));null==A?this.encodeNil():"boolean"==typeof A?this.encodeBoolean(A):"number"==typeof A?this.encodeNumber(A):"string"==typeof A?this.encodeString(A):this.encodeObject(A,t)},A.prototype.ensureBufferSizeToWrite=function(A){var t=this.pos+A;this.view.byteLength=0?A<128?this.writeU8(A):A<256?(this.writeU8(204),this.writeU8(A)):A<65536?(this.writeU8(205),this.writeU16(A)):A<4294967296?(this.writeU8(206),this.writeU32(A)):(this.writeU8(207),this.writeU64(A)):A>=-32?this.writeU8(224|A+32):A>=-128?(this.writeU8(208),this.writeI8(A)):A>=-32768?(this.writeU8(209),this.writeI16(A)):A>=-2147483648?(this.writeU8(210),this.writeI32(A)):(this.writeU8(211),this.writeI64(A)):this.forceFloat32?(this.writeU8(202),this.writeF32(A)):(this.writeU8(203),this.writeF64(A))},A.prototype.writeStringHeader=function(A){if(A<32)this.writeU8(160+A);else if(A<256)this.writeU8(217),this.writeU8(A);else if(A<65536)this.writeU8(218),this.writeU16(A);else{if(!(A<4294967296))throw new Error("Too long string: ".concat(A," bytes in UTF-8"));this.writeU8(219),this.writeU32(A)}},A.prototype.encodeString=function(A){if(A.length>Q){var t=B(A);this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),E(A,this.bytes,this.pos),this.pos+=t}else t=B(A),this.ensureBufferSizeToWrite(5+t),this.writeStringHeader(t),function(A,t,e){for(var i=A.length,n=e,g=0;g=55296&&o<=56319&&g>18&7|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128):(t[n++]=o>>12&15|224,t[n++]=o>>6&63|128)}else t[n++]=o>>6&31|192;t[n++]=63&o|128}else t[n++]=o}}(A,this.bytes,this.pos),this.pos+=t},A.prototype.encodeObject=function(A,t){var e=this.extensionCodec.tryToEncode(A,this.context);if(null!=e)this.encodeExtension(e);else if(Array.isArray(A))this.encodeArray(A,t);else if(ArrayBuffer.isView(A))this.encodeBinary(A);else{if("object"!=typeof A)throw new Error("Unrecognized object: ".concat(Object.prototype.toString.apply(A)));this.encodeMap(A,t)}},A.prototype.encodeBinary=function(A){var t=A.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else{if(!(t<4294967296))throw new Error("Too large binary: ".concat(t));this.writeU8(198),this.writeU32(t)}var e=U(A);this.writeU8a(e)},A.prototype.encodeArray=function(A,t){var e=A.length;if(e<16)this.writeU8(144+e);else if(e<65536)this.writeU8(220),this.writeU16(e);else{if(!(e<4294967296))throw new Error("Too large array: ".concat(e));this.writeU8(221),this.writeU32(e)}for(var i=0,n=A;i0&&A<=this.maxKeyLength},A.prototype.find=function(A,t,e){A:for(var i=0,n=this.caches[e-1];i=this.maxLengthPerKey?e[Math.random()*e.length|0]=i:e.push(i)},A.prototype.decode=function(A,t,e){var i=this.find(A,t,e);if(null!=i)return this.hit++,i;this.miss++;var n=C(A,t,e),g=Uint8Array.prototype.slice.call(A,t,t+e);return this.store(g,n),n},A}(),k=function(A,t){var e,i,n,g,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return g={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function s(g){return function(s){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,i&&(n=2&g[0]?i.return:g[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,g[1])).done)return n;switch(i=0,n&&(g=[2&g[0],n.value]),g[0]){case 0:case 1:n=g;break;case 4:return o.label++,{value:g[1],done:!1};case 5:o.label++,i=g[1],g=[0];continue;case 7:g=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==g[0]&&2!==g[0])){o=0;continue}if(3===g[0]&&(!n||g[1]>n[0]&&g[1]=A},A.prototype.createExtraByteError=function(A){var t=this.view,e=this.pos;return new RangeError("Extra ".concat(t.byteLength-e," of ").concat(t.byteLength," byte(s) found at buffer[").concat(A,"]"))},A.prototype.decode=function(A){this.reinitializeState(),this.setBuffer(A);var t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t},A.prototype.decodeMulti=function(A){return k(this,(function(t){switch(t.label){case 0:this.reinitializeState(),this.setBuffer(A),t.label=1;case 1:return this.hasRemaining(1)?[4,this.doDecodeSync()]:[3,3];case 2:return t.sent(),[3,1];case 3:return[2]}}))},A.prototype.decodeAsync=function(A){var t,e,i,n,g,o,s,a;return g=this,o=void 0,a=function(){var g,o,s,a,r,B,I,Q;return k(this,(function(E){switch(E.label){case 0:g=!1,E.label=1;case 1:E.trys.push([1,6,7,12]),t=v(A),E.label=2;case 2:return[4,t.next()];case 3:if((e=E.sent()).done)return[3,5];if(s=e.value,g)throw this.createExtraByteError(this.totalPos);this.appendBuffer(s);try{o=this.doDecodeSync(),g=!0}catch(A){if(!(A instanceof _))throw A}this.totalPos+=this.pos,E.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return a=E.sent(),i={error:a},[3,12];case 7:return E.trys.push([7,,10,11]),e&&!e.done&&(n=t.return)?[4,n.call(t)]:[3,9];case 8:E.sent(),E.label=9;case 9:return[3,11];case 10:if(i)throw i.error;return[7];case 11:return[7];case 12:if(g){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return[2,o]}throw B=(r=this).headByte,I=r.pos,Q=r.totalPos,new RangeError("Insufficient data in parsing ".concat(H(B)," at ").concat(Q," (").concat(I," in the current buffer)"))}}))},new((s=void 0)||(s=Promise))((function(A,t){function e(A){try{n(a.next(A))}catch(A){t(A)}}function i(A){try{n(a.throw(A))}catch(A){t(A)}}function n(t){var n;t.done?A(t.value):(n=t.value,n instanceof s?n:new s((function(A){A(n)}))).then(e,i)}n((a=a.apply(g,o||[])).next())}))},A.prototype.decodeArrayStream=function(A){return this.decodeMultiAsync(A,!0)},A.prototype.decodeStream=function(A){return this.decodeMultiAsync(A,!1)},A.prototype.decodeMultiAsync=function(A,t){return function(A,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e.apply(A,t||[]),g=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(A){n[A]&&(i[A]=function(t){return new Promise((function(e,i){g.push([A,t,e,i])>1||s(A,t)}))})}function s(A,t){try{(e=n[A](t)).value instanceof Y?Promise.resolve(e.value.v).then(a,r):B(g[0][2],e)}catch(A){B(g[0][3],A)}var e}function a(A){s("next",A)}function r(A){s("throw",A)}function B(A,t){A(t),g.shift(),g.length&&s(g[0][0],g[0][1])}}(this,arguments,(function(){var e,i,n,g,o,s,a,r,B;return k(this,(function(I){switch(I.label){case 0:e=t,i=-1,I.label=1;case 1:I.trys.push([1,13,14,19]),n=v(A),I.label=2;case 2:return[4,Y(n.next())];case 3:if((g=I.sent()).done)return[3,12];if(o=g.value,t&&0===i)throw this.createExtraByteError(this.totalPos);this.appendBuffer(o),e&&(i=this.readArraySize(),e=!1,this.complete()),I.label=4;case 4:I.trys.push([4,9,,10]),I.label=5;case 5:return[4,Y(this.doDecodeSync())];case 6:return[4,I.sent()];case 7:return I.sent(),0==--i?[3,8]:[3,5];case 8:return[3,10];case 9:if(!((s=I.sent())instanceof _))throw s;return[3,10];case 10:this.totalPos+=this.pos,I.label=11;case 11:return[3,2];case 12:return[3,19];case 13:return a=I.sent(),r={error:a},[3,19];case 14:return I.trys.push([14,,17,18]),g&&!g.done&&(B=n.return)?[4,Y(B.call(n))]:[3,16];case 15:I.sent(),I.label=16;case 16:return[3,18];case 17:if(r)throw r.error;return[7];case 18:return[7];case 19:return[2]}}))}))},A.prototype.doDecodeSync=function(){A:for(;;){var A=this.readHeadByte(),t=void 0;if(A>=224)t=A-256;else if(A<192)if(A<128)t=A;else if(A<144){if(0!=(i=A-128)){this.pushMapState(i),this.complete();continue A}t={}}else if(A<160){if(0!=(i=A-144)){this.pushArrayState(i),this.complete();continue A}t=[]}else{var e=A-160;t=this.decodeUtf8String(e,0)}else if(192===A)t=null;else if(194===A)t=!1;else if(195===A)t=!0;else if(202===A)t=this.readF32();else if(203===A)t=this.readF64();else if(204===A)t=this.readU8();else if(205===A)t=this.readU16();else if(206===A)t=this.readU32();else if(207===A)t=this.readU64();else if(208===A)t=this.readI8();else if(209===A)t=this.readI16();else if(210===A)t=this.readI32();else if(211===A)t=this.readI64();else if(217===A)e=this.lookU8(),t=this.decodeUtf8String(e,1);else if(218===A)e=this.lookU16(),t=this.decodeUtf8String(e,2);else if(219===A)e=this.lookU32(),t=this.decodeUtf8String(e,4);else if(220===A){if(0!==(i=this.readU16())){this.pushArrayState(i),this.complete();continue A}t=[]}else if(221===A){if(0!==(i=this.readU32())){this.pushArrayState(i),this.complete();continue A}t=[]}else if(222===A){if(0!==(i=this.readU16())){this.pushMapState(i),this.complete();continue A}t={}}else if(223===A){if(0!==(i=this.readU32())){this.pushMapState(i),this.complete();continue A}t={}}else if(196===A){var i=this.lookU8();t=this.decodeBinary(i,1)}else if(197===A)i=this.lookU16(),t=this.decodeBinary(i,2);else if(198===A)i=this.lookU32(),t=this.decodeBinary(i,4);else if(212===A)t=this.decodeExtension(1,0);else if(213===A)t=this.decodeExtension(2,0);else if(214===A)t=this.decodeExtension(4,0);else if(215===A)t=this.decodeExtension(8,0);else if(216===A)t=this.decodeExtension(16,0);else if(199===A)i=this.lookU8(),t=this.decodeExtension(i,1);else if(200===A)i=this.lookU16(),t=this.decodeExtension(i,2);else{if(201!==A)throw new p("Unrecognized type byte: ".concat(H(A)));i=this.lookU32(),t=this.decodeExtension(i,4)}this.complete();for(var n=this.stack;n.length>0;){var g=n[n.length-1];if(0===g.type){if(g.array[g.position]=t,g.position++,g.position!==g.size)continue A;n.pop(),t=g.array}else{if(1===g.type){if(void 0,"string"!=(o=typeof t)&&"number"!==o)throw new p("The type of key must be string or number but "+typeof t);if("__proto__"===t)throw new p("The key __proto__ is not allowed");g.key=t,g.type=2;continue A}if(g.map[g.key]=t,g.readCount++,g.readCount!==g.size){g.key=null,g.type=1;continue A}n.pop(),t=g.map}}return t}var o},A.prototype.readHeadByte=function(){return-1===this.headByte&&(this.headByte=this.readU8()),this.headByte},A.prototype.complete=function(){this.headByte=-1},A.prototype.readArraySize=function(){var A=this.readHeadByte();switch(A){case 220:return this.readU16();case 221:return this.readU32();default:if(A<160)return A-144;throw new p("Unrecognized array type byte: ".concat(H(A)))}},A.prototype.pushMapState=function(A){if(A>this.maxMapLength)throw new p("Max length exceeded: map length (".concat(A,") > maxMapLengthLength (").concat(this.maxMapLength,")"));this.stack.push({type:1,size:A,key:null,readCount:0,map:{}})},A.prototype.pushArrayState=function(A){if(A>this.maxArrayLength)throw new p("Max length exceeded: array length (".concat(A,") > maxArrayLength (").concat(this.maxArrayLength,")"));this.stack.push({type:0,size:A,array:new Array(A),position:0})},A.prototype.decodeUtf8String=function(A,t){var e;if(A>this.maxStrLength)throw new p("Max length exceeded: UTF-8 byte length (".concat(A,") > maxStrLength (").concat(this.maxStrLength,")"));if(this.bytes.byteLengthh?function(A,t,e){var i=A.subarray(t,t+e);return l.decode(i)}(this.bytes,n,A):C(this.bytes,n,A),this.pos+=t+A,i},A.prototype.stateIsMapKey=function(){return this.stack.length>0&&1===this.stack[this.stack.length-1].type},A.prototype.decodeBinary=function(A,t){if(A>this.maxBinLength)throw new p("Max length exceeded: bin length (".concat(A,") > maxBinLength (").concat(this.maxBinLength,")"));if(!this.hasRemaining(A+t))throw V;var e=this.pos+t,i=this.bytes.subarray(e,e+A);return this.pos+=t+A,i},A.prototype.decodeExtension=function(A,t){if(A>this.maxExtLength)throw new p("Max length exceeded: ext length (".concat(A,") > maxExtLength (").concat(this.maxExtLength,")"));var e=this.view.getInt8(this.pos+t),i=this.decodeBinary(A,t+1);return this.extensionCodec.decode(i,e,this.context)},A.prototype.lookU8=function(){return this.view.getUint8(this.pos)},A.prototype.lookU16=function(){return this.view.getUint16(this.pos)},A.prototype.lookU32=function(){return this.view.getUint32(this.pos)},A.prototype.readU8=function(){var A=this.view.getUint8(this.pos);return this.pos++,A},A.prototype.readI8=function(){var A=this.view.getInt8(this.pos);return this.pos++,A},A.prototype.readU16=function(){var A=this.view.getUint16(this.pos);return this.pos+=2,A},A.prototype.readI16=function(){var A=this.view.getInt16(this.pos);return this.pos+=2,A},A.prototype.readU32=function(){var A=this.view.getUint32(this.pos);return this.pos+=4,A},A.prototype.readI32=function(){var A=this.view.getInt32(this.pos);return this.pos+=4,A},A.prototype.readU64=function(){var A,t,e=(A=this.view,t=this.pos,4294967296*A.getUint32(t)+A.getUint32(t+4));return this.pos+=8,e},A.prototype.readI64=function(){var A=a(this.view,this.pos);return this.pos+=8,A},A.prototype.readF32=function(){var A=this.view.getFloat32(this.pos);return this.pos+=4,A},A.prototype.readF64=function(){var A=this.view.getFloat64(this.pos);return this.pos+=8,A},A}(),Z={};function X(A,t){return void 0===t&&(t=Z),new K(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decode(A)}function P(A,t){return void 0===t&&(t=Z),new K(t.extensionCodec,t.context,t.maxStrLength,t.maxBinLength,t.maxArrayLength,t.maxMapLength,t.maxExtLength).decodeMulti(A)}var O=function(A,t){var e,i,n,g,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return g={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function s(g){return function(s){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,i&&(n=2&g[0]?i.return:g[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,g[1])).done)return n;switch(i=0,n&&(g=[2&g[0],n.value]),g[0]){case 0:case 1:n=g;break;case 4:return o.label++,{value:g[1],done:!1};case 5:o.label++,i=g[1],g=[0];continue;case 7:g=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==g[0]&&2!==g[0])){o=0;continue}if(3===g[0]&&(!n||g[1]>n[0]&&g[1]1||s(A,t)}))})}function s(A,t){try{(e=n[A](t)).value instanceof z?Promise.resolve(e.value.v).then(a,r):B(g[0][2],e)}catch(A){B(g[0][3],A)}var e}function a(A){s("next",A)}function r(A){s("throw",A)}function B(A,t){A(t),g.shift(),g.length&&s(g[0][0],g[0][1])}};function j(A){return null!=A[Symbol.asyncIterator]?A:function(A){return q(this,arguments,(function(){var t,e,i,n;return O(this,(function(g){switch(g.label){case 0:t=A.getReader(),g.label=1;case 1:g.trys.push([1,,9,10]),g.label=2;case 2:return[4,z(t.read())];case 3:return e=g.sent(),i=e.done,n=e.value,i?[4,z(void 0)]:[3,5];case 4:return[2,g.sent()];case 5:return function(A){if(null==A)throw new Error("Assertion Failure: value must not be null nor undefined")}(n),[4,z(n)];case 6:return[4,g.sent()];case 7:return g.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(A)}var $=function(A,t,e,i){return new(e||(e=Promise))((function(n,g){function o(A){try{a(i.next(A))}catch(A){g(A)}}function s(A){try{a(i.throw(A))}catch(A){g(A)}}function a(A){var t;A.done?n(A.value):(t=A.value,t instanceof e?t:new e((function(A){A(t)}))).then(o,s)}a((i=i.apply(A,t||[])).next())}))},AA=function(A,t){var e,i,n,g,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return g={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function s(g){return function(s){return function(g){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,i&&(n=2&g[0]?i.return:g[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,g[1])).done)return n;switch(i=0,n&&(g=[2&g[0],n.value]),g[0]){case 0:case 1:n=g;break;case 4:return o.label++,{value:g[1],done:!1};case 5:o.label++,i=g[1],g=[0];continue;case 7:g=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==g[0]&&2!==g[0])){o=0;continue}if(3===g[0]&&(!n||g[1]>n[0]&&g[1]{"use strict";e.r(t),e.d(t,{ACESFilmicToneMapping:()=>nA,AddEquation:()=>w,AddOperation:()=>$,AdditiveAnimationBlendMode:()=>Jt,AdditiveBlending:()=>u,AgXToneMapping:()=>oA,AlphaFormat:()=>JA,AlwaysCompare:()=>Fe,AlwaysDepth:()=>W,AlwaysStencilFunc:()=>ue,AmbientLight:()=>rE,AnimationAction:()=>jE,AnimationClip:()=>xQ,AnimationLoader:()=>_Q,AnimationMixer:()=>AC,AnimationObjectGroup:()=>qE,AnimationUtils:()=>pQ,ArcCurve:()=>YB,ArrayCamera:()=>Wa,ArrowHelper:()=>ZC,AttachedBindMode:()=>aA,Audio:()=>LE,AudioAnalyser:()=>_E,AudioContext:()=>wE,AudioListener:()=>HE,AudioLoader:()=>DE,AxesHelper:()=>XC,BackSide:()=>c,BasicDepthPacking:()=>Kt,BasicShadowMap:()=>B,BatchedMesh:()=>QB,Bone:()=>Lr,BooleanKeyframeTrack:()=>RQ,Box2:()=>EC,Box3:()=>Ni,Box3Helper:()=>JC,BoxGeometry:()=>Zg,BoxHelper:()=>TC,BufferAttribute:()=>rg,BufferGeometry:()=>Rg,BufferGeometryLoader:()=>lE,ByteType:()=>SA,Cache:()=>HQ,Camera:()=>jg,CameraHelper:()=>kC,CanvasTexture:()=>LB,CapsuleGeometry:()=>oI,CatmullRomCurve3:()=>KB,CineonToneMapping:()=>iA,CircleGeometry:()=>sI,ClampToEdgeWrapping:()=>hA,Clock:()=>GE,Color:()=>qn,ColorKeyframeTrack:()=>FQ,ColorManagement:()=>Ei,CompressedArrayTexture:()=>NB,CompressedCubeTexture:()=>HB,CompressedTexture:()=>xB,CompressedTextureLoader:()=>VQ,ConeGeometry:()=>rI,ConstantAlphaFactor:()=>J,ConstantColorFactor:()=>Y,CubeCamera:()=>no,CubeReflectionMapping:()=>IA,CubeRefractionMapping:()=>QA,CubeTexture:()=>go,CubeTextureLoader:()=>KQ,CubeUVReflectionMapping:()=>cA,CubicBezierCurve:()=>OB,CubicBezierCurve3:()=>zB,CubicInterpolant:()=>mQ,CullFaceBack:()=>s,CullFaceFront:()=>a,CullFaceFrontBack:()=>r,CullFaceNone:()=>o,Curve:()=>kB,CurvePath:()=>iI,CustomBlending:()=>m,CustomToneMapping:()=>gA,CylinderGeometry:()=>aI,Cylindrical:()=>IC,Data3DTexture:()=>Mi,DataArrayTexture:()=>Ri,DataTexture:()=>kr,DataTextureLoader:()=>ZQ,DataUtils:()=>og,DecrementStencilOp:()=>ae,DecrementWrapStencilOp:()=>Be,DefaultLoadingManager:()=>kQ,DepthFormat:()=>ZA,DepthStencilFormat:()=>XA,DepthTexture:()=>$o,DetachedBindMode:()=>rA,DirectionalLight:()=>aE,DirectionalLightHelper:()=>NC,DiscreteInterpolant:()=>DQ,DisplayP3ColorSpace:()=>jt,DodecahedronGeometry:()=>II,DoubleSide:()=>l,DstAlphaFactor:()=>N,DstColorFactor:()=>L,DynamicCopyUsage:()=>He,DynamicDrawUsage:()=>Ge,DynamicReadUsage:()=>be,EdgesGeometry:()=>lI,EllipseCurve:()=>vB,EqualCompare:()=>me,EqualDepth:()=>X,EqualStencilFunc:()=>Ce,EquirectangularReflectionMapping:()=>EA,EquirectangularRefractionMapping:()=>CA,Euler:()=>dn,EventDispatcher:()=>Je,ExtrudeGeometry:()=>KI,FileLoader:()=>JQ,Float16BufferAttribute:()=>hg,Float32BufferAttribute:()=>dg,FloatType:()=>HA,Fog:()=>er,FogExp2:()=>tr,FramebufferTexture:()=>bB,FrontSide:()=>C,Frustum:()=>Eo,GLBufferAttribute:()=>gC,GLSL1:()=>ke,GLSL3:()=>ve,GreaterCompare:()=>De,GreaterDepth:()=>O,GreaterEqualCompare:()=>Re,GreaterEqualDepth:()=>P,GreaterEqualStencilFunc:()=>de,GreaterStencilFunc:()=>le,GridHelper:()=>GC,Group:()=>Ka,HalfFloatType:()=>LA,HemisphereLight:()=>OQ,HemisphereLightHelper:()=>MC,IcosahedronGeometry:()=>XI,ImageBitmapLoader:()=>fE,ImageLoader:()=>WQ,ImageUtils:()=>hi,IncrementStencilOp:()=>se,IncrementWrapStencilOp:()=>re,InstancedBufferAttribute:()=>Jr,InstancedBufferGeometry:()=>cE,InstancedInterleavedBuffer:()=>nC,InstancedMesh:()=>Or,Int16BufferAttribute:()=>Eg,Int32BufferAttribute:()=>cg,Int8BufferAttribute:()=>Bg,IntType:()=>xA,InterleavedBuffer:()=>nr,InterleavedBufferAttribute:()=>or,Interpolant:()=>fQ,InterpolateDiscrete:()=>Nt,InterpolateLinear:()=>Ht,InterpolateSmooth:()=>Lt,InvertStencilOp:()=>Ie,KeepStencilOp:()=>ge,KeyframeTrack:()=>yQ,LOD:()=>yr,LatheGeometry:()=>gI,Layers:()=>un,LessCompare:()=>fe,LessDepth:()=>K,LessEqualCompare:()=>we,LessEqualDepth:()=>Z,LessEqualStencilFunc:()=>ce,LessStencilFunc:()=>Ee,Light:()=>PQ,LightProbe:()=>QE,Line:()=>uB,Line3:()=>lC,LineBasicMaterial:()=>EB,LineCurve:()=>qB,LineCurve3:()=>jB,LineDashedMaterial:()=>CQ,LineLoop:()=>wB,LineSegments:()=>mB,LinearDisplayP3ColorSpace:()=>$t,LinearFilter:()=>DA,LinearInterpolant:()=>wQ,LinearMipMapLinearFilter:()=>MA,LinearMipMapNearestFilter:()=>RA,LinearMipmapLinearFilter:()=>FA,LinearMipmapNearestFilter:()=>yA,LinearSRGBColorSpace:()=>qt,LinearToneMapping:()=>tA,LinearTransfer:()=>Ae,Loader:()=>vQ,LoaderUtils:()=>CE,LoadingManager:()=>LQ,LoopOnce:()=>Ut,LoopPingPong:()=>xt,LoopRepeat:()=>bt,LuminanceAlphaFormat:()=>KA,LuminanceFormat:()=>WA,MOUSE:()=>n,Material:()=>Ag,MaterialLoader:()=>EE,MathUtils:()=>je,Matrix3:()=>Ai,Matrix4:()=>an,MaxEquation:()=>F,Mesh:()=>Wg,MeshBasicMaterial:()=>tg,MeshDepthMaterial:()=>va,MeshDistanceMaterial:()=>Ya,MeshLambertMaterial:()=>QQ,MeshMatcapMaterial:()=>EQ,MeshNormalMaterial:()=>IQ,MeshPhongMaterial:()=>rQ,MeshPhysicalMaterial:()=>aQ,MeshStandardMaterial:()=>sQ,MeshToonMaterial:()=>BQ,MinEquation:()=>R,MirroredRepeatWrapping:()=>dA,MixOperation:()=>j,MultiplyBlending:()=>f,MultiplyOperation:()=>q,NearestFilter:()=>uA,NearestMipMapLinearFilter:()=>wA,NearestMipMapNearestFilter:()=>fA,NearestMipmapLinearFilter:()=>mA,NearestMipmapNearestFilter:()=>pA,NeutralToneMapping:()=>sA,NeverCompare:()=>pe,NeverDepth:()=>V,NeverStencilFunc:()=>Qe,NoBlending:()=>h,NoColorSpace:()=>Ot,NoToneMapping:()=>AA,NormalAnimationBlendMode:()=>Tt,NormalBlending:()=>d,NotEqualCompare:()=>ye,NotEqualDepth:()=>z,NotEqualStencilFunc:()=>he,NumberKeyframeTrack:()=>MQ,Object3D:()=>Hn,ObjectLoader:()=>hE,ObjectSpaceNormalMap:()=>Pt,OctahedronGeometry:()=>PI,OneFactor:()=>G,OneMinusConstantAlphaFactor:()=>_,OneMinusConstantColorFactor:()=>T,OneMinusDstAlphaFactor:()=>H,OneMinusDstColorFactor:()=>k,OneMinusSrcAlphaFactor:()=>x,OneMinusSrcColorFactor:()=>U,OrthographicCamera:()=>So,P3Primaries:()=>ie,PCFShadowMap:()=>I,PCFSoftShadowMap:()=>Q,PMREMGenerator:()=>Jo,Path:()=>nI,PerspectiveCamera:()=>eo,Plane:()=>Bo,PlaneGeometry:()=>lo,PlaneHelper:()=>_C,PointLight:()=>oE,PointLightHelper:()=>DC,Points:()=>GB,PointsMaterial:()=>DB,PolarGridHelper:()=>SC,PolyhedronGeometry:()=>BI,PositionalAudio:()=>JE,PropertyBinding:()=>zE,PropertyMixer:()=>VE,QuadraticBezierCurve:()=>$B,QuadraticBezierCurve3:()=>AI,Quaternion:()=>Si,QuaternionKeyframeTrack:()=>SQ,QuaternionLinearInterpolant:()=>GQ,RED_GREEN_RGTC2_Format:()=>Gt,RED_RGTC1_Format:()=>Ft,REVISION:()=>i,RGBADepthPacking:()=>Zt,RGBAFormat:()=>VA,RGBAIntegerFormat:()=>jA,RGBA_ASTC_10x10_Format:()=>ft,RGBA_ASTC_10x5_Format:()=>dt,RGBA_ASTC_10x6_Format:()=>ut,RGBA_ASTC_10x8_Format:()=>pt,RGBA_ASTC_12x10_Format:()=>mt,RGBA_ASTC_12x12_Format:()=>wt,RGBA_ASTC_4x4_Format:()=>Bt,RGBA_ASTC_5x4_Format:()=>It,RGBA_ASTC_5x5_Format:()=>Qt,RGBA_ASTC_6x5_Format:()=>Et,RGBA_ASTC_6x6_Format:()=>Ct,RGBA_ASTC_8x5_Format:()=>ct,RGBA_ASTC_8x6_Format:()=>lt,RGBA_ASTC_8x8_Format:()=>ht,RGBA_BPTC_Format:()=>Dt,RGBA_ETC2_EAC_Format:()=>rt,RGBA_PVRTC_2BPPV1_Format:()=>ot,RGBA_PVRTC_4BPPV1_Format:()=>gt,RGBA_S3TC_DXT1_Format:()=>At,RGBA_S3TC_DXT3_Format:()=>tt,RGBA_S3TC_DXT5_Format:()=>et,RGBFormat:()=>_A,RGB_BPTC_SIGNED_Format:()=>yt,RGB_BPTC_UNSIGNED_Format:()=>Rt,RGB_ETC1_Format:()=>st,RGB_ETC2_Format:()=>at,RGB_PVRTC_2BPPV1_Format:()=>nt,RGB_PVRTC_4BPPV1_Format:()=>it,RGB_S3TC_DXT1_Format:()=>$A,RGFormat:()=>zA,RGIntegerFormat:()=>qA,RawShaderMaterial:()=>oQ,Ray:()=>sn,Raycaster:()=>sC,Rec709Primaries:()=>ee,RectAreaLight:()=>BE,RedFormat:()=>PA,RedIntegerFormat:()=>OA,ReinhardToneMapping:()=>eA,RenderTarget:()=>Di,RepeatWrapping:()=>lA,ReplaceStencilOp:()=>oe,ReverseSubtractEquation:()=>y,RingGeometry:()=>OI,SIGNED_RED_GREEN_RGTC2_Format:()=>St,SIGNED_RED_RGTC1_Format:()=>Mt,SRGBColorSpace:()=>zt,SRGBTransfer:()=>te,Scene:()=>ir,ShaderChunk:()=>ho,ShaderLib:()=>po,ShaderMaterial:()=>qg,ShadowMaterial:()=>gQ,Shape:()=>hI,ShapeGeometry:()=>zI,ShapePath:()=>PC,ShapeUtils:()=>_I,ShortType:()=>UA,Skeleton:()=>Tr,SkeletonHelper:()=>mC,SkinnedMesh:()=>Hr,Source:()=>ui,Sphere:()=>ji,SphereGeometry:()=>qI,Spherical:()=>BC,SphericalHarmonics3:()=>IE,SplineCurve:()=>tI,SpotLight:()=>tE,SpotLightHelper:()=>dC,Sprite:()=>fr,SpriteMaterial:()=>sr,SrcAlphaFactor:()=>b,SrcAlphaSaturateFactor:()=>v,SrcColorFactor:()=>S,StaticCopyUsage:()=>Ne,StaticDrawUsage:()=>Me,StaticReadUsage:()=>Ue,StereoCamera:()=>ME,StreamCopyUsage:()=>Le,StreamDrawUsage:()=>Se,StreamReadUsage:()=>xe,StringKeyframeTrack:()=>UQ,SubtractEquation:()=>D,SubtractiveBlending:()=>p,TOUCH:()=>g,TangentSpaceNormalMap:()=>Xt,TetrahedronGeometry:()=>jI,Texture:()=>mi,TextureLoader:()=>XQ,TorusGeometry:()=>$I,TorusKnotGeometry:()=>AQ,Triangle:()=>Zn,TriangleFanDrawMode:()=>Wt,TriangleStripDrawMode:()=>Vt,TrianglesDrawMode:()=>_t,TubeGeometry:()=>tQ,UVMapping:()=>BA,Uint16BufferAttribute:()=>Cg,Uint32BufferAttribute:()=>lg,Uint8BufferAttribute:()=>Ig,Uint8ClampedBufferAttribute:()=>Qg,Uniform:()=>tC,UniformsGroup:()=>iC,UniformsLib:()=>uo,UniformsUtils:()=>zg,UnsignedByteType:()=>GA,UnsignedInt248Type:()=>YA,UnsignedInt5999Type:()=>TA,UnsignedIntType:()=>NA,UnsignedShort4444Type:()=>kA,UnsignedShort5551Type:()=>vA,UnsignedShortType:()=>bA,VSMShadowMap:()=>E,Vector2:()=>$e,Vector3:()=>Ui,Vector4:()=>wi,VectorKeyframeTrack:()=>bQ,VideoTexture:()=>UB,WebGL3DRenderTarget:()=>Gi,WebGLArrayRenderTarget:()=>Fi,WebGLCoordinateSystem:()=>Ye,WebGLCubeRenderTarget:()=>oo,WebGLMultipleRenderTargets:()=>OC,WebGLRenderTarget:()=>yi,WebGLRenderer:()=>Ar,WebGLUtils:()=>Va,WebGPUCoordinateSystem:()=>Te,WireframeGeometry:()=>eQ,WrapAroundEnding:()=>Yt,ZeroCurvatureEnding:()=>kt,ZeroFactor:()=>M,ZeroSlopeEnding:()=>vt,ZeroStencilOp:()=>ne,createCanvasElement:()=>oi});const i="163",n={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},g={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},o=0,s=1,a=2,r=3,B=0,I=1,Q=2,E=3,C=0,c=1,l=2,h=0,d=1,u=2,p=3,f=4,m=5,w=100,D=101,y=102,R=103,F=104,M=200,G=201,S=202,U=203,b=204,x=205,N=206,H=207,L=208,k=209,v=210,Y=211,T=212,J=213,_=214,V=0,W=1,K=2,Z=3,X=4,P=5,O=6,z=7,q=0,j=1,$=2,AA=0,tA=1,eA=2,iA=3,nA=4,gA=5,oA=6,sA=7,aA="attached",rA="detached",BA=300,IA=301,QA=302,EA=303,CA=304,cA=306,lA=1e3,hA=1001,dA=1002,uA=1003,pA=1004,fA=1004,mA=1005,wA=1005,DA=1006,yA=1007,RA=1007,FA=1008,MA=1008,GA=1009,SA=1010,UA=1011,bA=1012,xA=1013,NA=1014,HA=1015,LA=1016,kA=1017,vA=1018,YA=1020,TA=35902,JA=1021,_A=1022,VA=1023,WA=1024,KA=1025,ZA=1026,XA=1027,PA=1028,OA=1029,zA=1030,qA=1031,jA=1033,$A=33776,At=33777,tt=33778,et=33779,it=35840,nt=35841,gt=35842,ot=35843,st=36196,at=37492,rt=37496,Bt=37808,It=37809,Qt=37810,Et=37811,Ct=37812,ct=37813,lt=37814,ht=37815,dt=37816,ut=37817,pt=37818,ft=37819,mt=37820,wt=37821,Dt=36492,yt=36494,Rt=36495,Ft=36283,Mt=36284,Gt=36285,St=36286,Ut=2200,bt=2201,xt=2202,Nt=2300,Ht=2301,Lt=2302,kt=2400,vt=2401,Yt=2402,Tt=2500,Jt=2501,_t=0,Vt=1,Wt=2,Kt=3200,Zt=3201,Xt=0,Pt=1,Ot="",zt="srgb",qt="srgb-linear",jt="display-p3",$t="display-p3-linear",Ae="linear",te="srgb",ee="rec709",ie="p3",ne=0,ge=7680,oe=7681,se=7682,ae=7683,re=34055,Be=34056,Ie=5386,Qe=512,Ee=513,Ce=514,ce=515,le=516,he=517,de=518,ue=519,pe=512,fe=513,me=514,we=515,De=516,ye=517,Re=518,Fe=519,Me=35044,Ge=35048,Se=35040,Ue=35045,be=35049,xe=35041,Ne=35046,He=35050,Le=35042,ke="100",ve="300 es",Ye=2e3,Te=2001;class Je{addEventListener(A,t){void 0===this._listeners&&(this._listeners={});const e=this._listeners;void 0===e[A]&&(e[A]=[]),-1===e[A].indexOf(t)&&e[A].push(t)}hasEventListener(A,t){if(void 0===this._listeners)return!1;const e=this._listeners;return void 0!==e[A]&&-1!==e[A].indexOf(t)}removeEventListener(A,t){if(void 0===this._listeners)return;const e=this._listeners[A];if(void 0!==e){const A=e.indexOf(t);-1!==A&&e.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const t=this._listeners[A.type];if(void 0!==t){A.target=this;const e=t.slice(0);for(let t=0,i=e.length;t>8&255]+_e[A>>16&255]+_e[A>>24&255]+"-"+_e[255&t]+_e[t>>8&255]+"-"+_e[t>>16&15|64]+_e[t>>24&255]+"-"+_e[63&e|128]+_e[e>>8&255]+"-"+_e[e>>16&255]+_e[e>>24&255]+_e[255&i]+_e[i>>8&255]+_e[i>>16&255]+_e[i>>24&255]).toLowerCase()}function Xe(A,t,e){return Math.max(t,Math.min(e,A))}function Pe(A,t){return(A%t+t)%t}function Oe(A,t,e){return(1-e)*A+e*t}function ze(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return A/4294967295;case Uint16Array:return A/65535;case Uint8Array:return A/255;case Int32Array:return Math.max(A/2147483647,-1);case Int16Array:return Math.max(A/32767,-1);case Int8Array:return Math.max(A/127,-1);default:throw new Error("Invalid component type.")}}function qe(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return Math.round(4294967295*A);case Uint16Array:return Math.round(65535*A);case Uint8Array:return Math.round(255*A);case Int32Array:return Math.round(2147483647*A);case Int16Array:return Math.round(32767*A);case Int8Array:return Math.round(127*A);default:throw new Error("Invalid component type.")}}const je={DEG2RAD:We,RAD2DEG:Ke,generateUUID:Ze,clamp:Xe,euclideanModulo:Pe,mapLinear:function(A,t,e,i,n){return i+(A-t)*(n-i)/(e-t)},inverseLerp:function(A,t,e){return A!==t?(e-A)/(t-A):0},lerp:Oe,damp:function(A,t,e,i){return Oe(A,t,1-Math.exp(-e*i))},pingpong:function(A,t=1){return t-Math.abs(Pe(A,2*t)-t)},smoothstep:function(A,t,e){return A<=t?0:A>=e?1:(A=(A-t)/(e-t))*A*(3-2*A)},smootherstep:function(A,t,e){return A<=t?0:A>=e?1:(A=(A-t)/(e-t))*A*A*(A*(6*A-15)+10)},randInt:function(A,t){return A+Math.floor(Math.random()*(t-A+1))},randFloat:function(A,t){return A+Math.random()*(t-A)},randFloatSpread:function(A){return A*(.5-Math.random())},seededRandom:function(A){void 0!==A&&(Ve=A);let t=Ve+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},degToRad:function(A){return A*We},radToDeg:function(A){return A*Ke},isPowerOfTwo:function(A){return!(A&A-1)&&0!==A},ceilPowerOfTwo:function(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))},floorPowerOfTwo:function(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))},setQuaternionFromProperEuler:function(A,t,e,i,n){const g=Math.cos,o=Math.sin,s=g(e/2),a=o(e/2),r=g((t+i)/2),B=o((t+i)/2),I=g((t-i)/2),Q=o((t-i)/2),E=g((i-t)/2),C=o((i-t)/2);switch(n){case"XYX":A.set(s*B,a*I,a*Q,s*r);break;case"YZY":A.set(a*Q,s*B,a*I,s*r);break;case"ZXZ":A.set(a*I,a*Q,s*B,s*r);break;case"XZX":A.set(s*B,a*C,a*E,s*r);break;case"YXY":A.set(a*E,s*B,a*C,s*r);break;case"ZYZ":A.set(a*C,a*E,s*B,s*r);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+n)}},normalize:qe,denormalize:ze};class $e{constructor(A=0,t=0){$e.prototype.isVector2=!0,this.x=A,this.y=t}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,t){return this.x=A,this.y=t,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const t=this.x,e=this.y,i=A.elements;return this.x=i[0]*t+i[3]*e+i[6],this.y=i[1]*t+i[4]*e+i[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.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}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(Xe(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y;return t*t+e*e}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this}rotateAround(A,t){const e=Math.cos(t),i=Math.sin(t),n=this.x-A.x,g=this.y-A.y;return this.x=n*e-g*i+A.x,this.y=n*i+g*e+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ai{constructor(A,t,e,i,n,g,o,s,a){Ai.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==A&&this.set(A,t,e,i,n,g,o,s,a)}set(A,t,e,i,n,g,o,s,a){const r=this.elements;return r[0]=A,r[1]=i,r[2]=o,r[3]=t,r[4]=n,r[5]=s,r[6]=e,r[7]=g,r[8]=a,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],this}extractBasis(A,t,e){return A.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),e.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const t=A.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,i=t.elements,n=this.elements,g=e[0],o=e[3],s=e[6],a=e[1],r=e[4],B=e[7],I=e[2],Q=e[5],E=e[8],C=i[0],c=i[3],l=i[6],h=i[1],d=i[4],u=i[7],p=i[2],f=i[5],m=i[8];return n[0]=g*C+o*h+s*p,n[3]=g*c+o*d+s*f,n[6]=g*l+o*u+s*m,n[1]=a*C+r*h+B*p,n[4]=a*c+r*d+B*f,n[7]=a*l+r*u+B*m,n[2]=I*C+Q*h+E*p,n[5]=I*c+Q*d+E*f,n[8]=I*l+Q*u+E*m,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[3]*=A,t[6]*=A,t[1]*=A,t[4]*=A,t[7]*=A,t[2]*=A,t[5]*=A,t[8]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8];return t*g*r-t*o*a-e*n*r+e*o*s+i*n*a-i*g*s}invert(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8],B=r*g-o*a,I=o*s-r*n,Q=a*n-g*s,E=t*B+e*I+i*Q;if(0===E)return this.set(0,0,0,0,0,0,0,0,0);const C=1/E;return A[0]=B*C,A[1]=(i*a-r*e)*C,A[2]=(o*e-i*g)*C,A[3]=I*C,A[4]=(r*t-i*s)*C,A[5]=(i*n-o*t)*C,A[6]=Q*C,A[7]=(e*s-a*t)*C,A[8]=(g*t-e*n)*C,this}transpose(){let A;const t=this.elements;return A=t[1],t[1]=t[3],t[3]=A,A=t[2],t[2]=t[6],t[6]=A,A=t[5],t[5]=t[7],t[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const t=this.elements;return A[0]=t[0],A[1]=t[3],A[2]=t[6],A[3]=t[1],A[4]=t[4],A[5]=t[7],A[6]=t[2],A[7]=t[5],A[8]=t[8],this}setUvTransform(A,t,e,i,n,g,o){const s=Math.cos(n),a=Math.sin(n);return this.set(e*s,e*a,-e*(s*g+a*o)+g+A,-i*a,i*s,-i*(-a*g+s*o)+o+t,0,0,1),this}scale(A,t){return this.premultiply(ti.makeScale(A,t)),this}rotate(A){return this.premultiply(ti.makeRotation(-A)),this}translate(A,t){return this.premultiply(ti.makeTranslation(A,t)),this}makeTranslation(A,t){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,t,0,0,1),this}makeRotation(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,e,t,0,0,0,1),this}makeScale(A,t){return this.set(A,0,0,0,t,0,0,0,1),this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<9;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<9;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}const ti=new Ai;function ei(A){for(let t=A.length-1;t>=0;--t)if(A[t]>=65535)return!0;return!1}const ii={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function ni(A,t){return new ii[A](t)}function gi(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}function oi(){const A=gi("canvas");return A.style.display="block",A}const si={};function ai(A){A in si||(si[A]=!0,console.warn(A))}const ri=(new Ai).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),Bi=(new Ai).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),Ii={[qt]:{transfer:Ae,primaries:ee,toReference:A=>A,fromReference:A=>A},[zt]:{transfer:te,primaries:ee,toReference:A=>A.convertSRGBToLinear(),fromReference:A=>A.convertLinearToSRGB()},[$t]:{transfer:Ae,primaries:ie,toReference:A=>A.applyMatrix3(Bi),fromReference:A=>A.applyMatrix3(ri)},[jt]:{transfer:te,primaries:ie,toReference:A=>A.convertSRGBToLinear().applyMatrix3(Bi),fromReference:A=>A.applyMatrix3(ri).convertLinearToSRGB()}},Qi=new Set([qt,$t]),Ei={enabled:!0,_workingColorSpace:qt,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(A){if(!Qi.has(A))throw new Error(`Unsupported working color space, "${A}".`);this._workingColorSpace=A},convert:function(A,t,e){if(!1===this.enabled||t===e||!t||!e)return A;const i=Ii[t].toReference;return(0,Ii[e].fromReference)(i(A))},fromWorkingColorSpace:function(A,t){return this.convert(A,this._workingColorSpace,t)},toWorkingColorSpace:function(A,t){return this.convert(A,t,this._workingColorSpace)},getPrimaries:function(A){return Ii[A].primaries},getTransfer:function(A){return A===Ot?Ae:Ii[A].transfer}};function Ci(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function ci(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}let li;class hi{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let t;if(A instanceof HTMLCanvasElement)t=A;else{void 0===li&&(li=gi("canvas")),li.width=A.width,li.height=A.height;const e=li.getContext("2d");A instanceof ImageData?e.putImageData(A,0,0):e.drawImage(A,0,0,A.width,A.height),t=li}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(A){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const t=gi("canvas");t.width=A.width,t.height=A.height;const e=t.getContext("2d");e.drawImage(A,0,0,A.width,A.height);const i=e.getImageData(0,0,A.width,A.height),n=i.data;for(let A=0;A0&&(e.userData=this.userData),t||(A.textures[this.uuid]=e),e}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(this.mapping!==BA)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case lA:A.x=A.x-Math.floor(A.x);break;case hA:A.x=A.x<0?0:1;break;case dA:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case lA:A.y=A.y-Math.floor(A.y);break;case hA:A.y=A.y<0?0:1;break;case dA:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(A){!0===A&&this.pmremVersion++}}mi.DEFAULT_IMAGE=null,mi.DEFAULT_MAPPING=BA,mi.DEFAULT_ANISOTROPY=1;class wi{constructor(A=0,t=0,e=0,i=1){wi.prototype.isVector4=!0,this.x=A,this.y=t,this.z=e,this.w=i}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,t,e,i){return this.x=A,this.y=t,this.z=e,this.w=i,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){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: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this.w=A.w+t.w,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this.w+=A.w*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this.w=A.w-t.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const t=this.x,e=this.y,i=this.z,n=this.w,g=A.elements;return this.x=g[0]*t+g[4]*e+g[8]*i+g[12]*n,this.y=g[1]*t+g[5]*e+g[9]*i+g[13]*n,this.z=g[2]*t+g[6]*e+g[10]*i+g[14]*n,this.w=g[3]*t+g[7]*e+g[11]*i+g[15]*n,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const t=Math.sqrt(1-A.w*A.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/t,this.y=A.y/t,this.z=A.z/t),this}setAxisAngleFromRotationMatrix(A){let t,e,i,n;const g=.01,o=.1,s=A.elements,a=s[0],r=s[4],B=s[8],I=s[1],Q=s[5],E=s[9],C=s[2],c=s[6],l=s[10];if(Math.abs(r-I)s&&A>h?Ah?s=0?1:-1,i=1-t*t;if(i>Number.EPSILON){const n=Math.sqrt(i),g=Math.atan2(n,t*e);A=Math.sin(A*g)/n,o=Math.sin(o*g)/n}const n=o*e;if(s=s*A+I*n,a=a*A+Q*n,r=r*A+E*n,B=B*A+C*n,A===1-o){const A=1/Math.sqrt(s*s+a*a+r*r+B*B);s*=A,a*=A,r*=A,B*=A}}A[t]=s,A[t+1]=a,A[t+2]=r,A[t+3]=B}static multiplyQuaternionsFlat(A,t,e,i,n,g){const o=e[i],s=e[i+1],a=e[i+2],r=e[i+3],B=n[g],I=n[g+1],Q=n[g+2],E=n[g+3];return A[t]=o*E+r*B+s*Q-a*I,A[t+1]=s*E+r*I+a*B-o*Q,A[t+2]=a*E+r*Q+o*I-s*B,A[t+3]=r*E-o*B-s*I-a*Q,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,t,e,i){return this._x=A,this._y=t,this._z=e,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,t=!0){const e=A._x,i=A._y,n=A._z,g=A._order,o=Math.cos,s=Math.sin,a=o(e/2),r=o(i/2),B=o(n/2),I=s(e/2),Q=s(i/2),E=s(n/2);switch(g){case"XYZ":this._x=I*r*B+a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B-I*Q*E;break;case"YXZ":this._x=I*r*B+a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B+I*Q*E;break;case"ZXY":this._x=I*r*B-a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B-I*Q*E;break;case"ZYX":this._x=I*r*B-a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B+I*Q*E;break;case"YZX":this._x=I*r*B+a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B-I*Q*E;break;case"XZY":this._x=I*r*B-a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B+I*Q*E;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+g)}return!0===t&&this._onChangeCallback(),this}setFromAxisAngle(A,t){const e=t/2,i=Math.sin(e);return this._x=A.x*i,this._y=A.y*i,this._z=A.z*i,this._w=Math.cos(e),this._onChangeCallback(),this}setFromRotationMatrix(A){const t=A.elements,e=t[0],i=t[4],n=t[8],g=t[1],o=t[5],s=t[9],a=t[2],r=t[6],B=t[10],I=e+o+B;if(I>0){const A=.5/Math.sqrt(I+1);this._w=.25/A,this._x=(r-s)*A,this._y=(n-a)*A,this._z=(g-i)*A}else if(e>o&&e>B){const A=2*Math.sqrt(1+e-o-B);this._w=(r-s)/A,this._x=.25*A,this._y=(i+g)/A,this._z=(n+a)/A}else if(o>B){const A=2*Math.sqrt(1+o-e-B);this._w=(n-a)/A,this._x=(i+g)/A,this._y=.25*A,this._z=(s+r)/A}else{const A=2*Math.sqrt(1+B-e-o);this._w=(g-i)/A,this._x=(n+a)/A,this._y=(s+r)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,t){let e=A.dot(t)+1;return eMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=e):(this._x=0,this._y=-A.z,this._z=A.y,this._w=e)):(this._x=A.y*t.z-A.z*t.y,this._y=A.z*t.x-A.x*t.z,this._z=A.x*t.y-A.y*t.x,this._w=e),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(Xe(this.dot(A),-1,1)))}rotateTowards(A,t){const e=this.angleTo(A);if(0===e)return this;const i=Math.min(1,t/e);return this.slerp(A,i),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(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,t){const e=A._x,i=A._y,n=A._z,g=A._w,o=t._x,s=t._y,a=t._z,r=t._w;return this._x=e*r+g*o+i*a-n*s,this._y=i*r+g*s+n*o-e*a,this._z=n*r+g*a+e*s-i*o,this._w=g*r-e*o-i*s-n*a,this._onChangeCallback(),this}slerp(A,t){if(0===t)return this;if(1===t)return this.copy(A);const e=this._x,i=this._y,n=this._z,g=this._w;let o=g*A._w+e*A._x+i*A._y+n*A._z;if(o<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,o=-o):this.copy(A),o>=1)return this._w=g,this._x=e,this._y=i,this._z=n,this;const s=1-o*o;if(s<=Number.EPSILON){const A=1-t;return this._w=A*g+t*this._w,this._x=A*e+t*this._x,this._y=A*i+t*this._y,this._z=A*n+t*this._z,this.normalize(),this}const a=Math.sqrt(s),r=Math.atan2(a,o),B=Math.sin((1-t)*r)/a,I=Math.sin(t*r)/a;return this._w=g*B+this._w*I,this._x=e*B+this._x*I,this._y=i*B+this._y*I,this._z=n*B+this._z*I,this._onChangeCallback(),this}slerpQuaternions(A,t,e){return this.copy(A).slerp(t,e)}random(){const A=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),e=Math.random(),i=Math.sqrt(1-e),n=Math.sqrt(e);return this.set(i*Math.sin(A),i*Math.cos(A),n*Math.sin(t),n*Math.cos(t))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,t=0){return this._x=A[t],this._y=A[t+1],this._z=A[t+2],this._w=A[t+3],this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._w,A}fromBufferAttribute(A,t){return this._x=A.getX(t),this._y=A.getY(t),this._z=A.getZ(t),this._w=A.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Ui{constructor(A=0,t=0,e=0){Ui.prototype.isVector3=!0,this.x=A,this.y=t,this.z=e}set(A,t,e){return void 0===e&&(e=this.z),this.x=A,this.y=t,this.z=e,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,t){return this.x=A.x*t.x,this.y=A.y*t.y,this.z=A.z*t.z,this}applyEuler(A){return this.applyQuaternion(xi.setFromEuler(A))}applyAxisAngle(A,t){return this.applyQuaternion(xi.setFromAxisAngle(A,t))}applyMatrix3(A){const t=this.x,e=this.y,i=this.z,n=A.elements;return this.x=n[0]*t+n[3]*e+n[6]*i,this.y=n[1]*t+n[4]*e+n[7]*i,this.z=n[2]*t+n[5]*e+n[8]*i,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const t=this.x,e=this.y,i=this.z,n=A.elements,g=1/(n[3]*t+n[7]*e+n[11]*i+n[15]);return this.x=(n[0]*t+n[4]*e+n[8]*i+n[12])*g,this.y=(n[1]*t+n[5]*e+n[9]*i+n[13])*g,this.z=(n[2]*t+n[6]*e+n[10]*i+n[14])*g,this}applyQuaternion(A){const t=this.x,e=this.y,i=this.z,n=A.x,g=A.y,o=A.z,s=A.w,a=2*(g*i-o*e),r=2*(o*t-n*i),B=2*(n*e-g*t);return this.x=t+s*a+g*B-o*r,this.y=e+s*r+o*a-n*B,this.z=i+s*B+n*r-g*a,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const t=this.x,e=this.y,i=this.z,n=A.elements;return this.x=n[0]*t+n[4]*e+n[8]*i,this.y=n[1]*t+n[5]*e+n[9]*i,this.z=n[2]*t+n[6]*e+n[10]*i,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this.z=Math.max(A.z,Math.min(t.z,this.z)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this.z=Math.max(A,Math.min(t,this.z)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this.z+=(A.z-this.z)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this.z=A.z+(t.z-A.z)*e,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,t){const e=A.x,i=A.y,n=A.z,g=t.x,o=t.y,s=t.z;return this.x=i*s-n*o,this.y=n*g-e*s,this.z=e*o-i*g,this}projectOnVector(A){const t=A.lengthSq();if(0===t)return this.set(0,0,0);const e=A.dot(this)/t;return this.copy(A).multiplyScalar(e)}projectOnPlane(A){return bi.copy(this).projectOnVector(A),this.sub(bi)}reflect(A){return this.sub(bi.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(Xe(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y,i=this.z-A.z;return t*t+e*e+i*i}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,t,e){const i=Math.sin(t)*A;return this.x=i*Math.sin(e),this.y=Math.cos(t)*A,this.z=i*Math.cos(e),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,t,e){return this.x=A*Math.sin(t),this.y=e,this.z=A*Math.cos(t),this}setFromMatrixPosition(A){const t=A.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(A){const t=this.setFromMatrixColumn(A,0).length(),e=this.setFromMatrixColumn(A,1).length(),i=this.setFromMatrixColumn(A,2).length();return this.x=t,this.y=e,this.z=i,this}setFromMatrixColumn(A,t){return this.fromArray(A.elements,4*t)}setFromMatrix3Column(A,t){return this.fromArray(A.elements,3*t)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this.z=A[t+2],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A[t+2]=this.z,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this.z=A.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=Math.random()*Math.PI*2,t=2*Math.random()-1,e=Math.sqrt(1-t*t);return this.x=e*Math.cos(A),this.y=t,this.z=e*Math.sin(A),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const bi=new Ui,xi=new Si;class Ni{constructor(A=new Ui(1/0,1/0,1/0),t=new Ui(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=t}set(A,t){return this.min.copy(A),this.max.copy(t),this}setFromArray(A){this.makeEmpty();for(let t=0,e=A.length;tthis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,t){return t.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,Li),Li.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let t,e;return A.normal.x>0?(t=A.normal.x*this.min.x,e=A.normal.x*this.max.x):(t=A.normal.x*this.max.x,e=A.normal.x*this.min.x),A.normal.y>0?(t+=A.normal.y*this.min.y,e+=A.normal.y*this.max.y):(t+=A.normal.y*this.max.y,e+=A.normal.y*this.min.y),A.normal.z>0?(t+=A.normal.z*this.min.z,e+=A.normal.z*this.max.z):(t+=A.normal.z*this.max.z,e+=A.normal.z*this.min.z),t<=-A.constant&&e>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(Wi),Ki.subVectors(this.max,Wi),vi.subVectors(A.a,Wi),Yi.subVectors(A.b,Wi),Ti.subVectors(A.c,Wi),Ji.subVectors(Yi,vi),_i.subVectors(Ti,Yi),Vi.subVectors(vi,Ti);let t=[0,-Ji.z,Ji.y,0,-_i.z,_i.y,0,-Vi.z,Vi.y,Ji.z,0,-Ji.x,_i.z,0,-_i.x,Vi.z,0,-Vi.x,-Ji.y,Ji.x,0,-_i.y,_i.x,0,-Vi.y,Vi.x,0];return!!Pi(t,vi,Yi,Ti,Ki)&&(t=[1,0,0,0,1,0,0,0,1],!!Pi(t,vi,Yi,Ti,Ki)&&(Zi.crossVectors(Ji,_i),t=[Zi.x,Zi.y,Zi.z],Pi(t,vi,Yi,Ti,Ki)))}clampPoint(A,t){return t.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,Li).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=.5*this.getSize(Li).length()),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(Hi[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),Hi[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),Hi[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),Hi[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),Hi[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),Hi[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),Hi[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),Hi[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(Hi)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const Hi=[new Ui,new Ui,new Ui,new Ui,new Ui,new Ui,new Ui,new Ui],Li=new Ui,ki=new Ni,vi=new Ui,Yi=new Ui,Ti=new Ui,Ji=new Ui,_i=new Ui,Vi=new Ui,Wi=new Ui,Ki=new Ui,Zi=new Ui,Xi=new Ui;function Pi(A,t,e,i,n){for(let g=0,o=A.length-3;g<=o;g+=3){Xi.fromArray(A,g);const o=n.x*Math.abs(Xi.x)+n.y*Math.abs(Xi.y)+n.z*Math.abs(Xi.z),s=t.dot(Xi),a=e.dot(Xi),r=i.dot(Xi);if(Math.max(-Math.max(s,a,r),Math.min(s,a,r))>o)return!1}return!0}const Oi=new Ni,zi=new Ui,qi=new Ui;class ji{constructor(A=new Ui,t=-1){this.isSphere=!0,this.center=A,this.radius=t}set(A,t){return this.center.copy(A),this.radius=t,this}setFromPoints(A,t){const e=this.center;void 0!==t?e.copy(t):Oi.setFromPoints(A).getCenter(e);let i=0;for(let t=0,n=A.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;zi.subVectors(A,this.center);const t=zi.lengthSq();if(t>this.radius*this.radius){const A=Math.sqrt(t),e=.5*(A-this.radius);this.center.addScaledVector(zi,e/A),this.radius+=e}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(!0===this.center.equals(A.center)?this.radius=Math.max(this.radius,A.radius):(qi.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(zi.copy(A.center).add(qi)),this.expandByPoint(zi.copy(A.center).sub(qi))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const $i=new Ui,An=new Ui,tn=new Ui,en=new Ui,nn=new Ui,gn=new Ui,on=new Ui;class sn{constructor(A=new Ui,t=new Ui(0,0,-1)){this.origin=A,this.direction=t}set(A,t){return this.origin.copy(A),this.direction.copy(t),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,t){return t.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,$i)),this}closestPointToPoint(A,t){t.subVectors(A,this.origin);const e=t.dot(this.direction);return e<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,e)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const t=$i.subVectors(A,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(A):($i.copy(this.origin).addScaledVector(this.direction,t),$i.distanceToSquared(A))}distanceSqToSegment(A,t,e,i){An.copy(A).add(t).multiplyScalar(.5),tn.copy(t).sub(A).normalize(),en.copy(this.origin).sub(An);const n=.5*A.distanceTo(t),g=-this.direction.dot(tn),o=en.dot(this.direction),s=-en.dot(tn),a=en.lengthSq(),r=Math.abs(1-g*g);let B,I,Q,E;if(r>0)if(B=g*s-o,I=g*o-s,E=n*r,B>=0)if(I>=-E)if(I<=E){const A=1/r;B*=A,I*=A,Q=B*(B+g*I+2*o)+I*(g*B+I+2*s)+a}else I=n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;else I=-n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;else I<=-E?(B=Math.max(0,-(-g*n+o)),I=B>0?-n:Math.min(Math.max(-n,-s),n),Q=-B*B+I*(I+2*s)+a):I<=E?(B=0,I=Math.min(Math.max(-n,-s),n),Q=I*(I+2*s)+a):(B=Math.max(0,-(g*n+o)),I=B>0?n:Math.min(Math.max(-n,-s),n),Q=-B*B+I*(I+2*s)+a);else I=g>0?-n:n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;return e&&e.copy(this.origin).addScaledVector(this.direction,B),i&&i.copy(An).addScaledVector(tn,I),Q}intersectSphere(A,t){$i.subVectors(A.center,this.origin);const e=$i.dot(this.direction),i=$i.dot($i)-e*e,n=A.radius*A.radius;if(i>n)return null;const g=Math.sqrt(n-i),o=e-g,s=e+g;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const t=A.normal.dot(this.direction);if(0===t)return 0===A.distanceToPoint(this.origin)?0:null;const e=-(this.origin.dot(A.normal)+A.constant)/t;return e>=0?e:null}intersectPlane(A,t){const e=this.distanceToPlane(A);return null===e?null:this.at(e,t)}intersectsPlane(A){const t=A.distanceToPoint(this.origin);return 0===t||A.normal.dot(this.direction)*t<0}intersectBox(A,t){let e,i,n,g,o,s;const a=1/this.direction.x,r=1/this.direction.y,B=1/this.direction.z,I=this.origin;return a>=0?(e=(A.min.x-I.x)*a,i=(A.max.x-I.x)*a):(e=(A.max.x-I.x)*a,i=(A.min.x-I.x)*a),r>=0?(n=(A.min.y-I.y)*r,g=(A.max.y-I.y)*r):(n=(A.max.y-I.y)*r,g=(A.min.y-I.y)*r),e>g||n>i?null:((n>e||isNaN(e))&&(e=n),(g=0?(o=(A.min.z-I.z)*B,s=(A.max.z-I.z)*B):(o=(A.max.z-I.z)*B,s=(A.min.z-I.z)*B),e>s||o>i?null:((o>e||e!=e)&&(e=o),(s=0?e:i,t)))}intersectsBox(A){return null!==this.intersectBox(A,$i)}intersectTriangle(A,t,e,i,n){nn.subVectors(t,A),gn.subVectors(e,A),on.crossVectors(nn,gn);let g,o=this.direction.dot(on);if(o>0){if(i)return null;g=1}else{if(!(o<0))return null;g=-1,o=-o}en.subVectors(this.origin,A);const s=g*this.direction.dot(gn.crossVectors(en,gn));if(s<0)return null;const a=g*this.direction.dot(nn.cross(en));if(a<0)return null;if(s+a>o)return null;const r=-g*en.dot(on);return r<0?null:this.at(r/o,n)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class an{constructor(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c){an.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==A&&this.set(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c)}set(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c){const l=this.elements;return l[0]=A,l[4]=t,l[8]=e,l[12]=i,l[1]=n,l[5]=g,l[9]=o,l[13]=s,l[2]=a,l[6]=r,l[10]=B,l[14]=I,l[3]=Q,l[7]=E,l[11]=C,l[15]=c,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 an).fromArray(this.elements)}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],this}copyPosition(A){const t=this.elements,e=A.elements;return t[12]=e[12],t[13]=e[13],t[14]=e[14],this}setFromMatrix3(A){const t=A.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(A,t,e){return A.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),e.setFromMatrixColumn(this,2),this}makeBasis(A,t,e){return this.set(A.x,t.x,e.x,0,A.y,t.y,e.y,0,A.z,t.z,e.z,0,0,0,0,1),this}extractRotation(A){const t=this.elements,e=A.elements,i=1/rn.setFromMatrixColumn(A,0).length(),n=1/rn.setFromMatrixColumn(A,1).length(),g=1/rn.setFromMatrixColumn(A,2).length();return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=0,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=0,t[8]=e[8]*g,t[9]=e[9]*g,t[10]=e[10]*g,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(A){const t=this.elements,e=A.x,i=A.y,n=A.z,g=Math.cos(e),o=Math.sin(e),s=Math.cos(i),a=Math.sin(i),r=Math.cos(n),B=Math.sin(n);if("XYZ"===A.order){const A=g*r,e=g*B,i=o*r,n=o*B;t[0]=s*r,t[4]=-s*B,t[8]=a,t[1]=e+i*a,t[5]=A-n*a,t[9]=-o*s,t[2]=n-A*a,t[6]=i+e*a,t[10]=g*s}else if("YXZ"===A.order){const A=s*r,e=s*B,i=a*r,n=a*B;t[0]=A+n*o,t[4]=i*o-e,t[8]=g*a,t[1]=g*B,t[5]=g*r,t[9]=-o,t[2]=e*o-i,t[6]=n+A*o,t[10]=g*s}else if("ZXY"===A.order){const A=s*r,e=s*B,i=a*r,n=a*B;t[0]=A-n*o,t[4]=-g*B,t[8]=i+e*o,t[1]=e+i*o,t[5]=g*r,t[9]=n-A*o,t[2]=-g*a,t[6]=o,t[10]=g*s}else if("ZYX"===A.order){const A=g*r,e=g*B,i=o*r,n=o*B;t[0]=s*r,t[4]=i*a-e,t[8]=A*a+n,t[1]=s*B,t[5]=n*a+A,t[9]=e*a-i,t[2]=-a,t[6]=o*s,t[10]=g*s}else if("YZX"===A.order){const A=g*s,e=g*a,i=o*s,n=o*a;t[0]=s*r,t[4]=n-A*B,t[8]=i*B+e,t[1]=B,t[5]=g*r,t[9]=-o*r,t[2]=-a*r,t[6]=e*B+i,t[10]=A-n*B}else if("XZY"===A.order){const A=g*s,e=g*a,i=o*s,n=o*a;t[0]=s*r,t[4]=-B,t[8]=a*r,t[1]=A*B+n,t[5]=g*r,t[9]=e*B-i,t[2]=i*B-e,t[6]=o*r,t[10]=n*B+A}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(A){return this.compose(In,A,Qn)}lookAt(A,t,e){const i=this.elements;return cn.subVectors(A,t),0===cn.lengthSq()&&(cn.z=1),cn.normalize(),En.crossVectors(e,cn),0===En.lengthSq()&&(1===Math.abs(e.z)?cn.x+=1e-4:cn.z+=1e-4,cn.normalize(),En.crossVectors(e,cn)),En.normalize(),Cn.crossVectors(cn,En),i[0]=En.x,i[4]=Cn.x,i[8]=cn.x,i[1]=En.y,i[5]=Cn.y,i[9]=cn.y,i[2]=En.z,i[6]=Cn.z,i[10]=cn.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,i=t.elements,n=this.elements,g=e[0],o=e[4],s=e[8],a=e[12],r=e[1],B=e[5],I=e[9],Q=e[13],E=e[2],C=e[6],c=e[10],l=e[14],h=e[3],d=e[7],u=e[11],p=e[15],f=i[0],m=i[4],w=i[8],D=i[12],y=i[1],R=i[5],F=i[9],M=i[13],G=i[2],S=i[6],U=i[10],b=i[14],x=i[3],N=i[7],H=i[11],L=i[15];return n[0]=g*f+o*y+s*G+a*x,n[4]=g*m+o*R+s*S+a*N,n[8]=g*w+o*F+s*U+a*H,n[12]=g*D+o*M+s*b+a*L,n[1]=r*f+B*y+I*G+Q*x,n[5]=r*m+B*R+I*S+Q*N,n[9]=r*w+B*F+I*U+Q*H,n[13]=r*D+B*M+I*b+Q*L,n[2]=E*f+C*y+c*G+l*x,n[6]=E*m+C*R+c*S+l*N,n[10]=E*w+C*F+c*U+l*H,n[14]=E*D+C*M+c*b+l*L,n[3]=h*f+d*y+u*G+p*x,n[7]=h*m+d*R+u*S+p*N,n[11]=h*w+d*F+u*U+p*H,n[15]=h*D+d*M+u*b+p*L,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[4]*=A,t[8]*=A,t[12]*=A,t[1]*=A,t[5]*=A,t[9]*=A,t[13]*=A,t[2]*=A,t[6]*=A,t[10]*=A,t[14]*=A,t[3]*=A,t[7]*=A,t[11]*=A,t[15]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[4],i=A[8],n=A[12],g=A[1],o=A[5],s=A[9],a=A[13],r=A[2],B=A[6],I=A[10],Q=A[14];return A[3]*(+n*s*B-i*a*B-n*o*I+e*a*I+i*o*Q-e*s*Q)+A[7]*(+t*s*Q-t*a*I+n*g*I-i*g*Q+i*a*r-n*s*r)+A[11]*(+t*a*B-t*o*Q-n*g*B+e*g*Q+n*o*r-e*a*r)+A[15]*(-i*o*r-t*s*B+t*o*I+i*g*B-e*g*I+e*s*r)}transpose(){const A=this.elements;let t;return t=A[1],A[1]=A[4],A[4]=t,t=A[2],A[2]=A[8],A[8]=t,t=A[6],A[6]=A[9],A[9]=t,t=A[3],A[3]=A[12],A[12]=t,t=A[7],A[7]=A[13],A[13]=t,t=A[11],A[11]=A[14],A[14]=t,this}setPosition(A,t,e){const i=this.elements;return A.isVector3?(i[12]=A.x,i[13]=A.y,i[14]=A.z):(i[12]=A,i[13]=t,i[14]=e),this}invert(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8],B=A[9],I=A[10],Q=A[11],E=A[12],C=A[13],c=A[14],l=A[15],h=B*c*a-C*I*a+C*s*Q-o*c*Q-B*s*l+o*I*l,d=E*I*a-r*c*a-E*s*Q+g*c*Q+r*s*l-g*I*l,u=r*C*a-E*B*a+E*o*Q-g*C*Q-r*o*l+g*B*l,p=E*B*s-r*C*s-E*o*I+g*C*I+r*o*c-g*B*c,f=t*h+e*d+i*u+n*p;if(0===f)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const m=1/f;return A[0]=h*m,A[1]=(C*I*n-B*c*n-C*i*Q+e*c*Q+B*i*l-e*I*l)*m,A[2]=(o*c*n-C*s*n+C*i*a-e*c*a-o*i*l+e*s*l)*m,A[3]=(B*s*n-o*I*n-B*i*a+e*I*a+o*i*Q-e*s*Q)*m,A[4]=d*m,A[5]=(r*c*n-E*I*n+E*i*Q-t*c*Q-r*i*l+t*I*l)*m,A[6]=(E*s*n-g*c*n-E*i*a+t*c*a+g*i*l-t*s*l)*m,A[7]=(g*I*n-r*s*n+r*i*a-t*I*a-g*i*Q+t*s*Q)*m,A[8]=u*m,A[9]=(E*B*n-r*C*n-E*e*Q+t*C*Q+r*e*l-t*B*l)*m,A[10]=(g*C*n-E*o*n+E*e*a-t*C*a-g*e*l+t*o*l)*m,A[11]=(r*o*n-g*B*n-r*e*a+t*B*a+g*e*Q-t*o*Q)*m,A[12]=p*m,A[13]=(r*C*i-E*B*i+E*e*I-t*C*I-r*e*c+t*B*c)*m,A[14]=(E*o*i-g*C*i-E*e*s+t*C*s+g*e*c-t*o*c)*m,A[15]=(g*B*i-r*o*i+r*e*s-t*B*s-g*e*I+t*o*I)*m,this}scale(A){const t=this.elements,e=A.x,i=A.y,n=A.z;return t[0]*=e,t[4]*=i,t[8]*=n,t[1]*=e,t[5]*=i,t[9]*=n,t[2]*=e,t[6]*=i,t[10]*=n,t[3]*=e,t[7]*=i,t[11]*=n,this}getMaxScaleOnAxis(){const A=this.elements,t=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],e=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],i=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(t,e,i))}makeTranslation(A,t,e){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,t,0,0,1,e,0,0,0,1),this}makeRotationX(A){const t=Math.cos(A),e=Math.sin(A);return this.set(1,0,0,0,0,t,-e,0,0,e,t,0,0,0,0,1),this}makeRotationY(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,0,e,0,0,1,0,0,-e,0,t,0,0,0,0,1),this}makeRotationZ(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,0,e,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,t){const e=Math.cos(t),i=Math.sin(t),n=1-e,g=A.x,o=A.y,s=A.z,a=n*g,r=n*o;return this.set(a*g+e,a*o-i*s,a*s+i*o,0,a*o+i*s,r*o+e,r*s-i*g,0,a*s-i*o,r*s+i*g,n*s*s+e,0,0,0,0,1),this}makeScale(A,t,e){return this.set(A,0,0,0,0,t,0,0,0,0,e,0,0,0,0,1),this}makeShear(A,t,e,i,n,g){return this.set(1,e,n,0,A,1,g,0,t,i,1,0,0,0,0,1),this}compose(A,t,e){const i=this.elements,n=t._x,g=t._y,o=t._z,s=t._w,a=n+n,r=g+g,B=o+o,I=n*a,Q=n*r,E=n*B,C=g*r,c=g*B,l=o*B,h=s*a,d=s*r,u=s*B,p=e.x,f=e.y,m=e.z;return i[0]=(1-(C+l))*p,i[1]=(Q+u)*p,i[2]=(E-d)*p,i[3]=0,i[4]=(Q-u)*f,i[5]=(1-(I+l))*f,i[6]=(c+h)*f,i[7]=0,i[8]=(E+d)*m,i[9]=(c-h)*m,i[10]=(1-(I+C))*m,i[11]=0,i[12]=A.x,i[13]=A.y,i[14]=A.z,i[15]=1,this}decompose(A,t,e){const i=this.elements;let n=rn.set(i[0],i[1],i[2]).length();const g=rn.set(i[4],i[5],i[6]).length(),o=rn.set(i[8],i[9],i[10]).length();this.determinant()<0&&(n=-n),A.x=i[12],A.y=i[13],A.z=i[14],Bn.copy(this);const s=1/n,a=1/g,r=1/o;return Bn.elements[0]*=s,Bn.elements[1]*=s,Bn.elements[2]*=s,Bn.elements[4]*=a,Bn.elements[5]*=a,Bn.elements[6]*=a,Bn.elements[8]*=r,Bn.elements[9]*=r,Bn.elements[10]*=r,t.setFromRotationMatrix(Bn),e.x=n,e.y=g,e.z=o,this}makePerspective(A,t,e,i,n,g,o=Ye){const s=this.elements,a=2*n/(t-A),r=2*n/(e-i),B=(t+A)/(t-A),I=(e+i)/(e-i);let Q,E;if(o===Ye)Q=-(g+n)/(g-n),E=-2*g*n/(g-n);else{if(o!==Te)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);Q=-g/(g-n),E=-g*n/(g-n)}return s[0]=a,s[4]=0,s[8]=B,s[12]=0,s[1]=0,s[5]=r,s[9]=I,s[13]=0,s[2]=0,s[6]=0,s[10]=Q,s[14]=E,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(A,t,e,i,n,g,o=Ye){const s=this.elements,a=1/(t-A),r=1/(e-i),B=1/(g-n),I=(t+A)*a,Q=(e+i)*r;let E,C;if(o===Ye)E=(g+n)*B,C=-2*B;else{if(o!==Te)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);E=n*B,C=-1*B}return s[0]=2*a,s[4]=0,s[8]=0,s[12]=-I,s[1]=0,s[5]=2*r,s[9]=0,s[13]=-Q,s[2]=0,s[6]=0,s[10]=C,s[14]=-E,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<16;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<16;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A[t+9]=e[9],A[t+10]=e[10],A[t+11]=e[11],A[t+12]=e[12],A[t+13]=e[13],A[t+14]=e[14],A[t+15]=e[15],A}}const rn=new Ui,Bn=new an,In=new Ui(0,0,0),Qn=new Ui(1,1,1),En=new Ui,Cn=new Ui,cn=new Ui,ln=new an,hn=new Si;class dn{constructor(A=0,t=0,e=0,i=dn.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=t,this._z=e,this._order=i}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,t,e,i=this._order){return this._x=A,this._y=t,this._z=e,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,t=this._order,e=!0){const i=A.elements,n=i[0],g=i[4],o=i[8],s=i[1],a=i[5],r=i[9],B=i[2],I=i[6],Q=i[10];switch(t){case"XYZ":this._y=Math.asin(Xe(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-r,Q),this._z=Math.atan2(-g,n)):(this._x=Math.atan2(I,a),this._z=0);break;case"YXZ":this._x=Math.asin(-Xe(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(o,Q),this._z=Math.atan2(s,a)):(this._y=Math.atan2(-B,n),this._z=0);break;case"ZXY":this._x=Math.asin(Xe(I,-1,1)),Math.abs(I)<.9999999?(this._y=Math.atan2(-B,Q),this._z=Math.atan2(-g,a)):(this._y=0,this._z=Math.atan2(s,n));break;case"ZYX":this._y=Math.asin(-Xe(B,-1,1)),Math.abs(B)<.9999999?(this._x=Math.atan2(I,Q),this._z=Math.atan2(s,n)):(this._x=0,this._z=Math.atan2(-g,a));break;case"YZX":this._z=Math.asin(Xe(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-r,a),this._y=Math.atan2(-B,n)):(this._x=0,this._y=Math.atan2(o,Q));break;case"XZY":this._z=Math.asin(-Xe(g,-1,1)),Math.abs(g)<.9999999?(this._x=Math.atan2(I,a),this._y=Math.atan2(o,n)):(this._x=Math.atan2(-r,Q),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===e&&this._onChangeCallback(),this}setFromQuaternion(A,t,e){return ln.makeRotationFromQuaternion(A),this.setFromRotationMatrix(ln,t,e)}setFromVector3(A,t=this._order){return this.set(A.x,A.y,A.z,t)}reorder(A){return hn.setFromEuler(this),this.setFromQuaternion(hn,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}dn.DEFAULT_ORDER="XYZ";class un{constructor(){this.mask=1}set(A){this.mask=1<>>0}enable(A){this.mask|=1<1){for(let A=0;A1){for(let A=0;A0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map((A=>({boxInitialized:A.boxInitialized,boxMin:A.box.min.toArray(),boxMax:A.box.max.toArray(),sphereInitialized:A.sphereInitialized,sphereRadius:A.sphere.radius,sphereCenter:A.sphere.center.toArray()}))),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(A),null!==this.boundingSphere&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),null!==this.boundingBox&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=n(A.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const e=t.shapes;if(Array.isArray(e))for(let t=0,i=e.length;t0){i.children=[];for(let t=0;t0){i.animations=[];for(let t=0;t0&&(e.geometries=t),i.length>0&&(e.materials=i),n.length>0&&(e.textures=n),o.length>0&&(e.images=o),s.length>0&&(e.shapes=s),a.length>0&&(e.skeletons=a),r.length>0&&(e.animations=r),B.length>0&&(e.nodes=B)}return e.object=i,e;function g(A){const t=[];for(const e in A){const i=A[e];delete i.metadata,t.push(i)}return t}}clone(A){return(new this.constructor).copy(this,A)}copy(A,t=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations.slice(),this.userData=JSON.parse(JSON.stringify(A.userData)),!0===t)for(let t=0;t0?i.multiplyScalar(1/Math.sqrt(n)):i.set(0,0,0)}static getBarycoord(A,t,e,i,n){Ln.subVectors(i,t),kn.subVectors(e,t),vn.subVectors(A,t);const g=Ln.dot(Ln),o=Ln.dot(kn),s=Ln.dot(vn),a=kn.dot(kn),r=kn.dot(vn),B=g*a-o*o;if(0===B)return n.set(0,0,0),null;const I=1/B,Q=(a*s-o*r)*I,E=(g*r-o*s)*I;return n.set(1-Q-E,E,Q)}static containsPoint(A,t,e,i){return null!==this.getBarycoord(A,t,e,i,Yn)&&Yn.x>=0&&Yn.y>=0&&Yn.x+Yn.y<=1}static getInterpolation(A,t,e,i,n,g,o,s){return null===this.getBarycoord(A,t,e,i,Yn)?(s.x=0,s.y=0,"z"in s&&(s.z=0),"w"in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(n,Yn.x),s.addScaledVector(g,Yn.y),s.addScaledVector(o,Yn.z),s)}static isFrontFacing(A,t,e,i){return Ln.subVectors(e,t),kn.subVectors(A,t),Ln.cross(kn).dot(i)<0}set(A,t,e){return this.a.copy(A),this.b.copy(t),this.c.copy(e),this}setFromPointsAndIndices(A,t,e,i){return this.a.copy(A[t]),this.b.copy(A[e]),this.c.copy(A[i]),this}setFromAttributeAndIndices(A,t,e,i){return this.a.fromBufferAttribute(A,t),this.b.fromBufferAttribute(A,e),this.c.fromBufferAttribute(A,i),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return Ln.subVectors(this.c,this.b),kn.subVectors(this.a,this.b),.5*Ln.cross(kn).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return Zn.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,t){return Zn.getBarycoord(A,this.a,this.b,this.c,t)}getInterpolation(A,t,e,i,n){return Zn.getInterpolation(A,this.a,this.b,this.c,t,e,i,n)}containsPoint(A){return Zn.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return Zn.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,t){const e=this.a,i=this.b,n=this.c;let g,o;Tn.subVectors(i,e),Jn.subVectors(n,e),Vn.subVectors(A,e);const s=Tn.dot(Vn),a=Jn.dot(Vn);if(s<=0&&a<=0)return t.copy(e);Wn.subVectors(A,i);const r=Tn.dot(Wn),B=Jn.dot(Wn);if(r>=0&&B<=r)return t.copy(i);const I=s*B-r*a;if(I<=0&&s>=0&&r<=0)return g=s/(s-r),t.copy(e).addScaledVector(Tn,g);Kn.subVectors(A,n);const Q=Tn.dot(Kn),E=Jn.dot(Kn);if(E>=0&&Q<=E)return t.copy(n);const C=Q*a-s*E;if(C<=0&&a>=0&&E<=0)return o=a/(a-E),t.copy(e).addScaledVector(Jn,o);const c=r*E-Q*B;if(c<=0&&B-r>=0&&Q-E>=0)return _n.subVectors(n,i),o=(B-r)/(B-r+(Q-E)),t.copy(i).addScaledVector(_n,o);const l=1/(c+C+I);return g=C*l,o=I*l,t.copy(e).addScaledVector(Tn,g).addScaledVector(Jn,o)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const Xn={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},Pn={h:0,s:0,l:0},On={h:0,s:0,l:0};function zn(A,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?A+6*(t-A)*e:e<.5?t:e<2/3?A+6*(t-A)*(2/3-e):A}class qn{constructor(A,t,e){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,t,e)}set(A,t,e){if(void 0===t&&void 0===e){const t=A;t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t)}else this.setRGB(A,t,e);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,t=zt){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,Ei.toWorkingColorSpace(this,t),this}setRGB(A,t,e,i=Ei.workingColorSpace){return this.r=A,this.g=t,this.b=e,Ei.toWorkingColorSpace(this,i),this}setHSL(A,t,e,i=Ei.workingColorSpace){if(A=Pe(A,1),t=Xe(t,0,1),e=Xe(e,0,1),0===t)this.r=this.g=this.b=e;else{const i=e<=.5?e*(1+t):e+t-e*t,n=2*e-i;this.r=zn(n,i,A+1/3),this.g=zn(n,i,A),this.b=zn(n,i,A-1/3)}return Ei.toWorkingColorSpace(this,i),this}setStyle(A,t=zt){function e(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(A)){let n;const g=i[1],o=i[2];switch(g){case"rgb":case"rgba":if(n=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setRGB(Math.min(255,parseInt(n[1],10))/255,Math.min(255,parseInt(n[2],10))/255,Math.min(255,parseInt(n[3],10))/255,t);if(n=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setRGB(Math.min(100,parseInt(n[1],10))/100,Math.min(100,parseInt(n[2],10))/100,Math.min(100,parseInt(n[3],10))/100,t);break;case"hsl":case"hsla":if(n=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setHSL(parseFloat(n[1])/360,parseFloat(n[2])/100,parseFloat(n[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(A)){const e=i[1],n=e.length;if(3===n)return this.setRGB(parseInt(e.charAt(0),16)/15,parseInt(e.charAt(1),16)/15,parseInt(e.charAt(2),16)/15,t);if(6===n)return this.setHex(parseInt(e,16),t);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,t);return this}setColorName(A,t=zt){const e=Xn[A.toLowerCase()];return void 0!==e?this.setHex(e,t):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=Ci(A.r),this.g=Ci(A.g),this.b=Ci(A.b),this}copyLinearToSRGB(A){return this.r=ci(A.r),this.g=ci(A.g),this.b=ci(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=zt){return Ei.fromWorkingColorSpace(jn.copy(this),A),65536*Math.round(Xe(255*jn.r,0,255))+256*Math.round(Xe(255*jn.g,0,255))+Math.round(Xe(255*jn.b,0,255))}getHexString(A=zt){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,t=Ei.workingColorSpace){Ei.fromWorkingColorSpace(jn.copy(this),t);const e=jn.r,i=jn.g,n=jn.b,g=Math.max(e,i,n),o=Math.min(e,i,n);let s,a;const r=(o+g)/2;if(o===g)s=0,a=0;else{const A=g-o;switch(a=r<=.5?A/(g+o):A/(2-g-o),g){case e:s=(i-n)/A+(i0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const t in A){const e=A[t];if(void 0===e){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];void 0!==i?i&&i.isColor?i.set(e):i&&i.isVector3&&e&&e.isVector3?i.copy(e):this[t]=e:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(A){const t=void 0===A||"string"==typeof A;t&&(A={textures:{},images:{}});const e={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function i(A){const t=[];for(const e in A){const i=A[e];delete i.metadata,t.push(i)}return t}if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),this.color&&this.color.isColor&&(e.color=this.color.getHex()),void 0!==this.roughness&&(e.roughness=this.roughness),void 0!==this.metalness&&(e.metalness=this.metalness),void 0!==this.sheen&&(e.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(e.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(e.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(e.emissive=this.emissive.getHex()),void 0!==this.emissiveIntensity&&1!==this.emissiveIntensity&&(e.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(e.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(e.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(e.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(e.shininess=this.shininess),void 0!==this.clearcoat&&(e.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(e.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(e.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(e.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(e.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,e.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(e.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(e.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(e.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(e.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(e.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),void 0!==this.anisotropy&&(e.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(e.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(e.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(e.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(e.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(e.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(e.lightMap=this.lightMap.toJSON(A).uuid,e.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(e.aoMap=this.aoMap.toJSON(A).uuid,e.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(e.bumpMap=this.bumpMap.toJSON(A).uuid,e.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(e.normalMap=this.normalMap.toJSON(A).uuid,e.normalMapType=this.normalMapType,e.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(e.displacementMap=this.displacementMap.toJSON(A).uuid,e.displacementScale=this.displacementScale,e.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(e.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(e.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(e.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(e.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(e.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(e.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(e.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(e.combine=this.combine)),void 0!==this.envMapRotation&&(e.envMapRotation=this.envMapRotation.toArray()),void 0!==this.envMapIntensity&&(e.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(e.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(e.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(e.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(e.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(e.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(e.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(e.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(e.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(e.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(e.size=this.size),null!==this.shadowSide&&(e.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(e.sizeAttenuation=this.sizeAttenuation),this.blending!==d&&(e.blending=this.blending),this.side!==C&&(e.side=this.side),!0===this.vertexColors&&(e.vertexColors=!0),this.opacity<1&&(e.opacity=this.opacity),!0===this.transparent&&(e.transparent=!0),this.blendSrc!==b&&(e.blendSrc=this.blendSrc),this.blendDst!==x&&(e.blendDst=this.blendDst),this.blendEquation!==w&&(e.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(e.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(e.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(e.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(e.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(e.blendAlpha=this.blendAlpha),this.depthFunc!==Z&&(e.depthFunc=this.depthFunc),!1===this.depthTest&&(e.depthTest=this.depthTest),!1===this.depthWrite&&(e.depthWrite=this.depthWrite),!1===this.colorWrite&&(e.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(e.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==ue&&(e.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(e.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(e.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==ge&&(e.stencilFail=this.stencilFail),this.stencilZFail!==ge&&(e.stencilZFail=this.stencilZFail),this.stencilZPass!==ge&&(e.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(e.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(e.rotation=this.rotation),!0===this.polygonOffset&&(e.polygonOffset=!0),0!==this.polygonOffsetFactor&&(e.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(e.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(e.linewidth=this.linewidth),void 0!==this.dashSize&&(e.dashSize=this.dashSize),void 0!==this.gapSize&&(e.gapSize=this.gapSize),void 0!==this.scale&&(e.scale=this.scale),!0===this.dithering&&(e.dithering=!0),this.alphaTest>0&&(e.alphaTest=this.alphaTest),!0===this.alphaHash&&(e.alphaHash=!0),!0===this.alphaToCoverage&&(e.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(e.premultipliedAlpha=!0),!0===this.forceSinglePass&&(e.forceSinglePass=!0),!0===this.wireframe&&(e.wireframe=!0),this.wireframeLinewidth>1&&(e.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(e.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(e.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(e.flatShading=!0),!1===this.visible&&(e.visible=!1),!1===this.toneMapped&&(e.toneMapped=!1),!1===this.fog&&(e.fog=!1),Object.keys(this.userData).length>0&&(e.userData=this.userData),t){const t=i(A.textures),n=i(A.images);t.length>0&&(e.textures=t),n.length>0&&(e.images=n)}return e}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.blendColor.copy(A.blendColor),this.blendAlpha=A.blendAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const t=A.clippingPlanes;let e=null;if(null!==t){const A=t.length;e=new Array(A);for(let i=0;i!==A;++i)e[i]=t[i].clone()}return this.clippingPlanes=e,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaHash=A.alphaHash,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}class tg extends Ag{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new qn(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.envMapRotation=new dn,this.combine=q,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const eg=ig();function ig(){const A=new ArrayBuffer(4),t=new Float32Array(A),e=new Uint32Array(A),i=new Uint32Array(512),n=new Uint32Array(512);for(let A=0;A<256;++A){const t=A-127;t<-27?(i[A]=0,i[256|A]=32768,n[A]=24,n[256|A]=24):t<-14?(i[A]=1024>>-t-14,i[256|A]=1024>>-t-14|32768,n[A]=-t-1,n[256|A]=-t-1):t<=15?(i[A]=t+15<<10,i[256|A]=t+15<<10|32768,n[A]=13,n[256|A]=13):t<128?(i[A]=31744,i[256|A]=64512,n[A]=24,n[256|A]=24):(i[A]=31744,i[256|A]=64512,n[A]=13,n[256|A]=13)}const g=new Uint32Array(2048),o=new Uint32Array(64),s=new Uint32Array(64);for(let A=1;A<1024;++A){let t=A<<13,e=0;for(;!(8388608&t);)t<<=1,e-=8388608;t&=-8388609,e+=947912704,g[A]=t|e}for(let A=1024;A<2048;++A)g[A]=939524096+(A-1024<<13);for(let A=1;A<31;++A)o[A]=A<<23;o[31]=1199570944,o[32]=2147483648;for(let A=33;A<63;++A)o[A]=2147483648+(A-32<<23);o[63]=3347054592;for(let A=1;A<64;++A)32!==A&&(s[A]=1024);return{floatView:t,uint32View:e,baseTable:i,shiftTable:n,mantissaTable:g,exponentTable:o,offsetTable:s}}function ng(A){Math.abs(A)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),A=Xe(A,-65504,65504),eg.floatView[0]=A;const t=eg.uint32View[0],e=t>>23&511;return eg.baseTable[e]+((8388607&t)>>eg.shiftTable[e])}function gg(A){const t=A>>10;return eg.uint32View[0]=eg.mantissaTable[eg.offsetTable[t]+(1023&A)]+eg.exponentTable[t],eg.floatView[0]}const og={toHalfFloat:ng,fromHalfFloat:gg},sg=new Ui,ag=new $e;class rg{constructor(A,t,e=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=t,this.count=void 0!==A?A.length/t:0,this.normalized=e,this.usage=Me,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=HA,this.version=0}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}get updateRange(){return ai("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,t){this.updateRanges.push({start:A,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,t,e){A*=this.itemSize,e*=t.itemSize;for(let i=0,n=this.itemSize;i0&&(A.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const e in t)void 0!==t[e]&&(A[e]=t[e]);return A}A.data={attributes:{}};const t=this.index;null!==t&&(A.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const e=this.attributes;for(const t in e){const i=e[t];A.data.attributes[t]=i.toJSON(A.data)}const i={};let n=!1;for(const t in this.morphAttributes){const e=this.morphAttributes[t],g=[];for(let t=0,i=e.length;t0&&(i[t]=g,n=!0)}n&&(A.data.morphAttributes=i,A.data.morphTargetsRelative=this.morphTargetsRelative);const g=this.groups;g.length>0&&(A.data.groups=JSON.parse(JSON.stringify(g)));const o=this.boundingSphere;return null!==o&&(A.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=A.name;const e=A.index;null!==e&&this.setIndex(e.clone(t));const i=A.attributes;for(const A in i){const e=i[A];this.setAttribute(A,e.clone(t))}const n=A.morphAttributes;for(const A in n){const e=[],i=n[A];for(let A=0,n=i.length;A0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;A(A.far-A.near)**2)return}Fg.copy(n).invert(),Mg.copy(A.ray).applyMatrix4(Fg),null!==e.boundingBox&&!1===Mg.intersectsBox(e.boundingBox)||this._computeIntersections(A,t,Mg)}}_computeIntersections(A,t,e){let i;const n=this.geometry,g=this.material,o=n.index,s=n.attributes.position,a=n.attributes.uv,r=n.attributes.uv1,B=n.attributes.normal,I=n.groups,Q=n.drawRange;if(null!==o)if(Array.isArray(g))for(let n=0,s=I.length;ne.far?null:{distance:r,point:Vg.clone(),object:A}}(A,t,e,i,Ug,bg,xg,_g);if(B){n&&(Lg.fromBufferAttribute(n,s),kg.fromBufferAttribute(n,a),vg.fromBufferAttribute(n,r),B.uv=Zn.getInterpolation(_g,Ug,bg,xg,Lg,kg,vg,new $e)),g&&(Lg.fromBufferAttribute(g,s),kg.fromBufferAttribute(g,a),vg.fromBufferAttribute(g,r),B.uv1=Zn.getInterpolation(_g,Ug,bg,xg,Lg,kg,vg,new $e)),o&&(Yg.fromBufferAttribute(o,s),Tg.fromBufferAttribute(o,a),Jg.fromBufferAttribute(o,r),B.normal=Zn.getInterpolation(_g,Ug,bg,xg,Yg,Tg,Jg,new Ui),B.normal.dot(i.direction)>0&&B.normal.multiplyScalar(-1));const A={a:s,b:a,c:r,normal:new Ui,materialIndex:0};Zn.getNormal(Ug,bg,xg,A.normal),B.face=A}return B}class Zg extends Rg{constructor(A=1,t=1,e=1,i=1,n=1,g=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:t,depth:e,widthSegments:i,heightSegments:n,depthSegments:g};const o=this;i=Math.floor(i),n=Math.floor(n),g=Math.floor(g);const s=[],a=[],r=[],B=[];let I=0,Q=0;function E(A,t,e,i,n,g,E,C,c,l,h){const d=g/c,u=E/l,p=g/2,f=E/2,m=C/2,w=c+1,D=l+1;let y=0,R=0;const F=new Ui;for(let g=0;g0?1:-1,r.push(F.x,F.y,F.z),B.push(s/c),B.push(1-g/l),y+=1}}for(let A=0;A0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const e={};for(const A in this.extensions)!0===this.extensions[A]&&(e[A]=!0);return Object.keys(e).length>0&&(t.extensions=e),t}}class jg extends Hn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new an,this.projectionMatrix=new an,this.projectionMatrixInverse=new an,this.coordinateSystem=Ye}copy(A,t){return super.copy(A,t),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){return super.getWorldDirection(A).negate()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,t){super.updateWorldMatrix(A,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}const $g=new Ui,Ao=new $e,to=new $e;class eo extends jg{constructor(A=50,t=1,e=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=e,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const t=.5*this.getFilmHeight()/A;this.fov=2*Ke*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*We*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*Ke*Math.atan(Math.tan(.5*We*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(A,t,e){$g.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set($g.x,$g.y).multiplyScalar(-A/$g.z),$g.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),e.set($g.x,$g.y).multiplyScalar(-A/$g.z)}getViewSize(A,t){return this.getViewBounds(A,Ao,to),t.subVectors(to,Ao)}setViewOffset(A,t,e,i,n,g){this.aspect=A/t,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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=i,this.view.width=n,this.view.height=g,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let t=A*Math.tan(.5*We*this.fov)/this.zoom,e=2*t,i=this.aspect*e,n=-.5*i;const g=this.view;if(null!==this.view&&this.view.enabled){const A=g.fullWidth,o=g.fullHeight;n+=g.offsetX*i/A,t-=g.offsetY*e/o,i*=g.width/A,e*=g.height/o}const o=this.filmOffset;0!==o&&(n+=A*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(n,n+i,t,t-e,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const io=-90;class no extends Hn{constructor(A,t,e){super(),this.type="CubeCamera",this.renderTarget=e,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new eo(io,1,A,t);i.layers=this.layers,this.add(i);const n=new eo(io,1,A,t);n.layers=this.layers,this.add(n);const g=new eo(io,1,A,t);g.layers=this.layers,this.add(g);const o=new eo(io,1,A,t);o.layers=this.layers,this.add(o);const s=new eo(io,1,A,t);s.layers=this.layers,this.add(s);const a=new eo(io,1,A,t);a.layers=this.layers,this.add(a)}updateCoordinateSystem(){const A=this.coordinateSystem,t=this.children.concat(),[e,i,n,g,o,s]=t;for(const A of t)this.remove(A);if(A===Ye)e.up.set(0,1,0),e.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),n.up.set(0,0,-1),n.lookAt(0,1,0),g.up.set(0,0,1),g.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else{if(A!==Te)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);e.up.set(0,-1,0),e.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),n.up.set(0,0,1),n.lookAt(0,1,0),g.up.set(0,0,-1),g.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1)}for(const A of t)this.add(A),A.updateMatrixWorld()}update(A,t){null===this.parent&&this.updateMatrixWorld();const{renderTarget:e,activeMipmapLevel:i}=this;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[n,g,o,s,a,r]=this.children,B=A.getRenderTarget(),I=A.getActiveCubeFace(),Q=A.getActiveMipmapLevel(),E=A.xr.enabled;A.xr.enabled=!1;const C=e.texture.generateMipmaps;e.texture.generateMipmaps=!1,A.setRenderTarget(e,0,i),A.render(t,n),A.setRenderTarget(e,1,i),A.render(t,g),A.setRenderTarget(e,2,i),A.render(t,o),A.setRenderTarget(e,3,i),A.render(t,s),A.setRenderTarget(e,4,i),A.render(t,a),e.texture.generateMipmaps=C,A.setRenderTarget(e,5,i),A.render(t,r),A.setRenderTarget(B,I,Q),A.xr.enabled=E,e.texture.needsPMREMUpdate=!0}}class go extends mi{constructor(A,t,e,i,n,g,o,s,a,r){super(A=void 0!==A?A:[],t=void 0!==t?t:IA,e,i,n,g,o,s,a,r),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class oo extends yi{constructor(A=1,t={}){super(A,A,t),this.isWebGLCubeRenderTarget=!0;const e={width:A,height:A,depth:1},i=[e,e,e,e,e,e];this.texture=new go(i,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:DA}fromEquirectangularTexture(A,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const e={tEquirect:{value:null}},i="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",n="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",g=new Zg(5,5,5),o=new qg({name:"CubemapFromEquirect",uniforms:Xg(e),vertexShader:i,fragmentShader:n,side:c,blending:h});o.uniforms.tEquirect.value=t;const s=new Wg(g,o),a=t.minFilter;return t.minFilter===FA&&(t.minFilter=DA),new no(1,10,this).update(A,s),t.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(A,t,e,i){const n=A.getRenderTarget();for(let n=0;n<6;n++)A.setRenderTarget(this,n),A.clear(t,e,i);A.setRenderTarget(n)}}const so=new Ui,ao=new Ui,ro=new Ai;class Bo{constructor(A=new Ui(1,0,0),t=0){this.isPlane=!0,this.normal=A,this.constant=t}set(A,t){return this.normal.copy(A),this.constant=t,this}setComponents(A,t,e,i){return this.normal.set(A,t,e),this.constant=i,this}setFromNormalAndCoplanarPoint(A,t){return this.normal.copy(A),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(A,t,e){const i=so.subVectors(e,t).cross(ao.subVectors(A,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,t){return t.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,t){const e=A.delta(so),i=this.normal.dot(e);if(0===i)return 0===this.distanceToPoint(A.start)?t.copy(A.start):null;const n=-(A.start.dot(this.normal)+this.constant)/i;return n<0||n>1?null:t.copy(A.start).addScaledVector(e,n)}intersectsLine(A){const t=this.distanceToPoint(A.start),e=this.distanceToPoint(A.end);return t<0&&e>0||e<0&&t>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,t){const e=t||ro.getNormalMatrix(A),i=this.coplanarPoint(so).applyMatrix4(A),n=this.normal.applyMatrix3(e).normalize();return this.constant=-i.dot(n),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Io=new ji,Qo=new Ui;class Eo{constructor(A=new Bo,t=new Bo,e=new Bo,i=new Bo,n=new Bo,g=new Bo){this.planes=[A,t,e,i,n,g]}set(A,t,e,i,n,g){const o=this.planes;return o[0].copy(A),o[1].copy(t),o[2].copy(e),o[3].copy(i),o[4].copy(n),o[5].copy(g),this}copy(A){const t=this.planes;for(let e=0;e<6;e++)t[e].copy(A.planes[e]);return this}setFromProjectionMatrix(A,t=Ye){const e=this.planes,i=A.elements,n=i[0],g=i[1],o=i[2],s=i[3],a=i[4],r=i[5],B=i[6],I=i[7],Q=i[8],E=i[9],C=i[10],c=i[11],l=i[12],h=i[13],d=i[14],u=i[15];if(e[0].setComponents(s-n,I-a,c-Q,u-l).normalize(),e[1].setComponents(s+n,I+a,c+Q,u+l).normalize(),e[2].setComponents(s+g,I+r,c+E,u+h).normalize(),e[3].setComponents(s-g,I-r,c-E,u-h).normalize(),e[4].setComponents(s-o,I-B,c-C,u-d).normalize(),t===Ye)e[5].setComponents(s+o,I+B,c+C,u+d).normalize();else{if(t!==Te)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);e[5].setComponents(o,B,C,d).normalize()}return this}intersectsObject(A){if(void 0!==A.boundingSphere)null===A.boundingSphere&&A.computeBoundingSphere(),Io.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const t=A.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),Io.copy(t.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Io)}intersectsSprite(A){return Io.center.set(0,0,0),Io.radius=.7071067811865476,Io.applyMatrix4(A.matrixWorld),this.intersectsSphere(Io)}intersectsSphere(A){const t=this.planes,e=A.center,i=-A.radius;for(let A=0;A<6;A++)if(t[A].distanceToPoint(e)0?A.max.x:A.min.x,Qo.y=i.normal.y>0?A.max.y:A.min.y,Qo.z=i.normal.z>0?A.max.z:A.min.z,i.distanceToPoint(Qo)<0)return!1}return!0}containsPoint(A){const t=this.planes;for(let e=0;e<6;e++)if(t[e].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Co(){let A=null,t=!1,e=null,i=null;function n(t,g){e(t,g),i=A.requestAnimationFrame(n)}return{start:function(){!0!==t&&null!==e&&(i=A.requestAnimationFrame(n),t=!0)},stop:function(){A.cancelAnimationFrame(i),t=!1},setAnimationLoop:function(A){e=A},setContext:function(t){A=t}}}function co(A){const t=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),t.get(A)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const i=t.get(e);i&&(A.deleteBuffer(i.buffer),t.delete(e))},update:function(e,i){if(e.isGLBufferAttribute){const A=t.get(e);return void((!A||A.version 0\n\tvec4 plane;\n\t#ifdef ALPHA_TO_COVERAGE\n\t\tfloat distanceToPlane, distanceGradient;\n\t\tfloat clipOpacity = 1.0;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\tif ( clipOpacity == 0.0 ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tfloat unionClipOpacity = 1.0;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\n\t\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\n\t\t\t\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tclipOpacity *= 1.0 - unionClipOpacity;\n\t\t#endif\n\t\tdiffuseColor.a *= clipOpacity;\n\t\tif ( diffuseColor.a == 0.0 ) discard;\n\t#else\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\t\tbool clipped = true;\n\t\t\t#pragma unroll_loop_start\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\t\tplane = clippingPlanes[ i ];\n\t\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t\t}\n\t\t\t#pragma unroll_loop_end\n\t\t\tif ( clipped ) discard;\n\t\t#endif\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 v ) { return dot( v, vec3( 0.3333333 ) ); }\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};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\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 luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, 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}\nvec3 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} // validated",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\thighp vec2 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 cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_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 ), cubeUV_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_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 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, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\n\tvec3( 0.8224621, 0.177538, 0.0 ),\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\n);\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\n);\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\n}\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\n}\nvec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferOETF( 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}\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn sRGBTransferOETF( value );\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, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\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\tuniform mat3 envMapRotation;\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 ) || defined( LAMBERT )\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 ) || defined( LAMBERT )\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:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * 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#ifdef 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, envMapRotation * 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\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\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\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\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_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\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 ( LEGACY_LIGHTS )\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#else\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#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, 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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\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\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\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( ( material.ior - 1.0 ) / ( material.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, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).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, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).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_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\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\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( 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}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.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\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\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}\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\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\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( 0, 1, 0 ),\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, 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( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, 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:"\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\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, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\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, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\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 ], geometryNormal );\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, vLightMapUv );\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( geometryNormal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF )\n\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\tvFragDepth = 1.0 + gl_Position.w;\n\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\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\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\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\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_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\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, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphinstance_vertex:"#ifdef USE_INSTANCING_MORPH\n\tfloat morphTargetInfluences[MORPHTARGETS_COUNT];\n\tfloat morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\tmorphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\n\t}\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\t#ifndef USE_INSTANCING_MORPH\n\t\tuniform float morphTargetBaseInfluence;\n\t#endif\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\t#ifndef USE_INSTANCING_MORPH\n\t\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\t#endif\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 = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).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( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\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 USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.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 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\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",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\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}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\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 depth, const in float near, const in float far ) {\n\treturn depth * ( 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 depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - 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_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\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, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#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\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\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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\tfloat shadow = 1.0;\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\t\n\t\tfloat lightToPositionLength = length( lightToPosition );\n\t\tif ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\n\t\t\tfloat dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\t\tdp += shadowBias;\n\t\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\t\tshadow = (\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t\t) * ( 1.0 / 9.0 );\n\t\t\t#else\n\t\t\t\tshadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#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\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:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\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, vSpotLightCoord[ 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\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\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, vSpecularMapUv );\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 saturate( 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( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.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}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor *= toneMappingExposure;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\tcolor = clamp( color, 0.0, 1.0 );\n\treturn color;\n}\nvec3 NeutralToneMapping( vec3 color ) {\n\tfloat startCompression = 0.8 - 0.04;\n\tfloat desaturation = 0.15;\n\tcolor *= toneMappingExposure;\n\tfloat x = min(color.r, min(color.g, color.b));\n\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\n\tcolor -= offset;\n\tfloat peak = max(color.r, max(color.g, color.b));\n\tif (peak < startCompression) return color;\n\tfloat d = 1. - startCompression;\n\tfloat newPeak = 1. - d * d / (peak + d - startCompression);\n\tcolor *= newPeak / peak;\n\tfloat g = 1. - 1. / (desaturation * (peak - newPeak) + 1.);\n\treturn mix(color, newPeak * vec3(1, 1, 1), g);\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\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\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\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 lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\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 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\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;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nuniform mat3 backgroundRotation;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_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 USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\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_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},uo={common:{diffuse:{value:new qn(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Ai},alphaMap:{value:null},alphaMapTransform:{value:new Ai},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Ai}},envmap:{envMap:{value:null},envMapRotation:{value:new Ai},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Ai}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Ai}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Ai},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Ai},normalScale:{value:new $e(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Ai},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Ai}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Ai}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Ai}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new qn(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:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{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 qn(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Ai},alphaTest:{value:0},uvTransform:{value:new Ai}},sprite:{diffuse:{value:new qn(16777215)},opacity:{value:1},center:{value:new $e(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Ai},alphaMap:{value:null},alphaMapTransform:{value:new Ai},alphaTest:{value:0}}},po={basic:{uniforms:Pg([uo.common,uo.specularmap,uo.envmap,uo.aomap,uo.lightmap,uo.fog]),vertexShader:ho.meshbasic_vert,fragmentShader:ho.meshbasic_frag},lambert:{uniforms:Pg([uo.common,uo.specularmap,uo.envmap,uo.aomap,uo.lightmap,uo.emissivemap,uo.bumpmap,uo.normalmap,uo.displacementmap,uo.fog,uo.lights,{emissive:{value:new qn(0)}}]),vertexShader:ho.meshlambert_vert,fragmentShader:ho.meshlambert_frag},phong:{uniforms:Pg([uo.common,uo.specularmap,uo.envmap,uo.aomap,uo.lightmap,uo.emissivemap,uo.bumpmap,uo.normalmap,uo.displacementmap,uo.fog,uo.lights,{emissive:{value:new qn(0)},specular:{value:new qn(1118481)},shininess:{value:30}}]),vertexShader:ho.meshphong_vert,fragmentShader:ho.meshphong_frag},standard:{uniforms:Pg([uo.common,uo.envmap,uo.aomap,uo.lightmap,uo.emissivemap,uo.bumpmap,uo.normalmap,uo.displacementmap,uo.roughnessmap,uo.metalnessmap,uo.fog,uo.lights,{emissive:{value:new qn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ho.meshphysical_vert,fragmentShader:ho.meshphysical_frag},toon:{uniforms:Pg([uo.common,uo.aomap,uo.lightmap,uo.emissivemap,uo.bumpmap,uo.normalmap,uo.displacementmap,uo.gradientmap,uo.fog,uo.lights,{emissive:{value:new qn(0)}}]),vertexShader:ho.meshtoon_vert,fragmentShader:ho.meshtoon_frag},matcap:{uniforms:Pg([uo.common,uo.bumpmap,uo.normalmap,uo.displacementmap,uo.fog,{matcap:{value:null}}]),vertexShader:ho.meshmatcap_vert,fragmentShader:ho.meshmatcap_frag},points:{uniforms:Pg([uo.points,uo.fog]),vertexShader:ho.points_vert,fragmentShader:ho.points_frag},dashed:{uniforms:Pg([uo.common,uo.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ho.linedashed_vert,fragmentShader:ho.linedashed_frag},depth:{uniforms:Pg([uo.common,uo.displacementmap]),vertexShader:ho.depth_vert,fragmentShader:ho.depth_frag},normal:{uniforms:Pg([uo.common,uo.bumpmap,uo.normalmap,uo.displacementmap,{opacity:{value:1}}]),vertexShader:ho.meshnormal_vert,fragmentShader:ho.meshnormal_frag},sprite:{uniforms:Pg([uo.sprite,uo.fog]),vertexShader:ho.sprite_vert,fragmentShader:ho.sprite_frag},background:{uniforms:{uvTransform:{value:new Ai},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:ho.background_vert,fragmentShader:ho.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Ai}},vertexShader:ho.backgroundCube_vert,fragmentShader:ho.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:ho.cube_vert,fragmentShader:ho.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ho.equirect_vert,fragmentShader:ho.equirect_frag},distanceRGBA:{uniforms:Pg([uo.common,uo.displacementmap,{referencePosition:{value:new Ui},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ho.distanceRGBA_vert,fragmentShader:ho.distanceRGBA_frag},shadow:{uniforms:Pg([uo.lights,uo.fog,{color:{value:new qn(0)},opacity:{value:1}}]),vertexShader:ho.shadow_vert,fragmentShader:ho.shadow_frag}};po.physical={uniforms:Pg([po.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Ai},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Ai},clearcoatNormalScale:{value:new $e(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Ai},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Ai},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Ai},sheen:{value:0},sheenColor:{value:new qn(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Ai},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Ai},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Ai},transmissionSamplerSize:{value:new $e},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Ai},attenuationDistance:{value:0},attenuationColor:{value:new qn(0)},specularColor:{value:new qn(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Ai},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Ai},anisotropyVector:{value:new $e},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Ai}}]),vertexShader:ho.meshphysical_vert,fragmentShader:ho.meshphysical_frag};const fo={r:0,b:0,g:0},mo=new dn,wo=new an;function Do(A,t,e,i,n,g,o){const s=new qn(0);let a,r,B=!0===g?0:1,I=null,Q=0,E=null;function l(t,e){t.getRGB(fo,Og(A)),i.buffers.color.setClear(fo.r,fo.g,fo.b,e,o)}return{getClearColor:function(){return s},setClearColor:function(A,t=1){s.set(A),B=t,l(s,B)},getClearAlpha:function(){return B},setClearAlpha:function(A){B=A,l(s,B)},render:function(g,h){let d=!1,u=!0===h.isScene?h.background:null;u&&u.isTexture&&(u=(h.backgroundBlurriness>0?e:t).get(u)),null===u?l(s,B):u&&u.isColor&&(l(u,1),d=!0);const p=A.xr.getEnvironmentBlendMode();"additive"===p?i.buffers.color.setClear(0,0,0,1,o):"alpha-blend"===p&&i.buffers.color.setClear(0,0,0,0,o),(A.autoClear||d)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),u&&(u.isCubeTexture||u.mapping===cA)?(void 0===r&&(r=new Wg(new Zg(1,1,1),new qg({name:"BackgroundCubeMaterial",uniforms:Xg(po.backgroundCube.uniforms),vertexShader:po.backgroundCube.vertexShader,fragmentShader:po.backgroundCube.fragmentShader,side:c,depthTest:!1,depthWrite:!1,fog:!1})),r.geometry.deleteAttribute("normal"),r.geometry.deleteAttribute("uv"),r.onBeforeRender=function(A,t,e){this.matrixWorld.copyPosition(e.matrixWorld)},Object.defineProperty(r.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(r)),mo.copy(h.backgroundRotation),mo.x*=-1,mo.y*=-1,mo.z*=-1,u.isCubeTexture&&!1===u.isRenderTargetTexture&&(mo.y*=-1,mo.z*=-1),r.material.uniforms.envMap.value=u,r.material.uniforms.flipEnvMap.value=u.isCubeTexture&&!1===u.isRenderTargetTexture?-1:1,r.material.uniforms.backgroundBlurriness.value=h.backgroundBlurriness,r.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,r.material.uniforms.backgroundRotation.value.setFromMatrix4(wo.makeRotationFromEuler(mo)),r.material.toneMapped=Ei.getTransfer(u.colorSpace)!==te,I===u&&Q===u.version&&E===A.toneMapping||(r.material.needsUpdate=!0,I=u,Q=u.version,E=A.toneMapping),r.layers.enableAll(),g.unshift(r,r.geometry,r.material,0,0,null)):u&&u.isTexture&&(void 0===a&&(a=new Wg(new lo(2,2),new qg({name:"BackgroundMaterial",uniforms:Xg(po.background.uniforms),vertexShader:po.background.vertexShader,fragmentShader:po.background.fragmentShader,side:C,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(a)),a.material.uniforms.t2D.value=u,a.material.uniforms.backgroundIntensity.value=h.backgroundIntensity,a.material.toneMapped=Ei.getTransfer(u.colorSpace)!==te,!0===u.matrixAutoUpdate&&u.updateMatrix(),a.material.uniforms.uvTransform.value.copy(u.matrix),I===u&&Q===u.version&&E===A.toneMapping||(a.material.needsUpdate=!0,I=u,Q=u.version,E=A.toneMapping),a.layers.enableAll(),g.unshift(a,a.geometry,a.material,0,0,null))}}}function yo(A,t){const e=A.getParameter(A.MAX_VERTEX_ATTRIBS),i={},n=r(null);let g=n,o=!1;function s(t){return A.bindVertexArray(t)}function a(t){return A.deleteVertexArray(t)}function r(A){const t=[],i=[],n=[];for(let A=0;A=0){const e=n[t];let i=o[t];if(void 0===i&&("instanceMatrix"===t&&A.instanceMatrix&&(i=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(i=A.instanceColor)),void 0===e)return!0;if(e.attribute!==i)return!0;if(i&&e.data!==i.data)return!0;s++}return g.attributesNum!==s||g.index!==i}(e,c,a,l),h&&function(A,t,e,i){const n={},o=t.attributes;let s=0;const a=e.getAttributes();for(const t in a)if(a[t].location>=0){let e=o[t];void 0===e&&("instanceMatrix"===t&&A.instanceMatrix&&(e=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(e=A.instanceColor));const i={};i.attribute=e,e&&e.data&&(i.data=e.data),n[t]=i,s++}g.attributes=n,g.attributesNum=s,g.index=i}(e,c,a,l),null!==l&&t.update(l,A.ELEMENT_ARRAY_BUFFER),(h||o)&&(o=!1,function(e,i,n,g){B();const o=g.attributes,s=n.getAttributes(),a=i.defaultAttributeValues;for(const i in s){const n=s[i];if(n.location>=0){let s=o[i];if(void 0===s&&("instanceMatrix"===i&&e.instanceMatrix&&(s=e.instanceMatrix),"instanceColor"===i&&e.instanceColor&&(s=e.instanceColor)),void 0!==s){const i=s.normalized,o=s.itemSize,a=t.get(s);if(void 0===a)continue;const r=a.buffer,B=a.type,E=a.bytesPerElement,c=B===A.INT||B===A.UNSIGNED_INT||s.gpuType===xA;if(s.isInterleavedBufferAttribute){const t=s.data,a=t.stride,l=s.offset;if(t.isInstancedInterleavedBuffer){for(let A=0;A0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&A.getShaderPrecisionFormat(A.VERTEX_SHADER,A.MEDIUM_FLOAT).precision>0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let g=void 0!==e.precision?e.precision:"highp";const o=n(g);o!==g&&(console.warn("THREE.WebGLRenderer:",g,"not supported, using",o,"instead."),g=o);const s=!0===e.logarithmicDepthBuffer,a=A.getParameter(A.MAX_TEXTURE_IMAGE_UNITS),r=A.getParameter(A.MAX_VERTEX_TEXTURE_IMAGE_UNITS);return{isWebGL2:!0,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===t.has("EXT_texture_filter_anisotropic")){const e=t.get("EXT_texture_filter_anisotropic");i=A.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:n,precision:g,logarithmicDepthBuffer:s,maxTextures:a,maxVertexTextures:r,maxTextureSize:A.getParameter(A.MAX_TEXTURE_SIZE),maxCubemapSize:A.getParameter(A.MAX_CUBE_MAP_TEXTURE_SIZE),maxAttributes:A.getParameter(A.MAX_VERTEX_ATTRIBS),maxVertexUniforms:A.getParameter(A.MAX_VERTEX_UNIFORM_VECTORS),maxVaryings:A.getParameter(A.MAX_VARYING_VECTORS),maxFragmentUniforms:A.getParameter(A.MAX_FRAGMENT_UNIFORM_VECTORS),vertexTextures:r>0,maxSamples:A.getParameter(A.MAX_SAMPLES)}}function Mo(A){const t=this;let e=null,i=0,n=!1,g=!1;const o=new Bo,s=new Ai,a={value:null,needsUpdate:!1};function r(A,e,i,n){const g=null!==A?A.length:0;let r=null;if(0!==g){if(r=a.value,!0!==n||null===r){const t=i+4*g,n=e.matrixWorldInverse;s.getNormalMatrix(n),(null===r||r.length0),t.numPlanes=i,t.numIntersection=0);else{const A=g?0:i,t=4*A;let n=C.clippingState||null;a.value=n,n=r(I,s,t,B);for(let A=0;A!==t;++A)n[A]=e[A];C.clippingState=n,this.numIntersection=Q?this.numPlanes:0,this.numPlanes+=A}}}function Go(A){let t=new WeakMap;function e(A,t){return t===EA?A.mapping=IA:t===CA&&(A.mapping=QA),A}function i(A){const e=A.target;e.removeEventListener("dispose",i);const n=t.get(e);void 0!==n&&(t.delete(e),n.dispose())}return{get:function(n){if(n&&n.isTexture){const g=n.mapping;if(g===EA||g===CA){if(t.has(n))return e(t.get(n).texture,n.mapping);{const g=n.image;if(g&&g.height>0){const o=new oo(g.height);return o.fromEquirectangularTexture(A,n),t.set(n,o),n.addEventListener("dispose",i),e(o.texture,n.mapping)}return null}}}return n},dispose:function(){t=new WeakMap}}}class So extends jg{constructor(A=-1,t=1,e=1,i=-1,n=.1,g=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=t,this.top=e,this.bottom=i,this.near=n,this.far=g,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,t,e,i,n,g){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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=i,this.view.width=n,this.view.height=g,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),e=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let n=e-A,g=e+A,o=i+t,s=i-t;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;n+=A*this.view.offsetX,g=n+A*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(n,g,o,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const Uo=[.125,.215,.35,.446,.526,.582],bo=new So,xo=new qn;let No=null,Ho=0,Lo=0,ko=!1;const vo=(1+Math.sqrt(5))/2,Yo=1/vo,To=[new Ui(1,1,1),new Ui(-1,1,1),new Ui(1,1,-1),new Ui(-1,1,-1),new Ui(0,vo,Yo),new Ui(0,vo,-Yo),new Ui(Yo,0,vo),new Ui(-Yo,0,vo),new Ui(vo,Yo,0),new Ui(-vo,Yo,0)];class Jo{constructor(A){this._renderer=A,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(A,t=0,e=.1,i=100){No=this._renderer.getRenderTarget(),Ho=this._renderer.getActiveCubeFace(),Lo=this._renderer.getActiveMipmapLevel(),ko=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const n=this._allocateTargets();return n.depthBuffer=!0,this._sceneToCubeUV(A,e,i,n),t>0&&this._blur(n,0,0,t),this._applyPMREM(n),this._cleanup(n),n}fromEquirectangular(A,t=null){return this._fromTexture(A,t)}fromCubemap(A,t=null){return this._fromTexture(A,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Ko(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=Wo(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let A=0;AA-4?s=Uo[o-A+4-1]:0===o&&(s=0),i.push(s);const a=1/(g-2),r=-a,B=1+a,I=[r,r,B,r,B,B,r,r,B,B,r,B],Q=6,E=6,C=3,c=2,l=1,h=new Float32Array(C*E*Q),d=new Float32Array(c*E*Q),u=new Float32Array(l*E*Q);for(let A=0;A2?0:-1,i=[t,e,0,t+2/3,e,0,t+2/3,e+1,0,t,e,0,t+2/3,e+1,0,t,e+1,0];h.set(i,C*E*A),d.set(I,c*E*A);const n=[A,A,A,A,A,A];u.set(n,l*E*A)}const p=new Rg;p.setAttribute("position",new rg(h,C)),p.setAttribute("uv",new rg(d,c)),p.setAttribute("faceIndex",new rg(u,l)),t.push(p),n>4&&n--}return{lodPlanes:t,sizeLods:e,sigmas:i}}(i)),this._blurMaterial=function(A,t,e){const i=new Float32Array(20),n=new Ui(0,1,0);return new qg({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${A}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:h,depthTest:!1,depthWrite:!1})}(i,A,t)}return i}_compileMaterial(A){const t=new Wg(this._lodPlanes[0],A);this._renderer.compile(t,bo)}_sceneToCubeUV(A,t,e,i){const n=new eo(90,1,t,e),g=[1,-1,1,1,1,1],o=[1,1,1,-1,-1,-1],s=this._renderer,a=s.autoClear,r=s.toneMapping;s.getClearColor(xo),s.toneMapping=AA,s.autoClear=!1;const B=new tg({name:"PMREM.Background",side:c,depthWrite:!1,depthTest:!1}),I=new Wg(new Zg,B);let Q=!1;const E=A.background;E?E.isColor&&(B.color.copy(E),A.background=null,Q=!0):(B.color.copy(xo),Q=!0);for(let t=0;t<6;t++){const e=t%3;0===e?(n.up.set(0,g[t],0),n.lookAt(o[t],0,0)):1===e?(n.up.set(0,0,g[t]),n.lookAt(0,o[t],0)):(n.up.set(0,g[t],0),n.lookAt(0,0,o[t]));const a=this._cubeSize;Vo(i,e*a,t>2?a:0,a,a),s.setRenderTarget(i),Q&&s.render(I,n),s.render(A,n)}I.geometry.dispose(),I.material.dispose(),s.toneMapping=r,s.autoClear=a,A.background=E}_textureToCubeUV(A,t){const e=this._renderer,i=A.mapping===IA||A.mapping===QA;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=Ko()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===A.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=Wo());const n=i?this._cubemapMaterial:this._equirectMaterial,g=new Wg(this._lodPlanes[0],n);n.uniforms.envMap.value=A;const o=this._cubeSize;Vo(t,0,0,3*o,2*o),e.setRenderTarget(t),e.render(g,bo)}_applyPMREM(A){const t=this._renderer,e=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${n}, is too large and will clip, as it requested ${C} samples when the maximum is set to 20`);const c=[];let l=0;for(let A=0;A<20;++A){const t=A/E,e=Math.exp(-t*t/2);c.push(e),0===A?l+=e:Ah-4?i-h+4:0),4*(this._cubeSize-d),3*d,2*d),s.setRenderTarget(t),s.render(r,bo)}}function _o(A,t,e){const i=new yi(A,t,e);return i.texture.mapping=cA,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Vo(A,t,e,i,n){A.viewport.set(t,e,i,n),A.scissor.set(t,e,i,n)}function Wo(){return new qg({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:h,depthTest:!1,depthWrite:!1})}function Ko(){return new qg({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\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",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:h,depthTest:!1,depthWrite:!1})}function Zo(A){let t=new WeakMap,e=null;function i(A){const e=A.target;e.removeEventListener("dispose",i);const n=t.get(e);void 0!==n&&(t.delete(e),n.dispose())}return{get:function(n){if(n&&n.isTexture){const g=n.mapping,o=g===EA||g===CA,s=g===IA||g===QA;if(o||s){let g=t.get(n);const a=void 0!==g?g.texture.pmremVersion:0;if(n.isRenderTargetTexture&&n.pmremVersion!==a)return null===e&&(e=new Jo(A)),g=o?e.fromEquirectangular(n,g):e.fromCubemap(n,g),g.texture.pmremVersion=n.pmremVersion,t.set(n,g),g.texture;if(void 0!==g)return g.texture;{const a=n.image;return o&&a&&a.height>0||s&&a&&function(A){let t=0;for(let e=0;e<6;e++)void 0!==A[e]&&t++;return 6===t}(a)?(null===e&&(e=new Jo(A)),g=o?e.fromEquirectangular(n):e.fromCubemap(n),g.texture.pmremVersion=n.pmremVersion,t.set(n,g),n.addEventListener("dispose",i),g.texture):null}}}return n},dispose:function(){t=new WeakMap,null!==e&&(e.dispose(),e=null)}}}function Xo(A){const t={};function e(e){if(void 0!==t[e])return t[e];let i;switch(e){case"WEBGL_depth_texture":i=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=A.getExtension(e)}return t[e]=i,i}return{has:function(A){return null!==e(A)},init:function(){e("EXT_color_buffer_float"),e("WEBGL_clip_cull_distance"),e("OES_texture_float_linear"),e("EXT_color_buffer_half_float"),e("WEBGL_multisampled_render_to_texture"),e("WEBGL_render_shared_exponent")},get:function(A){const t=e(A);return null===t&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),t}}}function Po(A,t,e,i){const n={},g=new WeakMap;function o(A){const s=A.target;null!==s.index&&t.remove(s.index);for(const A in s.attributes)t.remove(s.attributes[A]);for(const A in s.morphAttributes){const e=s.morphAttributes[A];for(let A=0,i=e.length;At.maxTextureSize&&(p=Math.ceil(u/t.maxTextureSize),u=t.maxTextureSize);const f=new Float32Array(u*p*4*B),m=new Ri(f,u,p,B);m.type=HA,m.needsUpdate=!0;const w=4*d;for(let y=0;y0)return A;const n=t*e;let g=gs[n];if(void 0===g&&(g=new Float32Array(n),gs[n]=g),0!==t){i.toArray(g,0);for(let i=1,n=0;i!==t;++i)n+=e,A[i].toArray(g,n)}return g}function Is(A,t){if(A.length!==t.length)return!1;for(let e=0,i=A.length;e":" "} ${n}: ${e[A]}`)}return i.join("\n")}(A.getShaderSource(t),i)}return n}function ra(A,t){const e=function(A){const t=Ei.getPrimaries(Ei.workingColorSpace),e=Ei.getPrimaries(A);let i;switch(t===e?i="":t===ie&&e===ee?i="LinearDisplayP3ToLinearSRGB":t===ee&&e===ie&&(i="LinearSRGBToLinearDisplayP3"),A){case qt:case $t:return[i,"LinearTransferOETF"];case zt:case jt:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",A),[i,"LinearTransferOETF"]}}(t);return`vec4 ${A}( vec4 value ) { return ${e[0]}( ${e[1]}( value ) ); }`}function Ba(A,t){let e;switch(t){case tA:e="Linear";break;case eA:e="Reinhard";break;case iA:e="OptimizedCineon";break;case nA:e="ACESFilmic";break;case oA:e="AgX";break;case sA:e="Neutral";break;case gA:e="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),e="Linear"}return"vec3 "+A+"( vec3 color ) { return "+e+"ToneMapping( color ); }"}function Ia(A){return""!==A}function Qa(A,t){const e=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return A.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,e).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function Ea(A,t){return A.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Ca=/^[ \t]*#include +<([\w\d./]+)>/gm;function ca(A){return A.replace(Ca,ha)}const la=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function ha(A,t){let e=ho[t];if(void 0===e){const A=la.get(t);if(void 0===A)throw new Error("Can not resolve #include <"+t+">");e=ho[A],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,A)}return ca(e)}const da=/#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 ua(A){return A.replace(da,pa)}function pa(A,t,e,i){let n="";for(let A=parseInt(t);A0&&(u+="\n"),p=["#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h].filter(Ia).join("\n"),p.length>0&&(p+="\n")):(u=[fa(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h,e.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",e.batching?"#define USE_BATCHING":"",e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.instancingMorph?"#define USE_INSTANCING_MORPH":"",e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+B:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.displacementMap?"#define USE_DISPLACEMENTMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.mapUv?"#define MAP_UV "+e.mapUv:"",e.alphaMapUv?"#define ALPHAMAP_UV "+e.alphaMapUv:"",e.lightMapUv?"#define LIGHTMAP_UV "+e.lightMapUv:"",e.aoMapUv?"#define AOMAP_UV "+e.aoMapUv:"",e.emissiveMapUv?"#define EMISSIVEMAP_UV "+e.emissiveMapUv:"",e.bumpMapUv?"#define BUMPMAP_UV "+e.bumpMapUv:"",e.normalMapUv?"#define NORMALMAP_UV "+e.normalMapUv:"",e.displacementMapUv?"#define DISPLACEMENTMAP_UV "+e.displacementMapUv:"",e.metalnessMapUv?"#define METALNESSMAP_UV "+e.metalnessMapUv:"",e.roughnessMapUv?"#define ROUGHNESSMAP_UV "+e.roughnessMapUv:"",e.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+e.anisotropyMapUv:"",e.clearcoatMapUv?"#define CLEARCOATMAP_UV "+e.clearcoatMapUv:"",e.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+e.clearcoatNormalMapUv:"",e.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+e.clearcoatRoughnessMapUv:"",e.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+e.iridescenceMapUv:"",e.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+e.iridescenceThicknessMapUv:"",e.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+e.sheenColorMapUv:"",e.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+e.sheenRoughnessMapUv:"",e.specularMapUv?"#define SPECULARMAP_UV "+e.specularMapUv:"",e.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+e.specularColorMapUv:"",e.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+e.specularIntensityMapUv:"",e.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+e.transmissionMapUv:"",e.thicknessMapUv?"#define THICKNESSMAP_UV "+e.thicknessMapUv:"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&!1===e.flatShading?"#define USE_MORPHNORMALS":"",e.morphColors?"#define USE_MORPHCOLORS":"",e.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE":"",e.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+e.morphTextureStride:"",e.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+e.morphTargetsCount:"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+a:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","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","#ifdef USE_INSTANCING_MORPH","\tuniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#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(Ia).join("\n"),p=[fa(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,h,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+r:"",e.envMap?"#define "+B:"",e.envMap?"#define "+C:"",c?"#define CUBEUV_TEXEL_WIDTH "+c.texelWidth:"",c?"#define CUBEUV_TEXEL_HEIGHT "+c.texelHeight:"",c?"#define CUBEUV_MAX_MIP "+c.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+a:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==AA?"#define TONE_MAPPING":"",e.toneMapping!==AA?ho.tonemapping_pars_fragment:"",e.toneMapping!==AA?Ba("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",ho.colorspace_pars_fragment,ra("linearToOutputTexel",e.outputColorSpace),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"","\n"].filter(Ia).join("\n")),o=ca(o),o=Qa(o,e),o=Ea(o,e),s=ca(s),s=Qa(s,e),s=Ea(s,e),o=ua(o),s=ua(s),!0!==e.isRawShaderMaterial&&(f="#version 300 es\n",u=[l,"#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+u,p=["#define varying in",e.glslVersion===ve?"":"layout(location = 0) out highp vec4 pc_fragColor;",e.glslVersion===ve?"":"#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"+p);const m=f+u+o,w=f+p+s,D=ga(n,n.VERTEX_SHADER,m),y=ga(n,n.FRAGMENT_SHADER,w);function R(t){if(A.debug.checkShaderErrors){const e=n.getProgramInfoLog(d).trim(),i=n.getShaderInfoLog(D).trim(),g=n.getShaderInfoLog(y).trim();let o=!0,s=!0;if(!1===n.getProgramParameter(d,n.LINK_STATUS))if(o=!1,"function"==typeof A.debug.onShaderError)A.debug.onShaderError(n,d,D,y);else{const A=aa(n,D,"vertex"),i=aa(n,y,"fragment");console.error("THREE.WebGLProgram: Shader Error "+n.getError()+" - VALIDATE_STATUS "+n.getProgramParameter(d,n.VALIDATE_STATUS)+"\n\nMaterial Name: "+t.name+"\nMaterial Type: "+t.type+"\n\nProgram Info Log: "+e+"\n"+A+"\n"+i)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==i&&""!==g||(s=!1);s&&(t.diagnostics={runnable:o,programLog:e,vertexShader:{log:i,prefix:u},fragmentShader:{log:g,prefix:p}})}n.deleteShader(D),n.deleteShader(y),F=new na(n,d),M=function(A,t){const e={},i=A.getProgramParameter(t,A.ACTIVE_ATTRIBUTES);for(let n=0;n0,O=g.clearcoat>0,z=g.iridescence>0,q=g.sheen>0,j=g.transmission>0,$=P&&!!g.anisotropyMap,tA=O&&!!g.clearcoatMap,eA=O&&!!g.clearcoatNormalMap,iA=O&&!!g.clearcoatRoughnessMap,nA=z&&!!g.iridescenceMap,gA=z&&!!g.iridescenceThicknessMap,oA=q&&!!g.sheenColorMap,sA=q&&!!g.sheenRoughnessMap,aA=!!g.specularMap,rA=!!g.specularColorMap,BA=!!g.specularIntensityMap,IA=j&&!!g.transmissionMap,QA=j&&!!g.thicknessMap,EA=!!g.gradientMap,CA=!!g.alphaMap,lA=g.alphaTest>0,hA=!!g.alphaHash,dA=!!g.extensions;let uA=AA;g.toneMapped&&(null!==N&&!0!==N.isXRRenderTarget||(uA=A.toneMapping));const pA={shaderID:R,shaderType:g.type,shaderName:g.name,vertexShader:G,fragmentShader:S,defines:g.defines,customVertexShaderID:U,customFragmentShaderID:b,isRawShaderMaterial:!0===g.isRawShaderMaterial,glslVersion:g.glslVersion,precision:E,batching:L,instancing:H,instancingColor:H&&null!==p.instanceColor,instancingMorph:H&&null!==p.morphTexture,supportsVertexTextures:Q,outputColorSpace:null===N?A.outputColorSpace:!0===N.isXRRenderTarget?N.texture.colorSpace:qt,alphaToCoverage:!!g.alphaToCoverage,map:k,matcap:v,envMap:Y,envMapMode:Y&&D.mapping,envMapCubeUVHeight:y,aoMap:T,lightMap:J,bumpMap:_,normalMap:V,displacementMap:Q&&W,emissiveMap:K,normalMapObjectSpace:V&&g.normalMapType===Pt,normalMapTangentSpace:V&&g.normalMapType===Xt,metalnessMap:Z,roughnessMap:X,anisotropy:P,anisotropyMap:$,clearcoat:O,clearcoatMap:tA,clearcoatNormalMap:eA,clearcoatRoughnessMap:iA,iridescence:z,iridescenceMap:nA,iridescenceThicknessMap:gA,sheen:q,sheenColorMap:oA,sheenRoughnessMap:sA,specularMap:aA,specularColorMap:rA,specularIntensityMap:BA,transmission:j,transmissionMap:IA,thicknessMap:QA,gradientMap:EA,opaque:!1===g.transparent&&g.blending===d&&!1===g.alphaToCoverage,alphaMap:CA,alphaTest:lA,alphaHash:hA,combine:g.combine,mapUv:k&&h(g.map.channel),aoMapUv:T&&h(g.aoMap.channel),lightMapUv:J&&h(g.lightMap.channel),bumpMapUv:_&&h(g.bumpMap.channel),normalMapUv:V&&h(g.normalMap.channel),displacementMapUv:W&&h(g.displacementMap.channel),emissiveMapUv:K&&h(g.emissiveMap.channel),metalnessMapUv:Z&&h(g.metalnessMap.channel),roughnessMapUv:X&&h(g.roughnessMap.channel),anisotropyMapUv:$&&h(g.anisotropyMap.channel),clearcoatMapUv:tA&&h(g.clearcoatMap.channel),clearcoatNormalMapUv:eA&&h(g.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:iA&&h(g.clearcoatRoughnessMap.channel),iridescenceMapUv:nA&&h(g.iridescenceMap.channel),iridescenceThicknessMapUv:gA&&h(g.iridescenceThicknessMap.channel),sheenColorMapUv:oA&&h(g.sheenColorMap.channel),sheenRoughnessMapUv:sA&&h(g.sheenRoughnessMap.channel),specularMapUv:aA&&h(g.specularMap.channel),specularColorMapUv:rA&&h(g.specularColorMap.channel),specularIntensityMapUv:BA&&h(g.specularIntensityMap.channel),transmissionMapUv:IA&&h(g.transmissionMap.channel),thicknessMapUv:QA&&h(g.thicknessMap.channel),alphaMapUv:CA&&h(g.alphaMap.channel),vertexTangents:!!m.attributes.tangent&&(V||P),vertexColors:g.vertexColors,vertexAlphas:!0===g.vertexColors&&!!m.attributes.color&&4===m.attributes.color.itemSize,pointsUvs:!0===p.isPoints&&!!m.attributes.uv&&(k||CA),fog:!!f,useFog:!0===g.fog,fogExp2:!!f&&f.isFogExp2,flatShading:!0===g.flatShading,sizeAttenuation:!0===g.sizeAttenuation,logarithmicDepthBuffer:I,skinning:!0===p.isSkinnedMesh,morphTargets:void 0!==m.morphAttributes.position,morphNormals:void 0!==m.morphAttributes.normal,morphColors:void 0!==m.morphAttributes.color,morphTargetsCount:M,morphTextureStride:x,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:g.dithering,shadowMapEnabled:A.shadowMap.enabled&&B.length>0,shadowMapType:A.shadowMap.type,toneMapping:uA,useLegacyLights:A._useLegacyLights,decodeVideoTexture:k&&!0===g.map.isVideoTexture&&Ei.getTransfer(g.map.colorSpace)===te,premultipliedAlpha:g.premultipliedAlpha,doubleSided:g.side===l,flipSided:g.side===c,useDepthPacking:g.depthPacking>=0,depthPacking:g.depthPacking||0,index0AttributeName:g.index0AttributeName,extensionClipCullDistance:dA&&!0===g.extensions.clipCullDistance&&i.has("WEBGL_clip_cull_distance"),extensionMultiDraw:dA&&!0===g.extensions.multiDraw&&i.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:g.customProgramCacheKey()};return pA.vertexUv1s=r.has(1),pA.vertexUv2s=r.has(2),pA.vertexUv3s=r.has(3),r.clear(),pA},getProgramCacheKey:function(t){const e=[];if(t.shaderID?e.push(t.shaderID):(e.push(t.customVertexShaderID),e.push(t.customFragmentShaderID)),void 0!==t.defines)for(const A in t.defines)e.push(A),e.push(t.defines[A]);return!1===t.isRawShaderMaterial&&(function(A,t){A.push(t.precision),A.push(t.outputColorSpace),A.push(t.envMapMode),A.push(t.envMapCubeUVHeight),A.push(t.mapUv),A.push(t.alphaMapUv),A.push(t.lightMapUv),A.push(t.aoMapUv),A.push(t.bumpMapUv),A.push(t.normalMapUv),A.push(t.displacementMapUv),A.push(t.emissiveMapUv),A.push(t.metalnessMapUv),A.push(t.roughnessMapUv),A.push(t.anisotropyMapUv),A.push(t.clearcoatMapUv),A.push(t.clearcoatNormalMapUv),A.push(t.clearcoatRoughnessMapUv),A.push(t.iridescenceMapUv),A.push(t.iridescenceThicknessMapUv),A.push(t.sheenColorMapUv),A.push(t.sheenRoughnessMapUv),A.push(t.specularMapUv),A.push(t.specularColorMapUv),A.push(t.specularIntensityMapUv),A.push(t.transmissionMapUv),A.push(t.thicknessMapUv),A.push(t.combine),A.push(t.fogExp2),A.push(t.sizeAttenuation),A.push(t.morphTargetsCount),A.push(t.morphAttributeCount),A.push(t.numDirLights),A.push(t.numPointLights),A.push(t.numSpotLights),A.push(t.numSpotLightMaps),A.push(t.numHemiLights),A.push(t.numRectAreaLights),A.push(t.numDirLightShadows),A.push(t.numPointLightShadows),A.push(t.numSpotLightShadows),A.push(t.numSpotLightShadowsWithMaps),A.push(t.numLightProbes),A.push(t.shadowMapType),A.push(t.toneMapping),A.push(t.numClippingPlanes),A.push(t.numClipIntersection),A.push(t.depthPacking)}(e,t),function(A,t){s.disableAll(),t.supportsVertexTextures&&s.enable(0),t.instancing&&s.enable(1),t.instancingColor&&s.enable(2),t.instancingMorph&&s.enable(3),t.matcap&&s.enable(4),t.envMap&&s.enable(5),t.normalMapObjectSpace&&s.enable(6),t.normalMapTangentSpace&&s.enable(7),t.clearcoat&&s.enable(8),t.iridescence&&s.enable(9),t.alphaTest&&s.enable(10),t.vertexColors&&s.enable(11),t.vertexAlphas&&s.enable(12),t.vertexUv1s&&s.enable(13),t.vertexUv2s&&s.enable(14),t.vertexUv3s&&s.enable(15),t.vertexTangents&&s.enable(16),t.anisotropy&&s.enable(17),t.alphaHash&&s.enable(18),t.batching&&s.enable(19),A.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.skinning&&s.enable(4),t.morphTargets&&s.enable(5),t.morphNormals&&s.enable(6),t.morphColors&&s.enable(7),t.premultipliedAlpha&&s.enable(8),t.shadowMapEnabled&&s.enable(9),t.useLegacyLights&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),t.alphaToCoverage&&s.enable(20),A.push(s.mask)}(e,t),e.push(A.outputColorSpace)),e.push(t.customProgramCacheKey),e.join()},getUniforms:function(A){const t=C[A.type];let e;if(t){const A=po[t];e=zg.clone(A.uniforms)}else e=A.uniforms;return e},acquireProgram:function(t,e){let i;for(let A=0,t=B.length;A0?i.push(B):!0===o.transparent?n.push(B):e.push(B)},unshift:function(A,t,o,s,a,r){const B=g(A,t,o,s,a,r);o.transmission>0?i.unshift(B):!0===o.transparent?n.unshift(B):e.unshift(B)},finish:function(){for(let e=t,i=A.length;e1&&e.sort(A||Ma),i.length>1&&i.sort(t||Ga),n.length>1&&n.sort(t||Ga)}}}function Ua(){let A=new WeakMap;return{get:function(t,e){const i=A.get(t);let n;return void 0===i?(n=new Sa,A.set(t,[n])):e>=i.length?(n=new Sa,i.push(n)):n=i[e],n},dispose:function(){A=new WeakMap}}}function ba(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":e={direction:new Ui,color:new qn};break;case"SpotLight":e={position:new Ui,direction:new Ui,color:new qn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new Ui,color:new qn,distance:0,decay:0};break;case"HemisphereLight":e={direction:new Ui,skyColor:new qn,groundColor:new qn};break;case"RectAreaLight":e={color:new qn,position:new Ui,halfWidth:new Ui,halfHeight:new Ui}}return A[t.id]=e,e}}}let xa=0;function Na(A,t){return(t.castShadow?2:0)-(A.castShadow?2:0)+(t.map?1:0)-(A.map?1:0)}function Ha(A){const t=new ba,e=function(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new $e};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new $e,shadowCameraNear:1,shadowCameraFar:1e3}}return A[t.id]=e,e}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let A=0;A<9;A++)i.probe.push(new Ui);const n=new Ui,g=new an,o=new an;return{setup:function(n,g){let o=0,s=0,a=0;for(let A=0;A<9;A++)i.probe[A].set(0,0,0);let r=0,B=0,I=0,Q=0,E=0,C=0,c=0,l=0,h=0,d=0,u=0;n.sort(Na);const p=!0===g?Math.PI:1;for(let A=0,g=n.length;A0&&(!0===A.has("OES_texture_float_linear")?(i.rectAreaLTC1=uo.LTC_FLOAT_1,i.rectAreaLTC2=uo.LTC_FLOAT_2):(i.rectAreaLTC1=uo.LTC_HALF_1,i.rectAreaLTC2=uo.LTC_HALF_2)),i.ambient[0]=o,i.ambient[1]=s,i.ambient[2]=a;const f=i.hash;f.directionalLength===r&&f.pointLength===B&&f.spotLength===I&&f.rectAreaLength===Q&&f.hemiLength===E&&f.numDirectionalShadows===C&&f.numPointShadows===c&&f.numSpotShadows===l&&f.numSpotMaps===h&&f.numLightProbes===u||(i.directional.length=r,i.spot.length=I,i.rectArea.length=Q,i.point.length=B,i.hemi.length=E,i.directionalShadow.length=C,i.directionalShadowMap.length=C,i.pointShadow.length=c,i.pointShadowMap.length=c,i.spotShadow.length=l,i.spotShadowMap.length=l,i.directionalShadowMatrix.length=C,i.pointShadowMatrix.length=c,i.spotLightMatrix.length=l+h-d,i.spotLightMap.length=h,i.numSpotLightShadowsWithMaps=d,i.numLightProbes=u,f.directionalLength=r,f.pointLength=B,f.spotLength=I,f.rectAreaLength=Q,f.hemiLength=E,f.numDirectionalShadows=C,f.numPointShadows=c,f.numSpotShadows=l,f.numSpotMaps=h,f.numLightProbes=u,i.version=xa++)},setupView:function(A,t){let e=0,s=0,a=0,r=0,B=0;const I=t.matrixWorldInverse;for(let t=0,Q=A.length;t=n.length?(g=new La(A),n.push(g)):g=n[i],g},dispose:function(){t=new WeakMap}}}class va extends Ag{constructor(A){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Kt,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class Ya extends Ag{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function Ta(A,t,e){let i=new Eo;const n=new $e,g=new $e,o=new wi,s=new va({depthPacking:Zt}),a=new Ya,r={},B=e.maxTextureSize,Q={[C]:c,[c]:C,[l]:l},d=new qg({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new $e},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),u=d.clone();u.defines.HORIZONTAL_PASS=1;const p=new Rg;p.setAttribute("position",new rg(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const f=new Wg(p,d),m=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=I;let w=this.type;function D(e,i){const g=t.update(f);d.defines.VSM_SAMPLES!==e.blurSamples&&(d.defines.VSM_SAMPLES=e.blurSamples,u.defines.VSM_SAMPLES=e.blurSamples,d.needsUpdate=!0,u.needsUpdate=!0),null===e.mapPass&&(e.mapPass=new yi(n.x,n.y)),d.uniforms.shadow_pass.value=e.map.texture,d.uniforms.resolution.value=e.mapSize,d.uniforms.radius.value=e.radius,A.setRenderTarget(e.mapPass),A.clear(),A.renderBufferDirect(i,null,g,d,f,null),u.uniforms.shadow_pass.value=e.mapPass.texture,u.uniforms.resolution.value=e.mapSize,u.uniforms.radius.value=e.radius,A.setRenderTarget(e.map),A.clear(),A.renderBufferDirect(i,null,g,u,f,null)}function y(t,e,i,n){let g=null;const o=!0===i.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==o)g=o;else if(g=!0===i.isPointLight?a:s,A.localClippingEnabled&&!0===e.clipShadows&&Array.isArray(e.clippingPlanes)&&0!==e.clippingPlanes.length||e.displacementMap&&0!==e.displacementScale||e.alphaMap&&e.alphaTest>0||e.map&&e.alphaTest>0){const A=g.uuid,t=e.uuid;let i=r[A];void 0===i&&(i={},r[A]=i);let n=i[t];void 0===n&&(n=g.clone(),i[t]=n,e.addEventListener("dispose",F)),g=n}return g.visible=e.visible,g.wireframe=e.wireframe,g.side=n===E?null!==e.shadowSide?e.shadowSide:e.side:null!==e.shadowSide?e.shadowSide:Q[e.side],g.alphaMap=e.alphaMap,g.alphaTest=e.alphaTest,g.map=e.map,g.clipShadows=e.clipShadows,g.clippingPlanes=e.clippingPlanes,g.clipIntersection=e.clipIntersection,g.displacementMap=e.displacementMap,g.displacementScale=e.displacementScale,g.displacementBias=e.displacementBias,g.wireframeLinewidth=e.wireframeLinewidth,g.linewidth=e.linewidth,!0===i.isPointLight&&!0===g.isMeshDistanceMaterial&&(A.properties.get(g).light=i),g}function R(e,n,g,o,s){if(!1===e.visible)return;if(e.layers.test(n.layers)&&(e.isMesh||e.isLine||e.isPoints)&&(e.castShadow||e.receiveShadow&&s===E)&&(!e.frustumCulled||i.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(g.matrixWorldInverse,e.matrixWorld);const i=t.update(e),a=e.material;if(Array.isArray(a)){const t=i.groups;for(let r=0,B=t.length;rB||n.y>B)&&(n.x>B&&(g.x=Math.floor(B/l.x),n.x=g.x*l.x,I.mapSize.x=g.x),n.y>B&&(g.y=Math.floor(B/l.y),n.y=g.y*l.y,I.mapSize.y=g.y)),null===I.map||!0===C||!0===c){const A=this.type!==E?{minFilter:uA,magFilter:uA}:{};null!==I.map&&I.map.dispose(),I.map=new yi(n.x,n.y,A),I.map.texture.name=r.name+".shadowMap",I.camera.updateProjectionMatrix()}A.setRenderTarget(I.map),A.clear();const h=I.getViewportCount();for(let A=0;A=1):-1!==cA.indexOf("OpenGL ES")&&(CA=parseFloat(/^OpenGL ES (\d)/.exec(cA)[1]),EA=CA>=2);let lA=null,hA={};const dA=A.getParameter(A.SCISSOR_BOX),uA=A.getParameter(A.VIEWPORT),pA=(new wi).fromArray(dA),fA=(new wi).fromArray(uA);function mA(t,e,i,n){const g=new Uint8Array(4),o=A.createTexture();A.bindTexture(t,o),A.texParameteri(t,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(t,A.TEXTURE_MAG_FILTER,A.NEAREST);for(let o=0;oe||n.height>e)&&(i=e/Math.max(n.width,n.height)),i<1){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap||"undefined"!=typeof VideoFrame&&A instanceof VideoFrame){const e=Math.floor(i*n.width),g=Math.floor(i*n.height);void 0===I&&(I=C(e,g));const o=t?C(e,g):I;return o.width=e,o.height=g,o.getContext("2d").drawImage(A,0,0,e,g),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+n.width+"x"+n.height+") to ("+e+"x"+g+")."),o}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+n.width+"x"+n.height+")."),A}return A}function l(A){return A.generateMipmaps&&A.minFilter!==uA&&A.minFilter!==DA}function h(t){A.generateMipmap(t)}function d(e,i,n,g,o=!1){if(null!==e){if(void 0!==A[e])return A[e];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+e+"'")}let s=i;if(i===A.RED&&(n===A.FLOAT&&(s=A.R32F),n===A.HALF_FLOAT&&(s=A.R16F),n===A.UNSIGNED_BYTE&&(s=A.R8)),i===A.RED_INTEGER&&(n===A.UNSIGNED_BYTE&&(s=A.R8UI),n===A.UNSIGNED_SHORT&&(s=A.R16UI),n===A.UNSIGNED_INT&&(s=A.R32UI),n===A.BYTE&&(s=A.R8I),n===A.SHORT&&(s=A.R16I),n===A.INT&&(s=A.R32I)),i===A.RG&&(n===A.FLOAT&&(s=A.RG32F),n===A.HALF_FLOAT&&(s=A.RG16F),n===A.UNSIGNED_BYTE&&(s=A.RG8)),i===A.RG_INTEGER&&(n===A.UNSIGNED_BYTE&&(s=A.RG8UI),n===A.UNSIGNED_SHORT&&(s=A.RG16UI),n===A.UNSIGNED_INT&&(s=A.RG32UI),n===A.BYTE&&(s=A.RG8I),n===A.SHORT&&(s=A.RG16I),n===A.INT&&(s=A.RG32I)),i===A.RGB&&n===A.UNSIGNED_INT_5_9_9_9_REV&&(s=A.RGB9_E5),i===A.RGBA){const t=o?Ae:Ei.getTransfer(g);n===A.FLOAT&&(s=A.RGBA32F),n===A.HALF_FLOAT&&(s=A.RGBA16F),n===A.UNSIGNED_BYTE&&(s=t===te?A.SRGB8_ALPHA8:A.RGBA8),n===A.UNSIGNED_SHORT_4_4_4_4&&(s=A.RGBA4),n===A.UNSIGNED_SHORT_5_5_5_1&&(s=A.RGB5_A1)}return s!==A.R16F&&s!==A.R32F&&s!==A.RG16F&&s!==A.RG32F&&s!==A.RGBA16F&&s!==A.RGBA32F||t.get("EXT_color_buffer_float"),s}function u(A,t){return!0===l(A)||A.isFramebufferTexture&&A.minFilter!==uA&&A.minFilter!==DA?Math.log2(Math.max(t.width,t.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?t.mipmaps.length:1}function p(A){const t=A.target;t.removeEventListener("dispose",p),function(A){const t=i.get(A);if(void 0===t.__webglInit)return;const e=A.source,n=Q.get(e);if(n){const i=n[t.__cacheKey];i.usedTimes--,0===i.usedTimes&&m(A),0===Object.keys(n).length&&Q.delete(e)}i.remove(A)}(t),t.isVideoTexture&&B.delete(t)}function f(t){const e=t.target;e.removeEventListener("dispose",f),function(t){const e=i.get(t);if(t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(e.__webglFramebuffer[t]))for(let i=0;i0&&g.__version!==t.version){const A=t.image;if(null===A)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==A.complete)return void S(g,t,n);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}e.bindTexture(A.TEXTURE_2D,g.__webglTexture,A.TEXTURE0+n)}const y={[lA]:A.REPEAT,[hA]:A.CLAMP_TO_EDGE,[dA]:A.MIRRORED_REPEAT},R={[uA]:A.NEAREST,[pA]:A.NEAREST_MIPMAP_NEAREST,[mA]:A.NEAREST_MIPMAP_LINEAR,[DA]:A.LINEAR,[yA]:A.LINEAR_MIPMAP_NEAREST,[FA]:A.LINEAR_MIPMAP_LINEAR},F={[pe]:A.NEVER,[Fe]:A.ALWAYS,[fe]:A.LESS,[we]:A.LEQUAL,[me]:A.EQUAL,[Re]:A.GEQUAL,[De]:A.GREATER,[ye]:A.NOTEQUAL};function M(e,g){if(g.type!==HA||!1!==t.has("OES_texture_float_linear")||g.magFilter!==DA&&g.magFilter!==yA&&g.magFilter!==mA&&g.magFilter!==FA&&g.minFilter!==DA&&g.minFilter!==yA&&g.minFilter!==mA&&g.minFilter!==FA||console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),A.texParameteri(e,A.TEXTURE_WRAP_S,y[g.wrapS]),A.texParameteri(e,A.TEXTURE_WRAP_T,y[g.wrapT]),e!==A.TEXTURE_3D&&e!==A.TEXTURE_2D_ARRAY||A.texParameteri(e,A.TEXTURE_WRAP_R,y[g.wrapR]),A.texParameteri(e,A.TEXTURE_MAG_FILTER,R[g.magFilter]),A.texParameteri(e,A.TEXTURE_MIN_FILTER,R[g.minFilter]),g.compareFunction&&(A.texParameteri(e,A.TEXTURE_COMPARE_MODE,A.COMPARE_REF_TO_TEXTURE),A.texParameteri(e,A.TEXTURE_COMPARE_FUNC,F[g.compareFunction])),!0===t.has("EXT_texture_filter_anisotropic")){if(g.magFilter===uA)return;if(g.minFilter!==mA&&g.minFilter!==FA)return;if(g.type===HA&&!1===t.has("OES_texture_float_linear"))return;if(g.anisotropy>1||i.get(g).__currentAnisotropy){const o=t.get("EXT_texture_filter_anisotropic");A.texParameterf(e,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,n.getMaxAnisotropy())),i.get(g).__currentAnisotropy=g.anisotropy}}}function G(t,e){let i=!1;void 0===t.__webglInit&&(t.__webglInit=!0,e.addEventListener("dispose",p));const n=e.source;let g=Q.get(n);void 0===g&&(g={},Q.set(n,g));const s=function(A){const t=[];return t.push(A.wrapS),t.push(A.wrapT),t.push(A.wrapR||0),t.push(A.magFilter),t.push(A.minFilter),t.push(A.anisotropy),t.push(A.internalFormat),t.push(A.format),t.push(A.type),t.push(A.generateMipmaps),t.push(A.premultiplyAlpha),t.push(A.flipY),t.push(A.unpackAlignment),t.push(A.colorSpace),t.join()}(e);if(s!==t.__cacheKey){void 0===g[s]&&(g[s]={texture:A.createTexture(),usedTimes:0},o.memory.textures++,i=!0),g[s].usedTimes++;const n=g[t.__cacheKey];void 0!==n&&(g[t.__cacheKey].usedTimes--,0===n.usedTimes&&m(e)),t.__cacheKey=s,t.__webglTexture=g[s].texture}return i}function S(t,o,s){let a=A.TEXTURE_2D;(o.isDataArrayTexture||o.isCompressedArrayTexture)&&(a=A.TEXTURE_2D_ARRAY),o.isData3DTexture&&(a=A.TEXTURE_3D);const r=G(t,o),B=o.source;e.bindTexture(a,t.__webglTexture,A.TEXTURE0+s);const I=i.get(B);if(B.version!==I.__version||!0===r){e.activeTexture(A.TEXTURE0+s);const t=Ei.getPrimaries(Ei.workingColorSpace),i=o.colorSpace===Ot?null:Ei.getPrimaries(o.colorSpace),Q=o.colorSpace===Ot||t===i?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,o.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,o.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,Q);let E=c(o.image,!1,n.maxTextureSize);E=L(o,E);const C=g.convert(o.format,o.colorSpace),p=g.convert(o.type);let f,m=d(o.internalFormat,C,p,o.colorSpace,o.isVideoTexture);M(a,o);const w=o.mipmaps,D=!0!==o.isVideoTexture&&m!==st,y=void 0===I.__version||!0===r,R=B.dataReady,F=u(o,E);if(o.isDepthTexture)m=A.DEPTH_COMPONENT16,o.type===HA?m=A.DEPTH_COMPONENT32F:o.type===NA?m=A.DEPTH_COMPONENT24:o.type===YA&&(m=A.DEPTH24_STENCIL8),y&&(D?e.texStorage2D(A.TEXTURE_2D,1,m,E.width,E.height):e.texImage2D(A.TEXTURE_2D,0,m,E.width,E.height,0,C,p,null));else if(o.isDataTexture)if(w.length>0){D&&y&&e.texStorage2D(A.TEXTURE_2D,F,m,w[0].width,w[0].height);for(let t=0,i=w.length;t>=1,i>>=1}}else if(w.length>0){if(D&&y){const t=k(w[0]);e.texStorage2D(A.TEXTURE_2D,F,m,t.width,t.height)}for(let t=0,i=w.length;t>B),i=Math.max(1,n.height>>B);r===A.TEXTURE_3D||r===A.TEXTURE_2D_ARRAY?e.texImage3D(r,B,E,t,i,n.depth,0,I,Q,null):e.texImage2D(r,B,E,t,i,0,I,Q,null)}e.bindFramebuffer(A.FRAMEBUFFER,t),H(n)?s.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,a,r,i.get(o).__webglTexture,0,N(n)):(r===A.TEXTURE_2D||r>=A.TEXTURE_CUBE_MAP_POSITIVE_X&&r<=A.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&A.framebufferTexture2D(A.FRAMEBUFFER,a,r,i.get(o).__webglTexture,B),e.bindFramebuffer(A.FRAMEBUFFER,null)}function b(t,e,i){if(A.bindRenderbuffer(A.RENDERBUFFER,t),e.depthBuffer&&!e.stencilBuffer){let n=A.DEPTH_COMPONENT24;if(i||H(e)){const t=e.depthTexture;t&&t.isDepthTexture&&(t.type===HA?n=A.DEPTH_COMPONENT32F:t.type===NA&&(n=A.DEPTH_COMPONENT24));const i=N(e);H(e)?s.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,i,n,e.width,e.height):A.renderbufferStorageMultisample(A.RENDERBUFFER,i,n,e.width,e.height)}else A.renderbufferStorage(A.RENDERBUFFER,n,e.width,e.height);A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,t)}else if(e.depthBuffer&&e.stencilBuffer){const n=N(e);i&&!1===H(e)?A.renderbufferStorageMultisample(A.RENDERBUFFER,n,A.DEPTH24_STENCIL8,e.width,e.height):H(e)?s.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,n,A.DEPTH24_STENCIL8,e.width,e.height):A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_STENCIL,e.width,e.height),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.RENDERBUFFER,t)}else{const t=e.textures;for(let n=0;n0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==e.__useRenderToTexture}function L(A,t){const e=A.colorSpace,i=A.format,n=A.type;return!0===A.isCompressedTexture||!0===A.isVideoTexture||e!==qt&&e!==Ot&&(Ei.getTransfer(e)===te?i===VA&&n===GA||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",e)),t}function k(A){return"undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement?(r.width=A.naturalWidth||A.width,r.height=A.naturalHeight||A.height):"undefined"!=typeof VideoFrame&&A instanceof VideoFrame?(r.width=A.displayWidth,r.height=A.displayHeight):(r.width=A.width,r.height=A.height),r}this.allocateTextureUnit=function(){const A=w;return A>=n.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+n.maxTextures),w+=1,A},this.resetTextureUnits=function(){w=0},this.setTexture2D=D,this.setTexture2DArray=function(t,n){const g=i.get(t);t.version>0&&g.__version!==t.version?S(g,t,n):e.bindTexture(A.TEXTURE_2D_ARRAY,g.__webglTexture,A.TEXTURE0+n)},this.setTexture3D=function(t,n){const g=i.get(t);t.version>0&&g.__version!==t.version?S(g,t,n):e.bindTexture(A.TEXTURE_3D,g.__webglTexture,A.TEXTURE0+n)},this.setTextureCube=function(t,o){const s=i.get(t);t.version>0&&s.__version!==t.version?function(t,o,s){if(6!==o.image.length)return;const a=G(t,o),r=o.source;e.bindTexture(A.TEXTURE_CUBE_MAP,t.__webglTexture,A.TEXTURE0+s);const B=i.get(r);if(r.version!==B.__version||!0===a){e.activeTexture(A.TEXTURE0+s);const t=Ei.getPrimaries(Ei.workingColorSpace),i=o.colorSpace===Ot?null:Ei.getPrimaries(o.colorSpace),I=o.colorSpace===Ot||t===i?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,o.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,o.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,I);const Q=o.isCompressedTexture||o.image[0].isCompressedTexture,E=o.image[0]&&o.image[0].isDataTexture,C=[];for(let A=0;A<6;A++)C[A]=Q||E?E?o.image[A].image:o.image[A]:c(o.image[A],!0,n.maxCubemapSize),C[A]=L(o,C[A]);const p=C[0],f=g.convert(o.format,o.colorSpace),m=g.convert(o.type),w=d(o.internalFormat,f,m,o.colorSpace),D=!0!==o.isVideoTexture,y=void 0===B.__version||!0===a,R=r.dataReady;let F,G=u(o,p);if(M(A.TEXTURE_CUBE_MAP,o),Q){D&&y&&e.texStorage2D(A.TEXTURE_CUBE_MAP,G,w,p.width,p.height);for(let t=0;t<6;t++){F=C[t].mipmaps;for(let i=0;i0&&G++;const t=k(C[0]);e.texStorage2D(A.TEXTURE_CUBE_MAP,G,w,t.width,t.height)}for(let t=0;t<6;t++)if(E){D?R&&e.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,C[t].width,C[t].height,f,m,C[t].data):e.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,w,C[t].width,C[t].height,0,f,m,C[t].data);for(let i=0;i1;if(I||(void 0===a.__webglTexture&&(a.__webglTexture=A.createTexture()),a.__version=n.version,o.memory.textures++),B){s.__webglFramebuffer=[];for(let t=0;t<6;t++)if(n.mipmaps&&n.mipmaps.length>0){s.__webglFramebuffer[t]=[];for(let e=0;e0){s.__webglFramebuffer=[];for(let t=0;t0&&!1===H(t)){s.__webglMultisampledFramebuffer=A.createFramebuffer(),s.__webglColorRenderbuffer=[],e.bindFramebuffer(A.FRAMEBUFFER,s.__webglMultisampledFramebuffer);for(let e=0;e0)for(let i=0;i0)for(let e=0;e0&&!1===H(t)){const n=t.textures,g=t.width,o=t.height;let s=A.COLOR_BUFFER_BIT;const r=[],B=t.stencilBuffer?A.DEPTH_STENCIL_ATTACHMENT:A.DEPTH_ATTACHMENT,I=i.get(t),Q=n.length>1;if(Q)for(let t=0;ts+r?(a.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!a.inputState.pinching&&o<=s-r&&(a.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==s&&A.gripSpace&&(n=t.getPose(A.gripSpace,e),null!==n&&(s.matrix.fromArray(n.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,n.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(n.linearVelocity)):s.hasLinearVelocity=!1,n.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(n.angularVelocity)):s.hasAngularVelocity=!1));null!==o&&(i=t.getPose(A.targetRaySpace,e),null===i&&null!==n&&(i=n),null!==i&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(Za)))}return null!==o&&(o.visible=null!==i),null!==s&&(s.visible=null!==n),null!==a&&(a.visible=null!==g),this}_getHandJoint(A,t){if(void 0===A.joints[t.jointName]){const e=new Ka;e.matrixAutoUpdate=!1,e.visible=!1,A.joints[t.jointName]=e,A.add(e)}return A.joints[t.jointName]}}class Pa{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(A,t,e){if(null===this.texture){const i=new mi;A.properties.get(i).__webglTexture=t.texture,t.depthNear==e.depthNear&&t.depthFar==e.depthFar||(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=i}}render(A,t){if(null!==this.texture){if(null===this.mesh){const A=t.cameras[0].viewport,e=new qg({vertexShader:"\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}",fragmentShader:"\nuniform sampler2DArray depthColor;\nuniform float depthWidth;\nuniform float depthHeight;\n\nvoid main() {\n\n\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\n\n\tif ( coord.x >= 1.0 ) {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\n\n\t} else {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\n\n\t}\n\n}",uniforms:{depthColor:{value:this.texture},depthWidth:{value:A.z},depthHeight:{value:A.w}}});this.mesh=new Wg(new lo(20,20),e)}A.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}}class Oa extends Je{constructor(A,t){super();const e=this;let i=null,n=1,g=null,o="local-floor",s=1,a=null,r=null,B=null,I=null,Q=null,E=null;const C=new Pa,c=t.getContextAttributes();let l=null,h=null;const d=[],u=[],p=new $e;let f=null;const m=new eo;m.layers.enable(1),m.viewport=new wi;const w=new eo;w.layers.enable(2),w.viewport=new wi;const D=[m,w],y=new Wa;y.layers.enable(1),y.layers.enable(2);let R=null,F=null;function M(A){const t=u.indexOf(A.inputSource);if(-1===t)return;const e=d[t];void 0!==e&&(e.update(A.inputSource,A.frame,a||g),e.dispatchEvent({type:A.type,data:A.inputSource}))}function G(){i.removeEventListener("select",M),i.removeEventListener("selectstart",M),i.removeEventListener("selectend",M),i.removeEventListener("squeeze",M),i.removeEventListener("squeezestart",M),i.removeEventListener("squeezeend",M),i.removeEventListener("end",G),i.removeEventListener("inputsourceschange",S);for(let A=0;A=0&&(u[i]=null,d[i].disconnect(e))}for(let t=0;t=u.length){u.push(e),i=A;break}if(null===u[A]){u[A]=e,i=A;break}}if(-1===i)break}const n=d[i];n&&n.connect(e)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(A){let t=d[A];return void 0===t&&(t=new Xa,d[A]=t),t.getTargetRaySpace()},this.getControllerGrip=function(A){let t=d[A];return void 0===t&&(t=new Xa,d[A]=t),t.getGripSpace()},this.getHand=function(A){let t=d[A];return void 0===t&&(t=new Xa,d[A]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(A){n=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(A){o=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a||g},this.setReferenceSpace=function(A){a=A},this.getBaseLayer=function(){return null!==I?I:Q},this.getBinding=function(){return B},this.getFrame=function(){return E},this.getSession=function(){return i},this.setSession=async function(r){if(i=r,null!==i){if(l=A.getRenderTarget(),i.addEventListener("select",M),i.addEventListener("selectstart",M),i.addEventListener("selectend",M),i.addEventListener("squeeze",M),i.addEventListener("squeezestart",M),i.addEventListener("squeezeend",M),i.addEventListener("end",G),i.addEventListener("inputsourceschange",S),!0!==c.xrCompatible&&await t.makeXRCompatible(),f=A.getPixelRatio(),A.getSize(p),void 0===i.renderState.layers){const e={antialias:c.antialias,alpha:!0,depth:c.depth,stencil:c.stencil,framebufferScaleFactor:n};Q=new XRWebGLLayer(i,t,e),i.updateRenderState({baseLayer:Q}),A.setPixelRatio(1),A.setSize(Q.framebufferWidth,Q.framebufferHeight,!1),h=new yi(Q.framebufferWidth,Q.framebufferHeight,{format:VA,type:GA,colorSpace:A.outputColorSpace,stencilBuffer:c.stencil})}else{let e=null,g=null,o=null;c.depth&&(o=c.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,e=c.stencil?XA:ZA,g=c.stencil?YA:NA);const s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:n};B=new XRWebGLBinding(i,t),I=B.createProjectionLayer(s),i.updateRenderState({layers:[I]}),A.setPixelRatio(1),A.setSize(I.textureWidth,I.textureHeight,!1),h=new yi(I.textureWidth,I.textureHeight,{format:VA,type:GA,depthTexture:new $o(I.textureWidth,I.textureHeight,g,void 0,void 0,void 0,void 0,void 0,void 0,e),stencilBuffer:c.stencil,colorSpace:A.outputColorSpace,samples:c.antialias?4:0}),A.properties.get(h).__ignoreDepthValues=I.ignoreDepthValues}h.isXRRenderTarget=!0,this.setFoveation(s),a=null,g=await i.requestReferenceSpace(o),H.setContext(i),H.start(),e.isPresenting=!0,e.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==i)return i.environmentBlendMode};const U=new Ui,b=new Ui;function x(A,t){null===t?A.matrixWorld.copy(A.matrix):A.matrixWorld.multiplyMatrices(t.matrixWorld,A.matrix),A.matrixWorldInverse.copy(A.matrixWorld).invert()}this.updateCamera=function(A){if(null===i)return;null!==C.texture&&(A.near=C.depthNear,A.far=C.depthFar),y.near=w.near=m.near=A.near,y.far=w.far=m.far=A.far,R===y.near&&F===y.far||(i.updateRenderState({depthNear:y.near,depthFar:y.far}),R=y.near,F=y.far,m.near=R,m.far=F,w.near=R,w.far=F,m.updateProjectionMatrix(),w.updateProjectionMatrix(),A.updateProjectionMatrix());const t=A.parent,e=y.cameras;x(y,t);for(let A=0;A0&&(i.alphaTest.value=n.alphaTest);const g=t.get(n),o=g.envMap,s=g.envMapRotation;if(o&&(i.envMap.value=o,za.copy(s),za.x*=-1,za.y*=-1,za.z*=-1,o.isCubeTexture&&!1===o.isRenderTargetTexture&&(za.y*=-1,za.z*=-1),i.envMapRotation.value.setFromMatrix4(qa.makeRotationFromEuler(za)),i.flipEnvMap.value=o.isCubeTexture&&!1===o.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 t=!0===A._useLegacyLights?Math.PI:1;i.lightMapIntensity.value=n.lightMapIntensity*t,e(n.lightMap,i.lightMapTransform)}n.aoMap&&(i.aoMap.value=n.aoMap,i.aoMapIntensity.value=n.aoMapIntensity,e(n.aoMap,i.aoMapTransform))}return{refreshFogUniforms:function(t,e){e.color.getRGB(t.fogColor.value,Og(A)),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(A,n,g,o,s){n.isMeshBasicMaterial||n.isMeshLambertMaterial?i(A,n):n.isMeshToonMaterial?(i(A,n),function(A,t){t.gradientMap&&(A.gradientMap.value=t.gradientMap)}(A,n)):n.isMeshPhongMaterial?(i(A,n),function(A,t){A.specular.value.copy(t.specular),A.shininess.value=Math.max(t.shininess,1e-4)}(A,n)):n.isMeshStandardMaterial?(i(A,n),function(A,t){A.metalness.value=t.metalness,t.metalnessMap&&(A.metalnessMap.value=t.metalnessMap,e(t.metalnessMap,A.metalnessMapTransform)),A.roughness.value=t.roughness,t.roughnessMap&&(A.roughnessMap.value=t.roughnessMap,e(t.roughnessMap,A.roughnessMapTransform)),t.envMap&&(A.envMapIntensity.value=t.envMapIntensity)}(A,n),n.isMeshPhysicalMaterial&&function(A,t,i){A.ior.value=t.ior,t.sheen>0&&(A.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),A.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(A.sheenColorMap.value=t.sheenColorMap,e(t.sheenColorMap,A.sheenColorMapTransform)),t.sheenRoughnessMap&&(A.sheenRoughnessMap.value=t.sheenRoughnessMap,e(t.sheenRoughnessMap,A.sheenRoughnessMapTransform))),t.clearcoat>0&&(A.clearcoat.value=t.clearcoat,A.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(A.clearcoatMap.value=t.clearcoatMap,e(t.clearcoatMap,A.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,e(t.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(A.clearcoatNormalMap.value=t.clearcoatNormalMap,e(t.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),t.side===c&&A.clearcoatNormalScale.value.negate())),t.iridescence>0&&(A.iridescence.value=t.iridescence,A.iridescenceIOR.value=t.iridescenceIOR,A.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(A.iridescenceMap.value=t.iridescenceMap,e(t.iridescenceMap,A.iridescenceMapTransform)),t.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=t.iridescenceThicknessMap,e(t.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),t.transmission>0&&(A.transmission.value=t.transmission,A.transmissionSamplerMap.value=i.texture,A.transmissionSamplerSize.value.set(i.width,i.height),t.transmissionMap&&(A.transmissionMap.value=t.transmissionMap,e(t.transmissionMap,A.transmissionMapTransform)),A.thickness.value=t.thickness,t.thicknessMap&&(A.thicknessMap.value=t.thicknessMap,e(t.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=t.attenuationDistance,A.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(A.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(A.anisotropyMap.value=t.anisotropyMap,e(t.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=t.specularIntensity,A.specularColor.value.copy(t.specularColor),t.specularColorMap&&(A.specularColorMap.value=t.specularColorMap,e(t.specularColorMap,A.specularColorMapTransform)),t.specularIntensityMap&&(A.specularIntensityMap.value=t.specularIntensityMap,e(t.specularIntensityMap,A.specularIntensityMapTransform))}(A,n,s)):n.isMeshMatcapMaterial?(i(A,n),function(A,t){t.matcap&&(A.matcap.value=t.matcap)}(A,n)):n.isMeshDepthMaterial?i(A,n):n.isMeshDistanceMaterial?(i(A,n),function(A,e){const i=t.get(e).light;A.referencePosition.value.setFromMatrixPosition(i.matrixWorld),A.nearDistance.value=i.shadow.camera.near,A.farDistance.value=i.shadow.camera.far}(A,n)):n.isMeshNormalMaterial?i(A,n):n.isLineBasicMaterial?(function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform))}(A,n),n.isLineDashedMaterial&&function(A,t){A.dashSize.value=t.dashSize,A.totalSize.value=t.dashSize+t.gapSize,A.scale.value=t.scale}(A,n)):n.isPointsMaterial?function(A,t,i,n){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.size.value=t.size*i,A.scale.value=.5*n,t.map&&(A.map.value=t.map,e(t.map,A.uvTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,n,g,o):n.isSpriteMaterial?function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.rotation.value=t.rotation,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,n):n.isShadowMaterial?(A.color.value.copy(n.color),A.opacity.value=n.opacity):n.isShaderMaterial&&(n.uniformsNeedUpdate=!1)}}}function $a(A,t,e,i){let n={},g={},o=[];const s=A.getParameter(A.MAX_UNIFORM_BUFFER_BINDINGS);function a(A,t,e,i){const n=A.value,g=t+"_"+e;if(void 0===i[g])return i[g]="number"==typeof n||"boolean"==typeof n?n:n.clone(),!0;{const A=i[g];if("number"==typeof n||"boolean"==typeof n){if(A!==n)return i[g]=n,!0}else if(!1===A.equals(n))return A.copy(n),!0}return!1}function r(A){const t={boundary:0,storage:0};return"number"==typeof A||"boolean"==typeof A?(t.boundary=4,t.storage=4):A.isVector2?(t.boundary=8,t.storage=8):A.isVector3||A.isColor?(t.boundary=16,t.storage=12):A.isVector4?(t.boundary=16,t.storage=16):A.isMatrix3?(t.boundary=48,t.storage=48):A.isMatrix4?(t.boundary=64,t.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),t}function B(t){const e=t.target;e.removeEventListener("dispose",B);const i=o.indexOf(e.__bindingPointIndex);o.splice(i,1),A.deleteBuffer(n[e.id]),delete n[e.id],delete g[e.id]}return{bind:function(A,t){const e=t.program;i.uniformBlockBinding(A,e)},update:function(e,I){let Q=n[e.id];void 0===Q&&(function(A){const t=A.uniforms;let e=0;for(let A=0,i=t.length;A0&&(e+=16-i),A.__size=e,A.__cache={}}(e),Q=function(t){const e=function(){for(let A=0;A0),I=!!e.morphAttributes.position,Q=!!e.morphAttributes.normal,E=!!e.morphAttributes.color;let C=AA;i.toneMapped&&(null!==R&&!0!==R.isXRRenderTarget||(C=m.toneMapping));const c=e.morphAttributes.position||e.morphAttributes.normal||e.morphAttributes.color,l=void 0!==c?c.length:0,h=tA.get(i),d=u.state.lights;if(!0===V&&(!0===W||A!==M)){const t=A===M&&i.id===F;QA.setState(i,A,t)}let p=!1;i.version===h.__version?h.needsLights&&h.lightsStateVersion!==d.state.version||h.outputColorSpace!==s||n.isBatchedMesh&&!1===h.batching?p=!0:n.isBatchedMesh||!0!==h.batching?n.isInstancedMesh&&!1===h.instancing?p=!0:n.isInstancedMesh||!0!==h.instancing?n.isSkinnedMesh&&!1===h.skinning?p=!0:n.isSkinnedMesh||!0!==h.skinning?n.isInstancedMesh&&!0===h.instancingColor&&null===n.instanceColor||n.isInstancedMesh&&!1===h.instancingColor&&null!==n.instanceColor||n.isInstancedMesh&&!0===h.instancingMorph&&null===n.morphTexture||n.isInstancedMesh&&!1===h.instancingMorph&&null!==n.morphTexture||h.envMap!==a||!0===i.fog&&h.fog!==g?p=!0:void 0===h.numClippingPlanes||h.numClippingPlanes===QA.numPlanes&&h.numIntersection===QA.numIntersection?(h.vertexAlphas!==r||h.vertexTangents!==B||h.morphTargets!==I||h.morphNormals!==Q||h.morphColors!==E||h.toneMapping!==C||h.morphTargetsCount!==l)&&(p=!0):p=!0:p=!0:p=!0:p=!0:(p=!0,h.__version=i.version);let f=h.currentProgram;!0===p&&(f=PA(i,t,n));let w=!1,D=!1,y=!1;const G=f.getUniforms(),S=h.uniforms;if(j.useProgram(f.program)&&(w=!0,D=!0,y=!0),i.id!==F&&(F=i.id,D=!0),w||M!==A){G.setValue(fA,"projectionMatrix",A.projectionMatrix),G.setValue(fA,"viewMatrix",A.matrixWorldInverse);const t=G.map.cameraPosition;void 0!==t&&t.setValue(fA,X.setFromMatrixPosition(A.matrixWorld)),q.logarithmicDepthBuffer&&G.setValue(fA,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&G.setValue(fA,"isOrthographic",!0===A.isOrthographicCamera),M!==A&&(M=A,D=!0,y=!0)}if(n.isSkinnedMesh){G.setOptional(fA,n,"bindMatrix"),G.setOptional(fA,n,"bindMatrixInverse");const A=n.skeleton;A&&(null===A.boneTexture&&A.computeBoneTexture(),G.setValue(fA,"boneTexture",A.boneTexture,eA))}n.isBatchedMesh&&(G.setOptional(fA,n,"batchingTexture"),G.setValue(fA,"batchingTexture",n._matricesTexture,eA));const U=e.morphAttributes;var b,x;if(void 0===U.position&&void 0===U.normal&&void 0===U.color||cA.update(n,e,f),(D||h.receiveShadow!==n.receiveShadow)&&(h.receiveShadow=n.receiveShadow,G.setValue(fA,"receiveShadow",n.receiveShadow)),i.isMeshGouraudMaterial&&null!==i.envMap&&(S.envMap.value=a,S.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1),i.isMeshStandardMaterial&&null===i.envMap&&null!==t.environment&&(S.envMapIntensity.value=t.environmentIntensity),D&&(G.setValue(fA,"toneMappingExposure",m.toneMappingExposure),h.needsLights&&(x=y,(b=S).ambientLightColor.needsUpdate=x,b.lightProbe.needsUpdate=x,b.directionalLights.needsUpdate=x,b.directionalLightShadows.needsUpdate=x,b.pointLights.needsUpdate=x,b.pointLightShadows.needsUpdate=x,b.spotLights.needsUpdate=x,b.spotLightShadows.needsUpdate=x,b.rectAreaLights.needsUpdate=x,b.hemisphereLights.needsUpdate=x),g&&!0===i.fog&&rA.refreshFogUniforms(S,g),rA.refreshMaterialUniforms(S,i,L,H,u.state.transmissionRenderTarget),na.upload(fA,zA(h),S,eA)),i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(na.upload(fA,zA(h),S,eA),i.uniformsNeedUpdate=!1),i.isSpriteMaterial&&G.setValue(fA,"center",n.center),G.setValue(fA,"modelViewMatrix",n.modelViewMatrix),G.setValue(fA,"normalMatrix",n.normalMatrix),G.setValue(fA,"modelMatrix",n.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const A=i.uniformsGroups;for(let t=0,e=A.length;t{function e(){i.forEach((function(A){tA.get(A).currentProgram.isReady()&&i.delete(A)})),0!==i.size?setTimeout(e,10):t(A)}null!==z.get("KHR_parallel_shader_compile")?e():setTimeout(e,10)}))};let xA=null;function TA(){_A.stop()}function JA(){_A.start()}const _A=new Co;function WA(A,t,e,i){if(!1===A.visible)return;if(A.layers.test(t.layers))if(A.isGroup)e=A.renderOrder;else if(A.isLOD)!0===A.autoUpdate&&A.update(t);else if(A.isLight)u.pushLight(A),A.castShadow&&u.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||_.intersectsSprite(A)){i&&X.setFromMatrixPosition(A.matrixWorld).applyMatrix4(K);const t=sA.update(A),n=A.material;n.visible&&d.push(A,t,n,e,X.z,null)}}else if((A.isMesh||A.isLine||A.isPoints)&&(!A.frustumCulled||_.intersectsObject(A))){const t=sA.update(A),n=A.material;if(i&&(void 0!==A.boundingSphere?(null===A.boundingSphere&&A.computeBoundingSphere(),X.copy(A.boundingSphere.center)):(null===t.boundingSphere&&t.computeBoundingSphere(),X.copy(t.boundingSphere.center)),X.applyMatrix4(A.matrixWorld).applyMatrix4(K)),Array.isArray(n)){const i=t.groups;for(let g=0,o=i.length;g0&&function(A,t,e,i){if(null!==(!0===e.isScene?e.overrideMaterial:null))return;null===u.state.transmissionRenderTarget&&(u.state.transmissionRenderTarget=new yi(1,1,{generateMipmaps:!0,type:z.has("EXT_color_buffer_half_float")||z.has("EXT_color_buffer_float")?LA:GA,minFilter:FA,samples:4,stencilBuffer:g}),tA.get(u.state.transmissionRenderTarget).__isTransmissionRenderTarget=!0);const n=u.state.transmissionRenderTarget;m.getDrawingBufferSize(Z),n.setSize(Z.x,Z.y);const o=m.getRenderTarget();m.setRenderTarget(n),m.getClearColor(b),x=m.getClearAlpha(),x<1&&m.setClearColor(16777215,.5),m.clear();const s=m.toneMapping;m.toneMapping=AA,ZA(A,e,i),eA.updateMultisampleRenderTarget(n),eA.updateRenderTargetMipmap(n);let a=!1;for(let A=0,n=t.length;A0&&ZA(n,t,e),o.length>0&&ZA(o,t,e),s.length>0&&ZA(s,t,e),j.buffers.depth.setTest(!0),j.buffers.depth.setMask(!0),j.buffers.color.setMask(!0),j.setPolygonOffset(!1)}function ZA(A,t,e){const i=!0===t.isScene?t.overrideMaterial:null;for(let n=0,g=A.length;n0?f[f.length-1]:null,p.pop(),d=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return D},this.getActiveMipmapLevel=function(){return y},this.getRenderTarget=function(){return R},this.setRenderTargetTextures=function(A,t,e){tA.get(A.texture).__webglTexture=t,tA.get(A.depthTexture).__webglTexture=e;const i=tA.get(A);i.__hasExternalTextures=!0,i.__autoAllocateDepthBuffer=void 0===e,i.__autoAllocateDepthBuffer||!0===z.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(A,t){const e=tA.get(A);e.__webglFramebuffer=t,e.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(A,t=0,e=0){R=A,D=t,y=e;let i=!0,n=null,g=!1,o=!1;if(A){const s=tA.get(A);void 0!==s.__useDefaultFramebuffer?(j.bindFramebuffer(fA.FRAMEBUFFER,null),i=!1):void 0===s.__webglFramebuffer?eA.setupRenderTarget(A):s.__hasExternalTextures&&eA.rebindTextures(A,tA.get(A.texture).__webglTexture,tA.get(A.depthTexture).__webglTexture);const a=A.texture;(a.isData3DTexture||a.isDataArrayTexture||a.isCompressedArrayTexture)&&(o=!0);const r=tA.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(n=Array.isArray(r[t])?r[t][e]:r[t],g=!0):n=A.samples>0&&!1===eA.useMultisampledRTT(A)?tA.get(A).__webglMultisampledFramebuffer:Array.isArray(r)?r[e]:r,G.copy(A.viewport),S.copy(A.scissor),U=A.scissorTest}else G.copy(Y).multiplyScalar(L).floor(),S.copy(T).multiplyScalar(L).floor(),U=J;if(j.bindFramebuffer(fA.FRAMEBUFFER,n)&&i&&j.drawBuffers(A,n),j.viewport(G),j.scissor(S),j.setScissorTest(U),g){const i=tA.get(A.texture);fA.framebufferTexture2D(fA.FRAMEBUFFER,fA.COLOR_ATTACHMENT0,fA.TEXTURE_CUBE_MAP_POSITIVE_X+t,i.__webglTexture,e)}else if(o){const i=tA.get(A.texture),n=t||0;fA.framebufferTextureLayer(fA.FRAMEBUFFER,fA.COLOR_ATTACHMENT0,i.__webglTexture,e||0,n)}F=-1},this.readRenderTargetPixels=function(A,t,e,i,n,g,o){if(!A||!A.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let s=tA.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&void 0!==o&&(s=s[o]),s){j.bindFramebuffer(fA.FRAMEBUFFER,s);try{const o=A.texture,s=o.format,a=o.type;if(s!==VA&&dA.convert(s)!==fA.getParameter(fA.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const r=a===LA&&(z.has("EXT_color_buffer_half_float")||z.has("EXT_color_buffer_float"));if(a!==GA&&dA.convert(a)!==fA.getParameter(fA.IMPLEMENTATION_COLOR_READ_TYPE)&&a!==HA&&!r)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=A.width-i&&e>=0&&e<=A.height-n&&fA.readPixels(t,e,i,n,dA.convert(s),dA.convert(a),g)}finally{const A=null!==R?tA.get(R).__webglFramebuffer:null;j.bindFramebuffer(fA.FRAMEBUFFER,A)}}},this.copyFramebufferToTexture=function(A,t,e=0){const i=Math.pow(2,-e),n=Math.floor(t.image.width*i),g=Math.floor(t.image.height*i);eA.setTexture2D(t,0),fA.copyTexSubImage2D(fA.TEXTURE_2D,e,0,0,A.x,A.y,n,g),j.unbindTexture()},this.copyTextureToTexture=function(A,t,e,i=0){const n=t.image.width,g=t.image.height,o=dA.convert(e.format),s=dA.convert(e.type);eA.setTexture2D(e,0),fA.pixelStorei(fA.UNPACK_FLIP_Y_WEBGL,e.flipY),fA.pixelStorei(fA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha),fA.pixelStorei(fA.UNPACK_ALIGNMENT,e.unpackAlignment),t.isDataTexture?fA.texSubImage2D(fA.TEXTURE_2D,i,A.x,A.y,n,g,o,s,t.image.data):t.isCompressedTexture?fA.compressedTexSubImage2D(fA.TEXTURE_2D,i,A.x,A.y,t.mipmaps[0].width,t.mipmaps[0].height,o,t.mipmaps[0].data):fA.texSubImage2D(fA.TEXTURE_2D,i,A.x,A.y,o,s,t.image),0===i&&e.generateMipmaps&&fA.generateMipmap(fA.TEXTURE_2D),j.unbindTexture()},this.copyTextureToTexture3D=function(A,t,e,i,n=0){const g=Math.round(A.max.x-A.min.x),o=Math.round(A.max.y-A.min.y),s=A.max.z-A.min.z+1,a=dA.convert(i.format),r=dA.convert(i.type);let B;if(i.isData3DTexture)eA.setTexture3D(i,0),B=fA.TEXTURE_3D;else{if(!i.isDataArrayTexture&&!i.isCompressedArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");eA.setTexture2DArray(i,0),B=fA.TEXTURE_2D_ARRAY}fA.pixelStorei(fA.UNPACK_FLIP_Y_WEBGL,i.flipY),fA.pixelStorei(fA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),fA.pixelStorei(fA.UNPACK_ALIGNMENT,i.unpackAlignment);const I=fA.getParameter(fA.UNPACK_ROW_LENGTH),Q=fA.getParameter(fA.UNPACK_IMAGE_HEIGHT),E=fA.getParameter(fA.UNPACK_SKIP_PIXELS),C=fA.getParameter(fA.UNPACK_SKIP_ROWS),c=fA.getParameter(fA.UNPACK_SKIP_IMAGES),l=e.isCompressedTexture?e.mipmaps[n]:e.image;fA.pixelStorei(fA.UNPACK_ROW_LENGTH,l.width),fA.pixelStorei(fA.UNPACK_IMAGE_HEIGHT,l.height),fA.pixelStorei(fA.UNPACK_SKIP_PIXELS,A.min.x),fA.pixelStorei(fA.UNPACK_SKIP_ROWS,A.min.y),fA.pixelStorei(fA.UNPACK_SKIP_IMAGES,A.min.z),e.isDataTexture||e.isData3DTexture?fA.texSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,r,l.data):i.isCompressedArrayTexture?fA.compressedTexSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,l.data):fA.texSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,r,l),fA.pixelStorei(fA.UNPACK_ROW_LENGTH,I),fA.pixelStorei(fA.UNPACK_IMAGE_HEIGHT,Q),fA.pixelStorei(fA.UNPACK_SKIP_PIXELS,E),fA.pixelStorei(fA.UNPACK_SKIP_ROWS,C),fA.pixelStorei(fA.UNPACK_SKIP_IMAGES,c),0===n&&i.generateMipmaps&&fA.generateMipmap(B),j.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?eA.setTextureCube(A,0):A.isData3DTexture?eA.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?eA.setTexture2DArray(A,0):eA.setTexture2D(A,0),j.unbindTexture()},this.resetState=function(){D=0,y=0,R=null,j.reset(),uA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ye}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const t=this.getContext();t.drawingBufferColorSpace=A===jt?"display-p3":"srgb",t.unpackColorSpace=Ei.workingColorSpace===$t?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(A){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=A}}class tr{constructor(A,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new qn(A),this.density=t}clone(){return new tr(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class er{constructor(A,t=1,e=1e3){this.isFog=!0,this.name="",this.color=new qn(A),this.near=t,this.far=e}clone(){return new er(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class ir extends Hn{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new dn,this.environmentIntensity=1,this.environmentRotation=new dn,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(A,t){return super.copy(A,t),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),this.backgroundBlurriness=A.backgroundBlurriness,this.backgroundIntensity=A.backgroundIntensity,this.backgroundRotation.copy(A.backgroundRotation),this.environmentIntensity=A.environmentIntensity,this.environmentRotation.copy(A.environmentRotation),null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.matrixAutoUpdate=A.matrixAutoUpdate,this}toJSON(A){const t=super.toJSON(A);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),1!==this.environmentIntensity&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class nr{constructor(A,t){this.isInterleavedBuffer=!0,this.array=A,this.stride=t,this.count=void 0!==A?A.length/t:0,this.usage=Me,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Ze()}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}get updateRange(){return ai("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,t){this.updateRanges.push({start:A,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this}copyAt(A,t,e){A*=this.stride,e*=t.stride;for(let i=0,n=this.stride;iA.far||t.push({distance:s,point:rr.clone(),uv:Zn.getInterpolation(rr,cr,lr,hr,dr,ur,pr,new $e),face:null,object:this})}copy(A,t){return super.copy(A,t),void 0!==A.center&&this.center.copy(A.center),this.material=A.material,this}}function mr(A,t,e,i,n,g){Qr.subVectors(A,e).addScalar(.5).multiply(i),void 0!==n?(Er.x=g*Qr.x-n*Qr.y,Er.y=n*Qr.x+g*Qr.y):Er.copy(Qr),A.copy(t),A.x+=Er.x,A.y+=Er.y,A.applyMatrix4(Cr)}const wr=new Ui,Dr=new Ui;class yr extends Hn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(A){super.copy(A,!1);const t=A.levels;for(let A=0,e=t.length;A0){let e,i;for(e=1,i=t.length;e0){wr.setFromMatrixPosition(this.matrixWorld);const e=A.ray.origin.distanceTo(wr);this.getObjectForDistance(e).raycast(A,t)}}update(A){const t=this.levels;if(t.length>1){wr.setFromMatrixPosition(A.matrixWorld),Dr.setFromMatrixPosition(this.matrixWorld);const e=wr.distanceTo(Dr)/A.zoom;let i,n;for(t[0].object.visible=!0,i=1,n=t.length;i=A))break;t[i-1].object.visible=!1,t[i].object.visible=!0}for(this._currentLevel=i-1;i=e.length&&e.push({start:-1,count:-1,z:-1});const n=e[this.index];i.push(n),this.index++,n.start=A.start,n.count=A.count,n.z=t}reset(){this.list.length=0,this.index=0}}const $r="batchId",AB=new an,tB=new an,eB=new an,iB=new an,nB=new Eo,gB=new Ni,oB=new ji,sB=new Ui,aB=new jr,rB=new Wg,BB=[];function IB(A,t,e=0){const i=t.itemSize;if(A.isInterleavedBufferAttribute||A.array.constructor!==t.array.constructor){const n=A.count;for(let g=0;g65536?new Uint32Array(n):new Uint16Array(n);t.setIndex(new rg(A,1))}const g=i>65536?new Uint32Array(e):new Uint16Array(e);t.setAttribute($r,new rg(g,1)),this._geometryInitialized=!0}}_validateGeometry(A){if(A.getAttribute($r))throw new Error(`BatchedMesh: Geometry cannot use attribute "${$r}"`);const t=this.geometry;if(Boolean(A.getIndex())!==Boolean(t.getIndex()))throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const e in t.attributes){if(e===$r)continue;if(!A.hasAttribute(e))throw new Error(`BatchedMesh: Added geometry missing "${e}". All geometries must have consistent attributes.`);const i=A.getAttribute(e),n=t.getAttribute(e);if(i.itemSize!==n.itemSize||i.normalized!==n.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(A){return this.customSort=A,this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Ni);const A=this._geometryCount,t=this.boundingBox,e=this._active;t.makeEmpty();for(let i=0;i=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let n=null;const g=this._reservedRanges,o=this._drawRanges,s=this._bounds;0!==this._geometryCount&&(n=g[g.length-1]),i.vertexCount=-1===t?A.getAttribute("position").count:t,i.vertexStart=null===n?0:n.vertexStart+n.vertexCount;const a=A.getIndex(),r=null!==a;if(r&&(i.indexCount=-1===e?a.count:e,i.indexStart=null===n?0:n.indexStart+n.indexCount),-1!==i.indexStart&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const B=this._visibility,I=this._active,Q=this._matricesTexture,E=this._matricesTexture.image.data;B.push(!0),I.push(!0);const C=this._geometryCount;this._geometryCount++,eB.toArray(E,16*C),Q.needsUpdate=!0,g.push(i),o.push({start:r?i.indexStart:i.vertexStart,count:-1}),s.push({boxInitialized:!1,box:new Ni,sphereInitialized:!1,sphere:new ji});const c=this.geometry.getAttribute($r);for(let A=0;A=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const e=this.geometry,i=null!==e.getIndex(),n=e.getIndex(),g=t.getIndex(),o=this._reservedRanges[A];if(i&&g.count>o.indexCount||t.attributes.position.count>o.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const s=o.vertexStart,a=o.vertexCount;for(const A in e.attributes){if(A===$r)continue;const i=t.getAttribute(A),n=e.getAttribute(A);IB(i,n,s);const g=i.itemSize;for(let A=i.count,t=a;A=t.length||!1===t[A]||(t[A]=!1,this._visibilityChanged=!0),this}getBoundingBoxAt(A,t){if(!1===this._active[A])return null;const e=this._bounds[A],i=e.box,n=this.geometry;if(!1===e.boxInitialized){i.makeEmpty();const t=n.index,g=n.attributes.position,o=this._drawRanges[A];for(let A=o.start,e=o.start+o.count;A=this._geometryCount||!1===e[A]||(t.toArray(n,16*A),i.needsUpdate=!0),this}getMatrixAt(A,t){const e=this._active,i=this._matricesTexture.image.data;return A>=this._geometryCount||!1===e[A]?null:t.fromArray(i,16*A)}setVisibleAt(A,t){const e=this._visibility,i=this._active;return A>=this._geometryCount||!1===i[A]||e[A]===t||(e[A]=t,this._visibilityChanged=!0),this}getVisibleAt(A){const t=this._visibility,e=this._active;return!(A>=this._geometryCount||!1===e[A])&&t[A]}raycast(A,t){const e=this._visibility,i=this._active,n=this._drawRanges,g=this._geometryCount,o=this.matrixWorld,s=this.geometry;rB.material=this.material,rB.geometry.index=s.index,rB.geometry.attributes=s.attributes,null===rB.geometry.boundingBox&&(rB.geometry.boundingBox=new Ni),null===rB.geometry.boundingSphere&&(rB.geometry.boundingSphere=new ji);for(let s=0;s({...A}))),this._reservedRanges=A._reservedRanges.map((A=>({...A}))),this._visibility=A._visibility.slice(),this._active=A._active.slice(),this._bounds=A._bounds.map((A=>({boxInitialized:A.boxInitialized,box:A.box.clone(),sphereInitialized:A.sphereInitialized,sphere:A.sphere.clone()}))),this._maxGeometryCount=A._maxGeometryCount,this._maxVertexCount=A._maxVertexCount,this._maxIndexCount=A._maxIndexCount,this._geometryInitialized=A._geometryInitialized,this._geometryCount=A._geometryCount,this._multiDrawCounts=A._multiDrawCounts.slice(),this._multiDrawStarts=A._multiDrawStarts.slice(),this._matricesTexture=A._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(A,t,e,i,n){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const g=i.getIndex(),o=null===g?1:g.array.BYTES_PER_ELEMENT,s=this._active,a=this._visibility,r=this._multiDrawStarts,B=this._multiDrawCounts,I=this._drawRanges,Q=this.perObjectFrustumCulled;Q&&(iB.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse).multiply(this.matrixWorld),nB.setFromProjectionMatrix(iB,A.coordinateSystem));let E=0;if(this.sortObjects){tB.copy(this.matrixWorld).invert(),sB.setFromMatrixPosition(e.matrixWorld).applyMatrix4(tB);for(let A=0,t=a.length;As)continue;I.applyMatrix4(this.matrixWorld);const g=A.ray.origin.distanceTo(I);gA.far||t.push({distance:g,point:B.clone().applyMatrix4(this.matrixWorld),index:e,face:null,faceIndex:null,object:this})}else for(let e=Math.max(0,g.start),i=Math.min(C.count,g.start+g.count)-1;es)continue;I.applyMatrix4(this.matrixWorld);const i=A.ray.origin.distanceTo(I);iA.far||t.push({distance:i,point:B.clone().applyMatrix4(this.matrixWorld),index:e,face:null,faceIndex:null,object:this})}}updateMorphTargets(){const A=this.geometry.morphAttributes,t=Object.keys(A);if(t.length>0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;A0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;An.far)return;g.push({distance:a,distanceToRay:Math.sqrt(s),point:e,index:t,face:null,object:o})}}class UB extends mi{constructor(A,t,e,i,n,g,o,s,a){super(A,t,e,i,n,g,o,s,a),this.isVideoTexture=!0,this.minFilter=void 0!==g?g:DA,this.magFilter=void 0!==n?n:DA,this.generateMipmaps=!1;const r=this;"requestVideoFrameCallback"in A&&A.requestVideoFrameCallback((function t(){r.needsUpdate=!0,A.requestVideoFrameCallback(t)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const A=this.image;!1=="requestVideoFrameCallback"in A&&A.readyState>=A.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class bB extends mi{constructor(A,t){super({width:A,height:t}),this.isFramebufferTexture=!0,this.magFilter=uA,this.minFilter=uA,this.generateMipmaps=!1,this.needsUpdate=!0}}class xB extends mi{constructor(A,t,e,i,n,g,o,s,a,r,B,I){super(null,g,o,s,a,r,i,n,B,I),this.isCompressedTexture=!0,this.image={width:t,height:e},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}}class NB extends xB{constructor(A,t,e,i,n,g){super(A,t,e,n,g),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=hA}}class HB extends xB{constructor(A,t,e){super(void 0,A[0].width,A[0].height,t,e,IA),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=A}}class LB extends mi{constructor(A,t,e,i,n,g,o,s,a){super(A,t,e,i,n,g,o,s,a),this.isCanvasTexture=!0,this.needsUpdate=!0}}class kB{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(A,t){const e=this.getUtoTmapping(A);return this.getPoint(e,t)}getPoints(A=5){const t=[];for(let e=0;e<=A;e++)t.push(this.getPoint(e/A));return t}getSpacedPoints(A=5){const t=[];for(let e=0;e<=A;e++)t.push(this.getPointAt(e/A));return t}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(A=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let e,i=this.getPoint(0),n=0;t.push(0);for(let g=1;g<=A;g++)e=this.getPoint(g/A),n+=e.distanceTo(i),t.push(n),i=e;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(A,t){const e=this.getLengths();let i=0;const n=e.length;let g;g=t||A*e[n-1];let o,s=0,a=n-1;for(;s<=a;)if(i=Math.floor(s+(a-s)/2),o=e[i]-g,o<0)s=i+1;else{if(!(o>0)){a=i;break}a=i-1}if(i=a,e[i]===g)return i/(n-1);const r=e[i];return(i+(g-r)/(e[i+1]-r))/(n-1)}getTangent(A,t){const e=1e-4;let i=A-e,n=A+e;i<0&&(i=0),n>1&&(n=1);const g=this.getPoint(i),o=this.getPoint(n),s=t||(g.isVector2?new $e:new Ui);return s.copy(o).sub(g).normalize(),s}getTangentAt(A,t){const e=this.getUtoTmapping(A);return this.getTangent(e,t)}computeFrenetFrames(A,t){const e=new Ui,i=[],n=[],g=[],o=new Ui,s=new an;for(let t=0;t<=A;t++){const e=t/A;i[t]=this.getTangentAt(e,new Ui)}n[0]=new Ui,g[0]=new Ui;let a=Number.MAX_VALUE;const r=Math.abs(i[0].x),B=Math.abs(i[0].y),I=Math.abs(i[0].z);r<=a&&(a=r,e.set(1,0,0)),B<=a&&(a=B,e.set(0,1,0)),I<=a&&e.set(0,0,1),o.crossVectors(i[0],e).normalize(),n[0].crossVectors(i[0],o),g[0].crossVectors(i[0],n[0]);for(let t=1;t<=A;t++){if(n[t]=n[t-1].clone(),g[t]=g[t-1].clone(),o.crossVectors(i[t-1],i[t]),o.length()>Number.EPSILON){o.normalize();const A=Math.acos(Xe(i[t-1].dot(i[t]),-1,1));n[t].applyMatrix4(s.makeRotationAxis(o,A))}g[t].crossVectors(i[t],n[t])}if(!0===t){let t=Math.acos(Xe(n[0].dot(n[A]),-1,1));t/=A,i[0].dot(o.crossVectors(n[0],n[A]))>0&&(t=-t);for(let e=1;e<=A;e++)n[e].applyMatrix4(s.makeRotationAxis(i[e],t*e)),g[e].crossVectors(i[e],n[e])}return{tangents:i,normals:n,binormals:g}}clone(){return(new this.constructor).copy(this)}copy(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}toJSON(){const A={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A}fromJSON(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}class vB extends kB{constructor(A=0,t=0,e=1,i=1,n=0,g=2*Math.PI,o=!1,s=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=A,this.aY=t,this.xRadius=e,this.yRadius=i,this.aStartAngle=n,this.aEndAngle=g,this.aClockwise=o,this.aRotation=s}getPoint(A,t=new $e){const e=t,i=2*Math.PI;let n=this.aEndAngle-this.aStartAngle;const g=Math.abs(n)i;)n-=i;n0?0:(Math.floor(Math.abs(a)/n)+1)*n:0===r&&a===n-1&&(a=n-2,r=1),this.closed||a>0?o=i[(a-1)%n]:(JB.subVectors(i[0],i[1]).add(i[0]),o=JB);const B=i[a%n],I=i[(a+1)%n];if(this.closed||a+2i.length-2?i.length-1:g+1],B=i[g>i.length-3?i.length-1:g+2];return e.set(ZB(o,s.x,a.x,r.x,B.x),ZB(o,s.y,a.y,r.y,B.y)),e}copy(A){super.copy(A),this.points=[];for(let t=0,e=A.points.length;t=e){const A=i[n]-e,g=this.curves[n],o=g.getLength(),s=0===o?0:1-A/o;return g.getPointAt(s,t)}n++}return null}getLength(){const A=this.getCurveLengths();return A[A.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 A=[];let t=0;for(let e=0,i=this.curves.length;e1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(A){super.copy(A),this.curves=[];for(let t=0,e=A.curves.length;t0){const A=a.getPoint(0);A.equals(this.currentPoint)||this.lineTo(A.x,A.y)}this.curves.push(a);const r=a.getPoint(1);return this.currentPoint.copy(r),this}copy(A){return super.copy(A),this.currentPoint.copy(A.currentPoint),this}toJSON(){const A=super.toJSON();return A.currentPoint=this.currentPoint.toArray(),A}fromJSON(A){return super.fromJSON(A),this.currentPoint.fromArray(A.currentPoint),this}}class gI extends Rg{constructor(A=[new $e(0,-.5),new $e(.5,0),new $e(0,.5)],t=12,e=0,i=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:A,segments:t,phiStart:e,phiLength:i},t=Math.floor(t),i=Xe(i,0,2*Math.PI);const n=[],g=[],o=[],s=[],a=[],r=1/t,B=new Ui,I=new $e,Q=new Ui,E=new Ui,C=new Ui;let c=0,l=0;for(let t=0;t<=A.length-1;t++)switch(t){case 0:c=A[t+1].x-A[t].x,l=A[t+1].y-A[t].y,Q.x=1*l,Q.y=-c,Q.z=0*l,C.copy(Q),Q.normalize(),s.push(Q.x,Q.y,Q.z);break;case A.length-1:s.push(C.x,C.y,C.z);break;default:c=A[t+1].x-A[t].x,l=A[t+1].y-A[t].y,Q.x=1*l,Q.y=-c,Q.z=0*l,E.copy(Q),Q.x+=C.x,Q.y+=C.y,Q.z+=C.z,Q.normalize(),s.push(Q.x,Q.y,Q.z),C.copy(E)}for(let n=0;n<=t;n++){const Q=e+n*r*i,E=Math.sin(Q),C=Math.cos(Q);for(let e=0;e<=A.length-1;e++){B.x=A[e].x*E,B.y=A[e].y,B.z=A[e].x*C,g.push(B.x,B.y,B.z),I.x=n/t,I.y=e/(A.length-1),o.push(I.x,I.y);const i=s[3*e+0]*E,r=s[3*e+1],Q=s[3*e+0]*C;a.push(i,r,Q)}}for(let e=0;e0&&h(!0),t>0&&h(!1)),this.setIndex(r),this.setAttribute("position",new dg(B,3)),this.setAttribute("normal",new dg(I,3)),this.setAttribute("uv",new dg(Q,2))}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new aI(A.radiusTop,A.radiusBottom,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class rI extends aI{constructor(A=1,t=1,e=32,i=1,n=!1,g=0,o=2*Math.PI){super(0,A,t,e,i,n,g,o),this.type="ConeGeometry",this.parameters={radius:A,height:t,radialSegments:e,heightSegments:i,openEnded:n,thetaStart:g,thetaLength:o}}static fromJSON(A){return new rI(A.radius,A.height,A.radialSegments,A.heightSegments,A.openEnded,A.thetaStart,A.thetaLength)}}class BI extends Rg{constructor(A=[],t=[],e=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:t,radius:e,detail:i};const n=[],g=[];function o(A,t,e,i){const n=i+1,g=[];for(let i=0;i<=n;i++){g[i]=[];const o=A.clone().lerp(e,i/n),s=t.clone().lerp(e,i/n),a=n-i;for(let A=0;A<=a;A++)g[i][A]=0===A&&i===n?o:o.clone().lerp(s,A/a)}for(let A=0;A.9&&o<.1&&(t<.2&&(g[A+0]+=1),e<.2&&(g[A+2]+=1),i<.2&&(g[A+4]+=1))}}()}(),this.setAttribute("position",new dg(n,3)),this.setAttribute("normal",new dg(n.slice(),3)),this.setAttribute("uv",new dg(g,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}copy(A){return super.copy(A),this.parameters=Object.assign({},A.parameters),this}static fromJSON(A){return new BI(A.vertices,A.indices,A.radius,A.details)}}class II extends BI{constructor(A=1,t=0){const e=(1+Math.sqrt(5))/2,i=1/e;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,-i,-e,0,-i,e,0,i,-e,0,i,e,-i,-e,0,-i,e,0,i,-e,0,i,e,0,-e,0,-i,e,0,-i,-e,0,i,e,0,i],[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],A,t),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:t}}static fromJSON(A){return new II(A.radius,A.detail)}}const QI=new Ui,EI=new Ui,CI=new Ui,cI=new Zn;class lI extends Rg{constructor(A=null,t=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:A,thresholdAngle:t},null!==A){const e=4,i=Math.pow(10,e),n=Math.cos(We*t),g=A.getIndex(),o=A.getAttribute("position"),s=g?g.count:o.count,a=[0,0,0],r=["a","b","c"],B=new Array(3),I={},Q=[];for(let A=0;A0)for(g=t;g=t;g-=i)o=YI(g,A[g],A[g+1],o);return o&&xI(o,o.next)&&(TI(o),o=o.next),o}function uI(A,t){if(!A)return A;t||(t=A);let e,i=A;do{if(e=!1,i.steiner||!xI(i,i.next)&&0!==bI(i.prev,i,i.next))i=i.next;else{if(TI(i),i=t=i.prev,i===i.next)break;e=!0}}while(e||i!==t);return t}function pI(A,t,e,i,n,g,o){if(!A)return;!o&&g&&function(A,t,e,i){let n=A;do{0===n.z&&(n.z=MI(n.x,n.y,t,e,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==A);n.prevZ.nextZ=null,n.prevZ=null,function(A){let t,e,i,n,g,o,s,a,r=1;do{for(e=A,A=null,g=null,o=0;e;){for(o++,i=e,s=0,t=0;t0||a>0&&i;)0!==s&&(0===a||!i||e.z<=i.z)?(n=e,e=e.nextZ,s--):(n=i,i=i.nextZ,a--),g?g.nextZ=n:A=n,n.prevZ=g,g=n;e=i}g.nextZ=null,r*=2}while(o>1)}(n)}(A,i,n,g);let s,a,r=A;for(;A.prev!==A.next;)if(s=A.prev,a=A.next,g?mI(A,i,n,g):fI(A))t.push(s.i/e|0),t.push(A.i/e|0),t.push(a.i/e|0),TI(A),A=a.next,r=a.next;else if((A=a)===r){o?1===o?pI(A=wI(uI(A),t,e),t,e,i,n,g,2):2===o&&DI(A,t,e,i,n,g):pI(uI(A),t,e,i,n,g,1);break}}function fI(A){const t=A.prev,e=A,i=A.next;if(bI(t,e,i)>=0)return!1;const n=t.x,g=e.x,o=i.x,s=t.y,a=e.y,r=i.y,B=ng?n>o?n:o:g>o?g:o,E=s>a?s>r?s:r:a>r?a:r;let C=i.next;for(;C!==t;){if(C.x>=B&&C.x<=Q&&C.y>=I&&C.y<=E&&SI(n,s,g,a,o,r,C.x,C.y)&&bI(C.prev,C,C.next)>=0)return!1;C=C.next}return!0}function mI(A,t,e,i){const n=A.prev,g=A,o=A.next;if(bI(n,g,o)>=0)return!1;const s=n.x,a=g.x,r=o.x,B=n.y,I=g.y,Q=o.y,E=sa?s>r?s:r:a>r?a:r,l=B>I?B>Q?B:Q:I>Q?I:Q,h=MI(E,C,t,e,i),d=MI(c,l,t,e,i);let u=A.prevZ,p=A.nextZ;for(;u&&u.z>=h&&p&&p.z<=d;){if(u.x>=E&&u.x<=c&&u.y>=C&&u.y<=l&&u!==n&&u!==o&&SI(s,B,a,I,r,Q,u.x,u.y)&&bI(u.prev,u,u.next)>=0)return!1;if(u=u.prevZ,p.x>=E&&p.x<=c&&p.y>=C&&p.y<=l&&p!==n&&p!==o&&SI(s,B,a,I,r,Q,p.x,p.y)&&bI(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(;u&&u.z>=h;){if(u.x>=E&&u.x<=c&&u.y>=C&&u.y<=l&&u!==n&&u!==o&&SI(s,B,a,I,r,Q,u.x,u.y)&&bI(u.prev,u,u.next)>=0)return!1;u=u.prevZ}for(;p&&p.z<=d;){if(p.x>=E&&p.x<=c&&p.y>=C&&p.y<=l&&p!==n&&p!==o&&SI(s,B,a,I,r,Q,p.x,p.y)&&bI(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}function wI(A,t,e){let i=A;do{const n=i.prev,g=i.next.next;!xI(n,g)&&NI(n,i,i.next,g)&&kI(n,g)&&kI(g,n)&&(t.push(n.i/e|0),t.push(i.i/e|0),t.push(g.i/e|0),TI(i),TI(i.next),i=A=g),i=i.next}while(i!==A);return uI(i)}function DI(A,t,e,i,n,g){let o=A;do{let A=o.next.next;for(;A!==o.prev;){if(o.i!==A.i&&UI(o,A)){let s=vI(o,A);return o=uI(o,o.next),s=uI(s,s.next),pI(o,t,e,i,n,g,0),void pI(s,t,e,i,n,g,0)}A=A.next}o=o.next}while(o!==A)}function yI(A,t){return A.x-t.x}function RI(A,t){const e=function(A,t){let e,i=t,n=-1/0;const g=A.x,o=A.y;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){const A=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(A<=g&&A>n&&(n=A,e=i.x=i.x&&i.x>=a&&g!==i.x&&SI(oe.x||i.x===e.x&&FI(e,i)))&&(e=i,I=B)),i=i.next}while(i!==s);return e}(A,t);if(!e)return t;const i=vI(e,A);return uI(i,i.next),uI(e,e.next)}function FI(A,t){return bI(A.prev,A,t.prev)<0&&bI(t.next,A,A.next)<0}function MI(A,t,e,i,n){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-e)*n|0)|A<<8))|A<<4))|A<<2))|A<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function GI(A){let t=A,e=A;do{(t.x=(A-o)*(g-s)&&(A-o)*(i-s)>=(e-o)*(t-s)&&(e-o)*(g-s)>=(n-o)*(i-s)}function UI(A,t){return A.next.i!==t.i&&A.prev.i!==t.i&&!function(A,t){let e=A;do{if(e.i!==A.i&&e.next.i!==A.i&&e.i!==t.i&&e.next.i!==t.i&&NI(e,e.next,A,t))return!0;e=e.next}while(e!==A);return!1}(A,t)&&(kI(A,t)&&kI(t,A)&&function(A,t){let e=A,i=!1;const n=(A.x+t.x)/2,g=(A.y+t.y)/2;do{e.y>g!=e.next.y>g&&e.next.y!==e.y&&n<(e.next.x-e.x)*(g-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next}while(e!==A);return i}(A,t)&&(bI(A.prev,A,t.prev)||bI(A,t.prev,t))||xI(A,t)&&bI(A.prev,A,A.next)>0&&bI(t.prev,t,t.next)>0)}function bI(A,t,e){return(t.y-A.y)*(e.x-t.x)-(t.x-A.x)*(e.y-t.y)}function xI(A,t){return A.x===t.x&&A.y===t.y}function NI(A,t,e,i){const n=LI(bI(A,t,e)),g=LI(bI(A,t,i)),o=LI(bI(e,i,A)),s=LI(bI(e,i,t));return n!==g&&o!==s||!(0!==n||!HI(A,e,t))||!(0!==g||!HI(A,i,t))||!(0!==o||!HI(e,A,i))||!(0!==s||!HI(e,t,i))}function HI(A,t,e){return t.x<=Math.max(A.x,e.x)&&t.x>=Math.min(A.x,e.x)&&t.y<=Math.max(A.y,e.y)&&t.y>=Math.min(A.y,e.y)}function LI(A){return A>0?1:A<0?-1:0}function kI(A,t){return bI(A.prev,A,A.next)<0?bI(A,t,A.next)>=0&&bI(A,A.prev,t)>=0:bI(A,t,A.prev)<0||bI(A,A.next,t)<0}function vI(A,t){const e=new JI(A.i,A.x,A.y),i=new JI(t.i,t.x,t.y),n=A.next,g=t.prev;return A.next=t,t.prev=A,e.next=n,n.prev=e,i.next=e,e.prev=i,g.next=i,i.prev=g,i}function YI(A,t,e,i){const n=new JI(A,t,e);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function TI(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function JI(A,t,e){this.i=A,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class _I{static area(A){const t=A.length;let e=0;for(let i=t-1,n=0;n80*e){s=r=A[0],a=B=A[1];for(let t=e;tr&&(r=I),Q>B&&(B=Q);E=Math.max(r-s,B-a),E=0!==E?32767/E:0}return pI(g,o,e,s,a,E,0),o}(e,i);for(let A=0;A2&&A[t-1].equals(A[0])&&A.pop()}function WI(A,t){for(let e=0;eNumber.EPSILON){const I=Math.sqrt(B),Q=Math.sqrt(a*a+r*r),E=t.x-s/I,C=t.y+o/I,c=((e.x-r/Q-E)*r-(e.y+a/Q-C)*a)/(o*r-s*a);i=E+o*c-A.x,n=C+s*c-A.y;const l=i*i+n*n;if(l<=2)return new $e(i,n);g=Math.sqrt(l/2)}else{let A=!1;o>Number.EPSILON?a>Number.EPSILON&&(A=!0):o<-Number.EPSILON?a<-Number.EPSILON&&(A=!0):Math.sign(s)===Math.sign(r)&&(A=!0),A?(i=-s,n=o,g=Math.sqrt(B)):(i=o,n=s,g=Math.sqrt(B/2))}return new $e(i/g,n/g)}const U=[];for(let A=0,t=R.length,e=t-1,i=A+1;A=0;A--){const t=A/E,e=B*Math.cos(t*Math.PI/2),i=I*Math.sin(t*Math.PI/2)+Q;for(let A=0,t=R.length;A=0;){const i=e;let n=e-1;n<0&&(n=A.length-1);for(let A=0,e=s+2*E;A0)&&Q.push(t,n,a),(A!==e-1||s0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class rQ extends Ag{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new qn(16777215),this.specular=new qn(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new dn,this.combine=q,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class BQ extends Ag{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new qn(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xt,this.normalScale=new $e(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class IQ extends Ag{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class QQ extends Ag{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new qn(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new qn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new dn,this.combine=q,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapRotation.copy(A.envMapRotation),this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class EQ extends Ag{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new qn(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Xt,this.normalScale=new $e(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class CQ extends EB{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function cQ(A,t,e){return!A||!e&&A.constructor===t?A:"number"==typeof t.BYTES_PER_ELEMENT?new t(A):Array.prototype.slice.call(A)}function lQ(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)}function hQ(A){const t=A.length,e=new Array(t);for(let A=0;A!==t;++A)e[A]=A;return e.sort((function(t,e){return A[t]-A[e]})),e}function dQ(A,t,e){const i=A.length,n=new A.constructor(i);for(let g=0,o=0;o!==i;++g){const i=e[g]*t;for(let e=0;e!==t;++e)n[o++]=A[i+e]}return n}function uQ(A,t,e,i){let n=1,g=A[0];for(;void 0!==g&&void 0===g[i];)g=A[n++];if(void 0===g)return;let o=g[i];if(void 0!==o)if(Array.isArray(o))do{o=g[i],void 0!==o&&(t.push(g.time),e.push.apply(e,o)),g=A[n++]}while(void 0!==g);else if(void 0!==o.toArray)do{o=g[i],void 0!==o&&(t.push(g.time),o.toArray(e,e.length)),g=A[n++]}while(void 0!==g);else do{o=g[i],void 0!==o&&(t.push(g.time),e.push(o)),g=A[n++]}while(void 0!==g)}const pQ={convertArray:cQ,isTypedArray:lQ,getKeyframeOrder:hQ,sortedArray:dQ,flattenJSON:uQ,subclip:function(A,t,e,i,n=30){const g=A.clone();g.name=t;const o=[];for(let A=0;A=i)){a.push(t.times[A]);for(let e=0;eg.tracks[A].times[0]&&(s=g.tracks[A].times[0]);for(let A=0;A=i.times[I]){const A=I*a+s,t=A+a-s;Q=i.values.slice(A,t)}else{const A=i.createInterpolant(),t=s,e=a-s;A.evaluate(g),Q=A.resultBuffer.slice(t,e)}"quaternion"===n&&(new Si).fromArray(Q).normalize().conjugate().toArray(Q);const E=o.times.length;for(let A=0;A=n)break A;{const o=t[1];A=n)break t}g=e,e=0}}for(;e>>1;At;)--g;if(++g,0!==n||g!==i){n>=g&&(g=Math.max(g,1),n=g-1);const A=this.getValueSize();this.times=e.slice(n,g),this.values=this.values.slice(n*A,g*A)}return this}validate(){let A=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const e=this.times,i=this.values,n=e.length;0===n&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let g=null;for(let t=0;t!==n;t++){const i=e[t];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,i),A=!1;break}if(null!==g&&g>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,i,g),A=!1;break}g=i}if(void 0!==i&&lQ(i))for(let t=0,e=i.length;t!==e;++t){const e=i[t];if(isNaN(e)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,e),A=!1;break}}return A}optimize(){const A=this.times.slice(),t=this.values.slice(),e=this.getValueSize(),i=this.getInterpolation()===Lt,n=A.length-1;let g=1;for(let o=1;o0){A[g]=A[n];for(let A=n*e,i=g*e,o=0;o!==e;++o)t[i+o]=t[A+o];++g}return g!==A.length?(this.times=A.slice(0,g),this.values=t.slice(0,g*e)):(this.times=A,this.values=t),this}clone(){const A=this.times.slice(),t=this.values.slice(),e=new(0,this.constructor)(this.name,A,t);return e.createInterpolant=this.createInterpolant,e}}yQ.prototype.TimeBufferType=Float32Array,yQ.prototype.ValueBufferType=Float32Array,yQ.prototype.DefaultInterpolation=Ht;class RQ extends yQ{}RQ.prototype.ValueTypeName="bool",RQ.prototype.ValueBufferType=Array,RQ.prototype.DefaultInterpolation=Nt,RQ.prototype.InterpolantFactoryMethodLinear=void 0,RQ.prototype.InterpolantFactoryMethodSmooth=void 0;class FQ extends yQ{}FQ.prototype.ValueTypeName="color";class MQ extends yQ{}MQ.prototype.ValueTypeName="number";class GQ extends fQ{constructor(A,t,e,i){super(A,t,e,i)}interpolate_(A,t,e,i){const n=this.resultBuffer,g=this.sampleValues,o=this.valueSize,s=(e-t)/(i-t);let a=A*o;for(let A=a+o;a!==A;a+=4)Si.slerpFlat(n,0,g,a-o,g,a,s);return n}}class SQ extends yQ{InterpolantFactoryMethodLinear(A){return new GQ(this.times,this.values,this.getValueSize(),A)}}SQ.prototype.ValueTypeName="quaternion",SQ.prototype.DefaultInterpolation=Ht,SQ.prototype.InterpolantFactoryMethodSmooth=void 0;class UQ extends yQ{}UQ.prototype.ValueTypeName="string",UQ.prototype.ValueBufferType=Array,UQ.prototype.DefaultInterpolation=Nt,UQ.prototype.InterpolantFactoryMethodLinear=void 0,UQ.prototype.InterpolantFactoryMethodSmooth=void 0;class bQ extends yQ{}bQ.prototype.ValueTypeName="vector";class xQ{constructor(A="",t=-1,e=[],i=Tt){this.name=A,this.tracks=e,this.duration=t,this.blendMode=i,this.uuid=Ze(),this.duration<0&&this.resetDuration()}static parse(A){const t=[],e=A.tracks,i=1/(A.fps||1);for(let A=0,n=e.length;A!==n;++A)t.push(NQ(e[A]).scale(i));const n=new this(A.name,A.duration,t,A.blendMode);return n.uuid=A.uuid,n}static toJSON(A){const t=[],e=A.tracks,i={name:A.name,duration:A.duration,tracks:t,uuid:A.uuid,blendMode:A.blendMode};for(let A=0,i=e.length;A!==i;++A)t.push(yQ.toJSON(e[A]));return i}static CreateFromMorphTargetSequence(A,t,e,i){const n=t.length,g=[];for(let A=0;A1){const A=g[1];let t=i[A];t||(i[A]=t=[]),t.push(e)}}const g=[];for(const A in i)g.push(this.CreateFromMorphTargetSequence(A,i[A],t,e));return g}static parseAnimation(A,t){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const e=function(A,t,e,i,n){if(0!==e.length){const g=[],o=[];uQ(e,g,o,i),0!==g.length&&n.push(new A(t,g,o))}},i=[],n=A.name||"default",g=A.fps||30,o=A.blendMode;let s=A.length||-1;const a=A.hierarchy||[];for(let A=0;A{t&&t(n),this.manager.itemEnd(A)}),0),n;if(void 0!==YQ[A])return void YQ[A].push({onLoad:t,onProgress:e,onError:i});YQ[A]=[],YQ[A].push({onLoad:t,onProgress:e,onError:i});const g=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),o=this.mimeType,s=this.responseType;fetch(g).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const e=YQ[A],i=t.body.getReader(),n=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),g=n?parseInt(n):0,o=0!==g;let s=0;const a=new ReadableStream({start(A){!function t(){i.read().then((({done:i,value:n})=>{if(i)A.close();else{s+=n.byteLength;const i=new ProgressEvent("progress",{lengthComputable:o,loaded:s,total:g});for(let A=0,t=e.length;A{switch(s){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then((A=>(new DOMParser).parseFromString(A,o)));case"json":return A.json();default:if(void 0===o)return A.text();{const t=/charset="?([^;"\s]*)"?/i.exec(o),e=t&&t[1]?t[1].toLowerCase():void 0,i=new TextDecoder(e);return A.arrayBuffer().then((A=>i.decode(A)))}}})).then((t=>{HQ.add(A,t);const e=YQ[A];delete YQ[A];for(let A=0,i=e.length;A{const e=YQ[A];if(void 0===e)throw this.manager.itemError(A),t;delete YQ[A];for(let A=0,i=e.length;A{this.manager.itemEnd(A)})),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class _Q extends vQ{constructor(A){super(A)}load(A,t,e,i){const n=this,g=new JQ(this.manager);g.setPath(this.path),g.setRequestHeader(this.requestHeader),g.setWithCredentials(this.withCredentials),g.load(A,(function(e){try{t(n.parse(JSON.parse(e)))}catch(t){i?i(t):console.error(t),n.manager.itemError(A)}}),e,i)}parse(A){const t=[];for(let e=0;e0:i.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const t in A.uniforms){const n=A.uniforms[t];switch(i.uniforms[t]={},n.type){case"t":i.uniforms[t].value=e(n.value);break;case"c":i.uniforms[t].value=(new qn).setHex(n.value);break;case"v2":i.uniforms[t].value=(new $e).fromArray(n.value);break;case"v3":i.uniforms[t].value=(new Ui).fromArray(n.value);break;case"v4":i.uniforms[t].value=(new wi).fromArray(n.value);break;case"m3":i.uniforms[t].value=(new Ai).fromArray(n.value);break;case"m4":i.uniforms[t].value=(new an).fromArray(n.value);break;default:i.uniforms[t].value=n.value}}if(void 0!==A.defines&&(i.defines=A.defines),void 0!==A.vertexShader&&(i.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(i.fragmentShader=A.fragmentShader),void 0!==A.glslVersion&&(i.glslVersion=A.glslVersion),void 0!==A.extensions)for(const t in A.extensions)i.extensions[t]=A.extensions[t];if(void 0!==A.lights&&(i.lights=A.lights),void 0!==A.clipping&&(i.clipping=A.clipping),void 0!==A.size&&(i.size=A.size),void 0!==A.sizeAttenuation&&(i.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(i.map=e(A.map)),void 0!==A.matcap&&(i.matcap=e(A.matcap)),void 0!==A.alphaMap&&(i.alphaMap=e(A.alphaMap)),void 0!==A.bumpMap&&(i.bumpMap=e(A.bumpMap)),void 0!==A.bumpScale&&(i.bumpScale=A.bumpScale),void 0!==A.normalMap&&(i.normalMap=e(A.normalMap)),void 0!==A.normalMapType&&(i.normalMapType=A.normalMapType),void 0!==A.normalScale){let t=A.normalScale;!1===Array.isArray(t)&&(t=[t,t]),i.normalScale=(new $e).fromArray(t)}return void 0!==A.displacementMap&&(i.displacementMap=e(A.displacementMap)),void 0!==A.displacementScale&&(i.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(i.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(i.roughnessMap=e(A.roughnessMap)),void 0!==A.metalnessMap&&(i.metalnessMap=e(A.metalnessMap)),void 0!==A.emissiveMap&&(i.emissiveMap=e(A.emissiveMap)),void 0!==A.emissiveIntensity&&(i.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(i.specularMap=e(A.specularMap)),void 0!==A.specularIntensityMap&&(i.specularIntensityMap=e(A.specularIntensityMap)),void 0!==A.specularColorMap&&(i.specularColorMap=e(A.specularColorMap)),void 0!==A.envMap&&(i.envMap=e(A.envMap)),void 0!==A.envMapRotation&&i.envMapRotation.fromArray(A.envMapRotation),void 0!==A.envMapIntensity&&(i.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(i.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(i.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(i.lightMap=e(A.lightMap)),void 0!==A.lightMapIntensity&&(i.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(i.aoMap=e(A.aoMap)),void 0!==A.aoMapIntensity&&(i.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(i.gradientMap=e(A.gradientMap)),void 0!==A.clearcoatMap&&(i.clearcoatMap=e(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=e(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(i.clearcoatNormalMap=e(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(i.clearcoatNormalScale=(new $e).fromArray(A.clearcoatNormalScale)),void 0!==A.iridescenceMap&&(i.iridescenceMap=e(A.iridescenceMap)),void 0!==A.iridescenceThicknessMap&&(i.iridescenceThicknessMap=e(A.iridescenceThicknessMap)),void 0!==A.transmissionMap&&(i.transmissionMap=e(A.transmissionMap)),void 0!==A.thicknessMap&&(i.thicknessMap=e(A.thicknessMap)),void 0!==A.anisotropyMap&&(i.anisotropyMap=e(A.anisotropyMap)),void 0!==A.sheenColorMap&&(i.sheenColorMap=e(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(i.sheenRoughnessMap=e(A.sheenRoughnessMap)),i}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){return new{ShadowMaterial:gQ,SpriteMaterial:sr,RawShaderMaterial:oQ,ShaderMaterial:qg,PointsMaterial:DB,MeshPhysicalMaterial:aQ,MeshStandardMaterial:sQ,MeshPhongMaterial:rQ,MeshToonMaterial:BQ,MeshNormalMaterial:IQ,MeshLambertMaterial:QQ,MeshDepthMaterial:va,MeshDistanceMaterial:Ya,MeshBasicMaterial:tg,MeshMatcapMaterial:EQ,LineDashedMaterial:CQ,LineBasicMaterial:EB,Material:Ag}[A]}}class CE{static decodeText(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);let t="";for(let e=0,i=A.length;e0){const e=new LQ(t);n=new WQ(e),n.setCrossOrigin(this.crossOrigin);for(let t=0,e=A.length;t0){i=new WQ(this.manager),i.setCrossOrigin(this.crossOrigin);for(let t=0,i=A.length;t{const t=new Ni;t.min.fromArray(A.boxMin),t.max.fromArray(A.boxMax);const e=new ji;return e.radius=A.sphereRadius,e.center.fromArray(A.sphereCenter),{boxInitialized:A.boxInitialized,box:t,sphereInitialized:A.sphereInitialized,sphere:e}})),g._maxGeometryCount=A.maxGeometryCount,g._maxVertexCount=A.maxVertexCount,g._maxIndexCount=A.maxIndexCount,g._geometryInitialized=A.geometryInitialized,g._geometryCount=A.geometryCount,g._matricesTexture=B(A.matricesTexture.uuid);break;case"LOD":g=new yr;break;case"Line":g=new uB(a(A.geometry),r(A.material));break;case"LineLoop":g=new wB(a(A.geometry),r(A.material));break;case"LineSegments":g=new mB(a(A.geometry),r(A.material));break;case"PointCloud":case"Points":g=new GB(a(A.geometry),r(A.material));break;case"Sprite":g=new fr(r(A.material));break;case"Group":g=new Ka;break;case"Bone":g=new Lr;break;default:g=new Hn}if(g.uuid=A.uuid,void 0!==A.name&&(g.name=A.name),void 0!==A.matrix?(g.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(g.matrixAutoUpdate=A.matrixAutoUpdate),g.matrixAutoUpdate&&g.matrix.decompose(g.position,g.quaternion,g.scale)):(void 0!==A.position&&g.position.fromArray(A.position),void 0!==A.rotation&&g.rotation.fromArray(A.rotation),void 0!==A.quaternion&&g.quaternion.fromArray(A.quaternion),void 0!==A.scale&&g.scale.fromArray(A.scale)),void 0!==A.up&&g.up.fromArray(A.up),void 0!==A.castShadow&&(g.castShadow=A.castShadow),void 0!==A.receiveShadow&&(g.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(g.shadow.bias=A.shadow.bias),void 0!==A.shadow.normalBias&&(g.shadow.normalBias=A.shadow.normalBias),void 0!==A.shadow.radius&&(g.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&g.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(g.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(g.visible=A.visible),void 0!==A.frustumCulled&&(g.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(g.renderOrder=A.renderOrder),void 0!==A.userData&&(g.userData=A.userData),void 0!==A.layers&&(g.layers.mask=A.layers),void 0!==A.children){const o=A.children;for(let A=0;A{t&&t(e),n.manager.itemEnd(A)})).catch((A=>{i&&i(A)})):(setTimeout((function(){t&&t(g),n.manager.itemEnd(A)}),0),g);const o={};o.credentials="anonymous"===this.crossOrigin?"same-origin":"include",o.headers=this.requestHeader;const s=fetch(A,o).then((function(A){return A.blob()})).then((function(A){return createImageBitmap(A,Object.assign(n.options,{colorSpaceConversion:"none"}))})).then((function(e){return HQ.add(A,e),t&&t(e),n.manager.itemEnd(A),e})).catch((function(t){i&&i(t),HQ.remove(A),n.manager.itemError(A),n.manager.itemEnd(A)}));HQ.add(A,s),n.manager.itemStart(A)}}let mE;class wE{static getContext(){return void 0===mE&&(mE=new(window.AudioContext||window.webkitAudioContext)),mE}static setContext(A){mE=A}}class DE extends vQ{constructor(A){super(A)}load(A,t,e,i){const n=this,g=new JQ(this.manager);function o(t){i?i(t):console.error(t),n.manager.itemError(A)}g.setResponseType("arraybuffer"),g.setPath(this.path),g.setRequestHeader(this.requestHeader),g.setWithCredentials(this.withCredentials),g.load(A,(function(A){try{const e=A.slice(0);wE.getContext().decodeAudioData(e,(function(A){t(A)})).catch(o)}catch(A){o(A)}}),e,i)}}const yE=new an,RE=new an,FE=new an;class ME{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new eo,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new eo,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(A){const t=this._cache;if(t.focus!==A.focus||t.fov!==A.fov||t.aspect!==A.aspect*this.aspect||t.near!==A.near||t.far!==A.far||t.zoom!==A.zoom||t.eyeSep!==this.eyeSep){t.focus=A.focus,t.fov=A.fov,t.aspect=A.aspect*this.aspect,t.near=A.near,t.far=A.far,t.zoom=A.zoom,t.eyeSep=this.eyeSep,FE.copy(A.projectionMatrix);const e=t.eyeSep/2,i=e*t.near/t.focus,n=t.near*Math.tan(We*t.fov*.5)/t.zoom;let g,o;RE.elements[12]=-e,yE.elements[12]=e,g=-n*t.aspect+i,o=n*t.aspect+i,FE.elements[0]=2*t.near/(o-g),FE.elements[8]=(o+g)/(o-g),this.cameraL.projectionMatrix.copy(FE),g=-n*t.aspect-i,o=n*t.aspect-i,FE.elements[0]=2*t.near/(o-g),FE.elements[8]=(o+g)/(o-g),this.cameraR.projectionMatrix.copy(FE)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(RE),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(yE)}}class GE{constructor(A=!0){this.autoStart=A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=SE(),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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=SE();A=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=A}return A}}function SE(){return("undefined"==typeof performance?Date:performance).now()}const UE=new Ui,bE=new Si,xE=new Ui,NE=new Ui;class HE extends Hn{constructor(){super(),this.type="AudioListener",this.context=wE.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new GE}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(A){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}updateMatrixWorld(A){super.updateMatrixWorld(A);const t=this.context.listener,e=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(UE,bE,xE),NE.set(0,0,-1).applyQuaternion(bE),t.positionX){const A=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(UE.x,A),t.positionY.linearRampToValueAtTime(UE.y,A),t.positionZ.linearRampToValueAtTime(UE.z,A),t.forwardX.linearRampToValueAtTime(NE.x,A),t.forwardY.linearRampToValueAtTime(NE.y,A),t.forwardZ.linearRampToValueAtTime(NE.z,A),t.upX.linearRampToValueAtTime(e.x,A),t.upY.linearRampToValueAtTime(e.y,A),t.upZ.linearRampToValueAtTime(e.z,A)}else t.setPosition(UE.x,UE.y,UE.z),t.setOrientation(NE.x,NE.y,NE.z,e.x,e.y,e.z)}}class LE extends Hn{constructor(A){super(),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.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(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this}setMediaElementSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this}setMediaStreamSource(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this}setBuffer(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this}play(A=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+A;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,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,null!==this.source&&(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 A=1,t=this.filters.length;A0){this.source.disconnect(this.filters[0]);for(let A=1,t=this.filters.length;A0&&this._mixBufferRegionAdditive(e,i,this._addIndex*t,1,t);for(let A=t,n=t+t;A!==n;++A)if(e[A]!==e[A+t]){o.setValue(e,i);break}}saveOriginalState(){const A=this.binding,t=this.buffer,e=this.valueSize,i=e*this._origIndex;A.getValue(t,i);for(let A=e,n=i;A!==n;++A)t[A]=t[i+A%e];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const A=3*this.valueSize;this.binding.setValue(this.buffer,A)}_setAdditiveIdentityNumeric(){const A=this._addIndex*this.valueSize,t=A+this.valueSize;for(let e=A;e=.5)for(let i=0;i!==n;++i)A[t+i]=A[e+i]}_slerp(A,t,e,i){Si.slerpFlat(A,t,A,t,A,e,i)}_slerpAdditive(A,t,e,i,n){const g=this._workIndex*n;Si.multiplyQuaternionsFlat(A,g,A,t,A,e),Si.slerpFlat(A,t,A,t,A,g,i)}_lerp(A,t,e,i,n){const g=1-i;for(let o=0;o!==n;++o){const n=t+o;A[n]=A[n]*g+A[e+o]*i}}_lerpAdditive(A,t,e,i,n){for(let g=0;g!==n;++g){const n=t+g;A[n]=A[n]+A[e+g]*i}}}const WE="\\[\\]\\.:\\/",KE=new RegExp("["+WE+"]","g"),ZE="[^"+WE+"]",XE="[^"+WE.replace("\\.","")+"]",PE=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",ZE)+/(WCOD+)?/.source.replace("WCOD",XE)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ZE)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ZE)+"$"),OE=["material","materials","bones","map"];class zE{constructor(A,t,e){this.path=t,this.parsedPath=e||zE.parseTrackName(t),this.node=zE.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,t,e){return A&&A.isAnimationObjectGroup?new zE.Composite(A,t,e):new zE(A,t,e)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(KE,"")}static parseTrackName(A){const t=PE.exec(A);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const e={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=e.nodeName&&e.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const A=e.nodeName.substring(i+1);-1!==OE.indexOf(A)&&(e.nodeName=e.nodeName.substring(0,i),e.objectName=A)}if(null===e.propertyName||0===e.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return e}static findNode(A,t){if(void 0===t||""===t||"."===t||-1===t||t===A.name||t===A.uuid)return A;if(A.skeleton){const e=A.skeleton.getBoneByName(t);if(void 0!==e)return e}if(A.children){const e=function(A){for(let i=0;i=n){const g=n++,r=A[g];t[r.uuid]=a,A[a]=r,t[s]=g,A[g]=o;for(let A=0,t=i;A!==t;++A){const t=e[A],i=t[g],n=t[a];t[a]=i,t[g]=n}}}this.nCachedObjects_=n}uncache(){const A=this._objects,t=this._indicesByUUID,e=this._bindings,i=e.length;let n=this.nCachedObjects_,g=A.length;for(let o=0,s=arguments.length;o!==s;++o){const s=arguments[o].uuid,a=t[s];if(void 0!==a)if(delete t[s],a0&&(t[o.uuid]=a),A[a]=o,A.pop();for(let A=0,t=i;A!==t;++A){const t=e[A];t[a]=t[n],t.pop()}}}this.nCachedObjects_=n}subscribe_(A,t){const e=this._bindingsIndicesByPath;let i=e[A];const n=this._bindings;if(void 0!==i)return n[i];const g=this._paths,o=this._parsedPaths,s=this._objects,a=s.length,r=this.nCachedObjects_,B=new Array(a);i=n.length,e[A]=i,g.push(A),o.push(t),n.push(B);for(let e=r,i=s.length;e!==i;++e){const i=s[e];B[e]=new zE(i,A,t)}return B}unsubscribe_(A){const t=this._bindingsIndicesByPath,e=t[A];if(void 0!==e){const i=this._paths,n=this._parsedPaths,g=this._bindings,o=g.length-1,s=g[o];t[A[o]]=e,g[e]=s,g.pop(),n[e]=n[o],n.pop(),i[e]=i[o],i.pop()}}}class jE{constructor(A,t,e=null,i=t.blendMode){this._mixer=A,this._clip=t,this._localRoot=e,this.blendMode=i;const n=t.tracks,g=n.length,o=new Array(g),s={endingStart:kt,endingEnd:kt};for(let A=0;A!==g;++A){const t=n[A].createInterpolant(null);o[A]=t,t.settings=s}this._interpolantSettings=s,this._interpolants=o,this._propertyBindings=new Array(g),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=bt,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(A){return this._startTime=A,this}setLoop(A,t){return this.loop=A,this.repetitions=t,this}setEffectiveWeight(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(A){return this._scheduleFading(A,0,1)}fadeOut(A){return this._scheduleFading(A,1,0)}crossFadeFrom(A,t,e){if(A.fadeOut(t),this.fadeIn(t),e){const e=this._clip.duration,i=A._clip.duration,n=i/e,g=e/i;A.warp(1,n,t),this.warp(g,1,t)}return this}crossFadeTo(A,t,e){return A.crossFadeFrom(this,t,e)}stopFading(){const A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}setEffectiveTimeScale(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(A){return this.timeScale=this._clip.duration/A,this.stopWarping()}syncWith(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()}halt(A){return this.warp(this._effectiveTimeScale,0,A)}warp(A,t,e){const i=this._mixer,n=i.time,g=this.timeScale;let o=this._timeScaleInterpolant;null===o&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);const s=o.parameterPositions,a=o.sampleValues;return s[0]=n,s[1]=n+e,a[0]=A/g,a[1]=t/g,this}stopWarping(){const A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(A,t,e,i){if(!this.enabled)return void this._updateWeight(A);const n=this._startTime;if(null!==n){const i=(A-n)*e;i<0||0===e?t=0:(this._startTime=null,t=e*i)}t*=this._updateTimeScale(A);const g=this._updateTime(t),o=this._updateWeight(A);if(o>0){const A=this._interpolants,t=this._propertyBindings;if(this.blendMode===Jt)for(let e=0,i=A.length;e!==i;++e)A[e].evaluate(g),t[e].accumulateAdditive(o);else for(let e=0,n=A.length;e!==n;++e)A[e].evaluate(g),t[e].accumulate(i,o)}}_updateWeight(A){let t=0;if(this.enabled){t=this.weight;const e=this._weightInterpolant;if(null!==e){const i=e.evaluate(A)[0];t*=i,A>e.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(A){let t=0;if(!this.paused){t=this.timeScale;const e=this._timeScaleInterpolant;null!==e&&(t*=e.evaluate(A)[0],A>e.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t))}return this._effectiveTimeScale=t,t}_updateTime(A){const t=this._clip.duration,e=this.loop;let i=this.time+A,n=this._loopCount;const g=e===xt;if(0===A)return-1===n||!g||1&~n?i:t-i;if(e===Ut){-1===n&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(i>=t)i=t;else{if(!(i<0)){this.time=i;break A}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A<0?-1:1})}}else{if(-1===n&&(A>=0?(n=0,this._setEndings(!0,0===this.repetitions,g)):this._setEndings(0===this.repetitions,!0,g)),i>=t||i<0){const e=Math.floor(i/t);i-=t*e,n+=Math.abs(e);const o=this.repetitions-n;if(o<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=A>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1});else{if(1===o){const t=A<0;this._setEndings(t,!t,g)}else this._setEndings(!1,!1,g);this._loopCount=n,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:e})}}else this.time=i;if(g&&!(1&~n))return t-i}return i}_setEndings(A,t,e){const i=this._interpolantSettings;e?(i.endingStart=vt,i.endingEnd=vt):(i.endingStart=A?this.zeroSlopeAtStart?vt:kt:Yt,i.endingEnd=t?this.zeroSlopeAtEnd?vt:kt:Yt)}_scheduleFading(A,t,e){const i=this._mixer,n=i.time;let g=this._weightInterpolant;null===g&&(g=i._lendControlInterpolant(),this._weightInterpolant=g);const o=g.parameterPositions,s=g.sampleValues;return o[0]=n,s[0]=t,o[1]=n+A,s[1]=e,this}}const $E=new Float32Array(1);class AC extends Je{constructor(A){super(),this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(A,t){const e=A._localRoot||this._root,i=A._clip.tracks,n=i.length,g=A._propertyBindings,o=A._interpolants,s=e.uuid,a=this._bindingsByRootAndName;let r=a[s];void 0===r&&(r={},a[s]=r);for(let A=0;A!==n;++A){const n=i[A],a=n.name;let B=r[a];if(void 0!==B)++B.referenceCount,g[A]=B;else{if(B=g[A],void 0!==B){null===B._cacheIndex&&(++B.referenceCount,this._addInactiveBinding(B,s,a));continue}const i=t&&t._propertyBindings[A].binding.parsedPath;B=new VE(zE.create(e,a,i),n.ValueTypeName,n.getValueSize()),++B.referenceCount,this._addInactiveBinding(B,s,a),g[A]=B}o[A].resultBuffer=B.buffer}}_activateAction(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){const t=(A._localRoot||this._root).uuid,e=A._clip.uuid,i=this._actionsByClip[e];this._bindAction(A,i&&i.knownActions[0]),this._addInactiveAction(A,e,t)}const t=A._propertyBindings;for(let A=0,e=t.length;A!==e;++A){const e=t[A];0==e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(A)}}_deactivateAction(A){if(this._isActiveAction(A)){const t=A._propertyBindings;for(let A=0,e=t.length;A!==e;++A){const e=t[A];0==--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(A)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}}_isActiveAction(A){const t=A._cacheIndex;return null!==t&&t=0;--t)A[t].stop();return this}update(A){A*=this.timeScale;const t=this._actions,e=this._nActiveActions,i=this.time+=A,n=Math.sign(A),g=this._accuIndex^=1;for(let o=0;o!==e;++o)t[o]._update(i,A,n,g);const o=this._bindings,s=this._nActiveBindings;for(let A=0;A!==s;++A)o[A].apply(g);return this}setTime(A){this.time=0;for(let A=0;Athis.max.x||A.ythis.max.y)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y}getParameter(A,t){return t.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y)}clampPoint(A,t){return t.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,QC).distanceTo(A)}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const CC=new Ui,cC=new Ui;class lC{constructor(A=new Ui,t=new Ui){this.start=A,this.end=t}set(A,t){return this.start.copy(A),this.end.copy(t),this}copy(A){return this.start.copy(A.start),this.end.copy(A.end),this}getCenter(A){return A.addVectors(this.start,this.end).multiplyScalar(.5)}delta(A){return A.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(A,t){return this.delta(t).multiplyScalar(A).add(this.start)}closestPointToPointParameter(A,t){CC.subVectors(A,this.start),cC.subVectors(this.end,this.start);const e=cC.dot(cC);let i=cC.dot(CC)/e;return t&&(i=Xe(i,0,1)),i}closestPointToPoint(A,t,e){const i=this.closestPointToPointParameter(A,t);return this.delta(e).multiplyScalar(i).add(this.start)}applyMatrix4(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this}equals(A){return A.start.equals(this.start)&&A.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const hC=new Ui;class dC extends Hn{constructor(A,t){super(),this.light=A,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const e=new Rg,i=[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 A=0,t=1,e=32;A1)for(let e=0;e.99999)this.quaternion.set(0,0,0,1);else if(A.y<-.99999)this.quaternion.set(1,0,0,0);else{VC.set(A.z,0,-A.x).normalize();const t=Math.acos(A.y);this.quaternion.setFromAxisAngle(VC,t)}}setLength(A,t=.2*A,e=.2*t){this.line.scale.set(1,Math.max(1e-4,A-t),1),this.line.updateMatrix(),this.cone.scale.set(e,t,e),this.cone.position.y=A,this.cone.updateMatrix()}setColor(A){this.line.material.color.set(A),this.cone.material.color.set(A)}copy(A){return super.copy(A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class XC extends mB{constructor(A=1){const t=[0,0,0,A,0,0,0,0,0,0,A,0,0,0,0,0,0,A],e=new Rg;e.setAttribute("position",new dg(t,3)),e.setAttribute("color",new dg([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(e,new EB({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(A,t,e){const i=new qn,n=this.geometry.attributes.color.array;return i.set(A),i.toArray(n,0),i.toArray(n,3),i.set(t),i.toArray(n,6),i.toArray(n,9),i.set(e),i.toArray(n,12),i.toArray(n,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class PC{constructor(){this.type="ShapePath",this.color=new qn,this.subPaths=[],this.currentPath=null}moveTo(A,t){return this.currentPath=new nI,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,t),this}lineTo(A,t){return this.currentPath.lineTo(A,t),this}quadraticCurveTo(A,t,e,i){return this.currentPath.quadraticCurveTo(A,t,e,i),this}bezierCurveTo(A,t,e,i,n,g){return this.currentPath.bezierCurveTo(A,t,e,i,n,g),this}splineThru(A){return this.currentPath.splineThru(A),this}toShapes(A){function t(A,t){const e=t.length;let i=!1;for(let n=e-1,g=0;gNumber.EPSILON){if(a<0&&(e=t[g],s=-s,o=t[n],a=-a),A.yo.y)continue;if(A.y===e.y){if(A.x===e.x)return!0}else{const t=a*(A.x-e.x)-s*(A.y-e.y);if(0===t)return!0;if(t<0)continue;i=!i}}else{if(A.y!==e.y)continue;if(o.x<=A.x&&A.x<=e.x||e.x<=A.x&&A.x<=o.x)return!0}}return i}const e=_I.isClockWise,i=this.subPaths;if(0===i.length)return[];let n,g,o;const s=[];if(1===i.length)return g=i[0],o=new hI,o.curves=g.curves,s.push(o),s;let a=!e(i[0].getPoints());a=A?!a:a;const r=[],B=[];let I,Q,E=[],C=0;B[C]=void 0,E[C]=[];for(let t=0,o=i.length;t1){let A=!1,e=0;for(let A=0,t=B.length;A0&&!1===A&&(E=r)}for(let A=0,t=B.length;A{"use strict";e.d(t,{z:()=>B});var i=e(477);const n={type:"change"},g={type:"start"},o={type:"end"},s=new i.Ray,a=new i.Plane,r=Math.cos(70*i.MathUtils.DEG2RAD);class B extends i.EventDispatcher{constructor(A,t){super(),this.object=A,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new i.Vector3,this.cursor=new i.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:i.MOUSE.ROTATE,MIDDLE:i.MOUSE.DOLLY,RIGHT:i.MOUSE.PAN},this.touches={ONE:i.TOUCH.ROTATE,TWO:i.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return E.phi},this.getAzimuthalAngle=function(){return E.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(A){A.addEventListener("keydown",eA),this._domElementKeyEvents=A},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",eA),this._domElementKeyEvents=null},this.saveState=function(){e.target0.copy(e.target),e.position0.copy(e.object.position),e.zoom0=e.object.zoom},this.reset=function(){e.target.copy(e.target0),e.object.position.copy(e.position0),e.object.zoom=e.zoom0,e.object.updateProjectionMatrix(),e.dispatchEvent(n),e.update(),I=B.NONE},this.update=function(){const t=new i.Vector3,g=(new i.Quaternion).setFromUnitVectors(A.up,new i.Vector3(0,1,0)),o=g.clone().invert(),h=new i.Vector3,d=new i.Quaternion,u=new i.Vector3,p=2*Math.PI;return function(f=null){const m=e.object.position;t.copy(m).sub(e.target),t.applyQuaternion(g),E.setFromVector3(t),e.autoRotate&&I===B.NONE&&x(function(A){return null!==A?2*Math.PI/60*e.autoRotateSpeed*A:2*Math.PI/60/60*e.autoRotateSpeed}(f)),e.enableDamping?(E.theta+=C.theta*e.dampingFactor,E.phi+=C.phi*e.dampingFactor):(E.theta+=C.theta,E.phi+=C.phi);let w=e.minAzimuthAngle,D=e.maxAzimuthAngle;isFinite(w)&&isFinite(D)&&(w<-Math.PI?w+=p:w>Math.PI&&(w-=p),D<-Math.PI?D+=p:D>Math.PI&&(D-=p),E.theta=w<=D?Math.max(w,Math.min(D,E.theta)):E.theta>(w+D)/2?Math.max(w,E.theta):Math.min(D,E.theta)),E.phi=Math.max(e.minPolarAngle,Math.min(e.maxPolarAngle,E.phi)),E.makeSafe(),!0===e.enableDamping?e.target.addScaledVector(l,e.dampingFactor):e.target.add(l),e.target.sub(e.cursor),e.target.clampLength(e.minTargetRadius,e.maxTargetRadius),e.target.add(e.cursor);let y=!1;if(e.zoomToCursor&&M||e.object.isOrthographicCamera)E.radius=J(E.radius);else{const A=E.radius;E.radius=J(E.radius*c),y=A!=E.radius}if(t.setFromSpherical(E),t.applyQuaternion(o),m.copy(e.target).add(t),e.object.lookAt(e.target),!0===e.enableDamping?(C.theta*=1-e.dampingFactor,C.phi*=1-e.dampingFactor,l.multiplyScalar(1-e.dampingFactor)):(C.set(0,0,0),l.set(0,0,0)),e.zoomToCursor&&M){let n=null;if(e.object.isPerspectiveCamera){const A=t.length();n=J(A*c);const i=A-n;e.object.position.addScaledVector(R,i),e.object.updateMatrixWorld(),y=!!i}else if(e.object.isOrthographicCamera){const A=new i.Vector3(F.x,F.y,0);A.unproject(e.object);const g=e.object.zoom;e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/c)),e.object.updateProjectionMatrix(),y=g!==e.object.zoom;const o=new i.Vector3(F.x,F.y,0);o.unproject(e.object),e.object.position.sub(o).add(A),e.object.updateMatrixWorld(),n=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),e.zoomToCursor=!1;null!==n&&(this.screenSpacePanning?e.target.set(0,0,-1).transformDirection(e.object.matrix).multiplyScalar(n).add(e.object.position):(s.origin.copy(e.object.position),s.direction.set(0,0,-1).transformDirection(e.object.matrix),Math.abs(e.object.up.dot(s.direction))Q||8*(1-d.dot(e.object.quaternion))>Q||u.distanceToSquared(e.target)>Q)&&(e.dispatchEvent(n),h.copy(e.object.position),d.copy(e.object.quaternion),u.copy(e.target),!0)}}(),this.dispose=function(){e.domElement.removeEventListener("contextmenu",nA),e.domElement.removeEventListener("pointerdown",z),e.domElement.removeEventListener("pointercancel",j),e.domElement.removeEventListener("wheel",$),e.domElement.removeEventListener("pointermove",q),e.domElement.removeEventListener("pointerup",j),e.domElement.getRootNode().removeEventListener("keydown",AA,{capture:!0}),null!==e._domElementKeyEvents&&(e._domElementKeyEvents.removeEventListener("keydown",eA),e._domElementKeyEvents=null)};const e=this,B={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let I=B.NONE;const Q=1e-6,E=new i.Spherical,C=new i.Spherical;let c=1;const l=new i.Vector3,h=new i.Vector2,d=new i.Vector2,u=new i.Vector2,p=new i.Vector2,f=new i.Vector2,m=new i.Vector2,w=new i.Vector2,D=new i.Vector2,y=new i.Vector2,R=new i.Vector3,F=new i.Vector2;let M=!1;const G=[],S={};let U=!1;function b(A){const t=Math.abs(.01*A);return Math.pow(.95,e.zoomSpeed*t)}function x(A){C.theta-=A}function N(A){C.phi-=A}const H=function(){const A=new i.Vector3;return function(t,e){A.setFromMatrixColumn(e,0),A.multiplyScalar(-t),l.add(A)}}(),L=function(){const A=new i.Vector3;return function(t,i){!0===e.screenSpacePanning?A.setFromMatrixColumn(i,1):(A.setFromMatrixColumn(i,0),A.crossVectors(e.object.up,A)),A.multiplyScalar(t),l.add(A)}}(),k=function(){const A=new i.Vector3;return function(t,i){const n=e.domElement;if(e.object.isPerspectiveCamera){const g=e.object.position;A.copy(g).sub(e.target);let o=A.length();o*=Math.tan(e.object.fov/2*Math.PI/180),H(2*t*o/n.clientHeight,e.object.matrix),L(2*i*o/n.clientHeight,e.object.matrix)}else e.object.isOrthographicCamera?(H(t*(e.object.right-e.object.left)/e.object.zoom/n.clientWidth,e.object.matrix),L(i*(e.object.top-e.object.bottom)/e.object.zoom/n.clientHeight,e.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),e.enablePan=!1)}}();function v(A){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?c/=A:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function Y(A){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?c*=A:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function T(A,t){if(!e.zoomToCursor)return;M=!0;const i=e.domElement.getBoundingClientRect(),n=A-i.left,g=t-i.top,o=i.width,s=i.height;F.x=n/o*2-1,F.y=-g/s*2+1,R.set(F.x,F.y,1).unproject(e.object).sub(e.object.position).normalize()}function J(A){return Math.max(e.minDistance,Math.min(e.maxDistance,A))}function _(A){h.set(A.clientX,A.clientY)}function V(A){p.set(A.clientX,A.clientY)}function W(A){if(1===G.length)h.set(A.pageX,A.pageY);else{const t=oA(A),e=.5*(A.pageX+t.x),i=.5*(A.pageY+t.y);h.set(e,i)}}function K(A){if(1===G.length)p.set(A.pageX,A.pageY);else{const t=oA(A),e=.5*(A.pageX+t.x),i=.5*(A.pageY+t.y);p.set(e,i)}}function Z(A){const t=oA(A),e=A.pageX-t.x,i=A.pageY-t.y,n=Math.sqrt(e*e+i*i);w.set(0,n)}function X(A){if(1==G.length)d.set(A.pageX,A.pageY);else{const t=oA(A),e=.5*(A.pageX+t.x),i=.5*(A.pageY+t.y);d.set(e,i)}u.subVectors(d,h).multiplyScalar(e.rotateSpeed);const t=e.domElement;x(2*Math.PI*u.x/t.clientHeight),N(2*Math.PI*u.y/t.clientHeight),h.copy(d)}function P(A){if(1===G.length)f.set(A.pageX,A.pageY);else{const t=oA(A),e=.5*(A.pageX+t.x),i=.5*(A.pageY+t.y);f.set(e,i)}m.subVectors(f,p).multiplyScalar(e.panSpeed),k(m.x,m.y),p.copy(f)}function O(A){const t=oA(A),i=A.pageX-t.x,n=A.pageY-t.y,g=Math.sqrt(i*i+n*n);D.set(0,g),y.set(0,Math.pow(D.y/w.y,e.zoomSpeed)),v(y.y),w.copy(D),T(.5*(A.pageX+t.x),.5*(A.pageY+t.y))}function z(A){!1!==e.enabled&&(0===G.length&&(e.domElement.setPointerCapture(A.pointerId),e.domElement.addEventListener("pointermove",q),e.domElement.addEventListener("pointerup",j)),function(A){for(let t=0;t0?v(b(y.y)):y.y<0&&Y(b(y.y)),w.copy(D),e.update()}(A);break;case B.PAN:if(!1===e.enablePan)return;!function(A){f.set(A.clientX,A.clientY),m.subVectors(f,p).multiplyScalar(e.panSpeed),k(m.x,m.y),p.copy(f),e.update()}(A)}}(A))}function j(A){switch(function(A){delete S[A.pointerId];for(let t=0;t0&&v(b(A.deltaY)),e.update()}(function(A){const t=A.deltaMode,e={clientX:A.clientX,clientY:A.clientY,deltaY:A.deltaY};switch(t){case 1:e.deltaY*=16;break;case 2:e.deltaY*=100}return A.ctrlKey&&!U&&(e.deltaY*=10),e}(A)),e.dispatchEvent(o))}function AA(A){"Control"===A.key&&(U=!0,e.domElement.getRootNode().addEventListener("keyup",tA,{passive:!0,capture:!0}))}function tA(A){"Control"===A.key&&(U=!1,e.domElement.getRootNode().removeEventListener("keyup",tA,{passive:!0,capture:!0}))}function eA(A){!1!==e.enabled&&!1!==e.enablePan&&function(A){let t=!1;switch(A.code){case e.keys.UP:A.ctrlKey||A.metaKey||A.shiftKey?N(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):k(0,e.keyPanSpeed),t=!0;break;case e.keys.BOTTOM:A.ctrlKey||A.metaKey||A.shiftKey?N(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):k(0,-e.keyPanSpeed),t=!0;break;case e.keys.LEFT:A.ctrlKey||A.metaKey||A.shiftKey?x(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):k(e.keyPanSpeed,0),t=!0;break;case e.keys.RIGHT:A.ctrlKey||A.metaKey||A.shiftKey?x(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):k(-e.keyPanSpeed,0),t=!0}t&&(A.preventDefault(),e.update())}(A)}function iA(A){switch(gA(A),G.length){case 1:switch(e.touches.ONE){case i.TOUCH.ROTATE:if(!1===e.enableRotate)return;W(A),I=B.TOUCH_ROTATE;break;case i.TOUCH.PAN:if(!1===e.enablePan)return;K(A),I=B.TOUCH_PAN;break;default:I=B.NONE}break;case 2:switch(e.touches.TWO){case i.TOUCH.DOLLY_PAN:if(!1===e.enableZoom&&!1===e.enablePan)return;!function(A){e.enableZoom&&Z(A),e.enablePan&&K(A)}(A),I=B.TOUCH_DOLLY_PAN;break;case i.TOUCH.DOLLY_ROTATE:if(!1===e.enableZoom&&!1===e.enableRotate)return;!function(A){e.enableZoom&&Z(A),e.enableRotate&&W(A)}(A),I=B.TOUCH_DOLLY_ROTATE;break;default:I=B.NONE}break;default:I=B.NONE}I!==B.NONE&&e.dispatchEvent(g)}function nA(A){!1!==e.enabled&&A.preventDefault()}function gA(A){let t=S[A.pointerId];void 0===t&&(t=new i.Vector2,S[A.pointerId]=t),t.set(A.pageX,A.pageY)}function oA(A){const t=A.pointerId===G[0]?G[1]:G[0];return S[t]}e.domElement.addEventListener("contextmenu",nA),e.domElement.addEventListener("pointerdown",z),e.domElement.addEventListener("pointercancel",j),e.domElement.addEventListener("wheel",$,{passive:!1}),e.domElement.getRootNode().addEventListener("keydown",AA,{passive:!0,capture:!0}),this.update()}}},976:(A,t,e)=>{"use strict";e.d(t,{G:()=>g});var i=e(477);class n extends i.DataTextureLoader{constructor(A){super(A)}parse(A){if(A.length<19)throw new Error("THREE.TGALoader: Not enough data to contain header.");let t=0;const e=new Uint8Array(A),n={id_length:e[t++],colormap_type:e[t++],image_type:e[t++],colormap_index:e[t++]|e[t++]<<8,colormap_length:e[t++]|e[t++]<<8,colormap_size:e[t++],origin:[e[t++]|e[t++]<<8,e[t++]|e[t++]<<8],width:e[t++]|e[t++]<<8,height:e[t++]|e[t++]<<8,pixel_size:e[t++],flags:e[t++]};if(function(A){switch(A.image_type){case 1:case 9:if(A.colormap_length>256||24!==A.colormap_size||1!==A.colormap_type)throw new Error("THREE.TGALoader: Invalid type colormap data for indexed type.");break;case 2:case 3:case 10:case 11:if(A.colormap_type)throw new Error("THREE.TGALoader: Invalid type colormap data for colormap type.");break;case 0:throw new Error("THREE.TGALoader: No data.");default:throw new Error("THREE.TGALoader: Invalid type "+A.image_type)}if(A.width<=0||A.height<=0)throw new Error("THREE.TGALoader: Invalid image size.");if(8!==A.pixel_size&&16!==A.pixel_size&&24!==A.pixel_size&&32!==A.pixel_size)throw new Error("THREE.TGALoader: Invalid pixel size "+A.pixel_size)}(n),n.id_length+t>A.length)throw new Error("THREE.TGALoader: No data.");t+=n.id_length;let g=!1,o=!1,s=!1;switch(n.image_type){case 9:g=!0,o=!0;break;case 1:o=!0;break;case 10:g=!0;break;case 2:break;case 11:g=!0,s=!0;break;case 3:s=!0}const a=new Uint8Array(n.width*n.height*4),r=function(A,t,e,i,n){let g,o;const s=e.pixel_size>>3,a=e.width*e.height*s;if(t&&(o=n.subarray(i,i+=e.colormap_length*(e.colormap_size>>3))),A){let A,t,e;g=new Uint8Array(a);let o=0;const r=new Uint8Array(s);for(;o>4){default:case 2:o=0,r=1,I=t,a=0,B=1,Q=e;break;case 0:o=0,r=1,I=t,a=e-1,B=-1,Q=-1;break;case 3:o=t-1,r=-1,I=-1,a=0,B=1,Q=e;break;case 1:o=t-1,r=-1,I=-1,a=e-1,B=-1,Q=-1}if(s)switch(n.pixel_size){case 8:!function(A,t,e,i,g,o,s,a){let r,B,I,Q=0;const E=n.width;for(I=t;I!==i;I+=e)for(B=g;B!==s;B+=o,Q++)r=a[Q],A[4*(B+E*I)+0]=r,A[4*(B+E*I)+1]=r,A[4*(B+E*I)+2]=r,A[4*(B+E*I)+3]=255}(A,a,B,Q,o,r,I,i);break;case 16:!function(A,t,e,i,g,o,s,a){let r,B,I=0;const Q=n.width;for(B=t;B!==i;B+=e)for(r=g;r!==s;r+=o,I+=2)A[4*(r+Q*B)+0]=a[I+0],A[4*(r+Q*B)+1]=a[I+0],A[4*(r+Q*B)+2]=a[I+0],A[4*(r+Q*B)+3]=a[I+1]}(A,a,B,Q,o,r,I,i);break;default:throw new Error("THREE.TGALoader: Format not supported.")}else switch(n.pixel_size){case 8:!function(A,t,e,i,g,o,s,a,r){const B=r;let I,Q,E,C=0;const c=n.width;for(E=t;E!==i;E+=e)for(Q=g;Q!==s;Q+=o,C++)I=a[C],A[4*(Q+c*E)+3]=255,A[4*(Q+c*E)+2]=B[3*I+0],A[4*(Q+c*E)+1]=B[3*I+1],A[4*(Q+c*E)+0]=B[3*I+2]}(A,a,B,Q,o,r,I,i,g);break;case 16:!function(A,t,e,i,g,o,s,a){let r,B,I,Q=0;const E=n.width;for(I=t;I!==i;I+=e)for(B=g;B!==s;B+=o,Q+=2)r=a[Q+0]+(a[Q+1]<<8),A[4*(B+E*I)+0]=(31744&r)>>7,A[4*(B+E*I)+1]=(992&r)>>2,A[4*(B+E*I)+2]=(31&r)<<3,A[4*(B+E*I)+3]=32768&r?0:255}(A,a,B,Q,o,r,I,i);break;case 24:!function(A,t,e,i,g,o,s,a){let r,B,I=0;const Q=n.width;for(B=t;B!==i;B+=e)for(r=g;r!==s;r+=o,I+=3)A[4*(r+Q*B)+3]=255,A[4*(r+Q*B)+2]=a[I+0],A[4*(r+Q*B)+1]=a[I+1],A[4*(r+Q*B)+0]=a[I+2]}(A,a,B,Q,o,r,I,i);break;case 32:!function(A,t,e,i,g,o,s,a){let r,B,I=0;const Q=n.width;for(B=t;B!==i;B+=e)for(r=g;r!==s;r+=o,I+=4)A[4*(r+Q*B)+2]=a[I+0],A[4*(r+Q*B)+1]=a[I+1],A[4*(r+Q*B)+0]=a[I+2],A[4*(r+Q*B)+3]=a[I+3]}(A,a,B,Q,o,r,I,i);break;default:throw new Error("THREE.TGALoader: Format not supported.")}}(a,n.width,n.height,r.pixel_data,r.palettes),{data:a,width:n.width,height:n.height,flipY:!0,generateMipmaps:!0,minFilter:i.LinearMipmapLinearFilter}}}class g extends i.Loader{load(A,t,e,n){const g=this,o=""===g.path?i.LoaderUtils.extractUrlBase(A):g.path,s=new i.FileLoader(g.manager);s.setPath(g.path),s.setRequestHeader(g.requestHeader),s.setWithCredentials(g.withCredentials),s.load(A,(function(e){try{t(g.parse(e,o))}catch(t){n?n(t):console.error(t),g.manager.itemError(A)}}),e,n)}parse(A,t){function e(A,t){const e=[],i=A.childNodes;for(let A=0,n=i.length;A0&&t.push(new i.VectorKeyframeTrack(n+".position",g,o)),s.length>0&&t.push(new i.QuaternionKeyframeTrack(n+".quaternion",g,s)),a.length>0&&t.push(new i.VectorKeyframeTrack(n+".scale",g,a)),t}function D(A,t,e){let i,n,g,o=!0;for(n=0,g=A.length;n=0;){const i=A[t];if(null!==i.value[e])return i;t--}return null}function R(A,t,e){for(;t>>0));return e=e.toLowerCase(),t="tga"===e?XA:ZA,t}(g);if(void 0!==t){const n=t.load(g),o=A.extra;if(void 0!==o&&void 0!==o.technique&&!1===r(o.technique)){const A=o.technique;n.wrapS=A.wrapU?i.RepeatWrapping:i.ClampToEdgeWrapping,n.wrapT=A.wrapV?i.RepeatWrapping:i.ClampToEdgeWrapping,n.offset.set(A.offsetU||0,A.offsetV||0),n.repeat.set(A.repeatU||1,A.repeatV||1)}else n.wrapS=i.RepeatWrapping,n.wrapT=i.RepeatWrapping;return null!==e&&(n.colorSpace=e),n}return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",g),null}return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:",A.id),null}g.name=A.name||"";const s=n.parameters;for(const A in s){const t=s[A];switch(A){case"diffuse":t.color&&g.color.fromArray(t.color),t.texture&&(g.map=o(t.texture,i.SRGBColorSpace));break;case"specular":t.color&&g.specular&&g.specular.fromArray(t.color),t.texture&&(g.specularMap=o(t.texture));break;case"bump":t.texture&&(g.normalMap=o(t.texture));break;case"ambient":t.texture&&(g.lightMap=o(t.texture,i.SRGBColorSpace));break;case"shininess":t.float&&g.shininess&&(g.shininess=t.float);break;case"emission":t.color&&g.emissive&&g.emissive.fromArray(t.color),t.texture&&(g.emissiveMap=o(t.texture,i.SRGBColorSpace))}}g.color.convertSRGBToLinear(),g.specular&&g.specular.convertSRGBToLinear(),g.emissive&&g.emissive.convertSRGBToLinear();let a=s.transparent,B=s.transparency;if(void 0===B&&a&&(B={float:1}),void 0===a&&B&&(a={opaque:"A_ONE",data:{color:[1,1,1,1]}}),a&&B)if(a.data.texture)g.transparent=!0;else{const A=a.data.color;switch(a.opaque){case"A_ONE":g.opacity=A[3]*B.float;break;case"RGB_ZERO":g.opacity=1-A[0]*B.float;break;case"A_ZERO":g.opacity=1-A[3]*B.float;break;case"RGB_ONE":g.opacity=A[0]*B.float;break;default:console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',a.opaque)}g.opacity<1&&(g.transparent=!0)}if(void 0!==n.extra&&void 0!==n.extra.technique){const A=n.extra.technique;for(const t in A){const e=A[t];switch(t){case"double_sided":g.side=1===e?i.DoubleSide:i.FrontSide;break;case"bump":g.normalMap=o(e.texture),g.normalScale=new i.Vector2(1,1)}}}return g}function q(A){return C(jA.materials[A],z)}function j(A){for(let t=0;t0?e+g:e;t.inputs[o]={id:A,offset:n},t.stride=Math.max(t.stride,n+1),"TEXCOORD"===e&&(t.hasUV=!0);break;case"vcount":t.vcount=s(i.textContent);break;case"p":t.p=s(i.textContent)}}return t}function BA(A){let t=0;for(let e=0,i=A.length;e0&&t0&&Q.setAttribute("position",new i.Float32BufferAttribute(g.array,g.stride)),o.array.length>0&&Q.setAttribute("normal",new i.Float32BufferAttribute(o.array,o.stride)),r.array.length>0&&Q.setAttribute("color",new i.Float32BufferAttribute(r.array,r.stride)),s.array.length>0&&Q.setAttribute("uv",new i.Float32BufferAttribute(s.array,s.stride)),a.array.length>0&&Q.setAttribute("uv1",new i.Float32BufferAttribute(a.array,a.stride)),B.length>0&&Q.setAttribute("skinIndex",new i.Float32BufferAttribute(B,4)),I.length>0&&Q.setAttribute("skinWeight",new i.Float32BufferAttribute(I,4)),n.data=Q,n.type=A[0].type,n.materialKeys=E,n}function EA(A,t,e,i,n=!1){const g=A.p,o=A.stride,s=A.vcount;function a(A){let t=g[A+e]*B;const o=t+B;for(;t4)for(let t=1,i=e-2;t<=i;t++){const e=A+o*t,i=A+o*(t+1);a(A+0*o),a(e),a(i)}A+=o*e}}else for(let A=0,t=g.length;A=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function uA(A){const t={sid:A.getAttribute("sid"),name:A.getAttribute("name")||"",attachments:[],transforms:[]};for(let e=0;en.limits.max||t{"use strict";e.d(t,{_:()=>g});var i=e(477);const n=new WeakMap;class g extends i.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,t,e,n){const g=new i.FileLoader(this.manager);g.setPath(this.path),g.setResponseType("arraybuffer"),g.setRequestHeader(this.requestHeader),g.setWithCredentials(this.withCredentials),g.load(A,(A=>{this.parse(A,t,n)}),e,n)}parse(A,t,e=(()=>{})){this.decodeDracoFile(A,t,null,null,i.SRGBColorSpace).catch(e)}decodeDracoFile(A,t,e,n,g=i.LinearSRGBColorSpace,o=(()=>{})){const s={attributeIDs:e||this.defaultAttributeIDs,attributeTypes:n||this.defaultAttributeTypes,useUniqueIDs:!!e,vertexColorSpace:g};return this.decodeGeometry(A,s).then(t).catch(o)}decodeGeometry(A,t){const e=JSON.stringify(t);if(n.has(A)){const t=n.get(A);if(t.key===e)return t.promise;if(0===A.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const g=this.workerNextTaskID++,o=A.byteLength,s=this._getWorker(g,o).then((e=>(i=e,new Promise(((e,n)=>{i._callbacks[g]={resolve:e,reject:n},i.postMessage({type:"decode",id:g,taskConfig:t,buffer:A},[A])}))))).then((A=>this._createGeometry(A.geometry)));return s.catch((()=>!0)).then((()=>{i&&g&&this._releaseTask(i,g)})),n.set(A,{key:e,promise:s}),s}_createGeometry(A){const t=new i.BufferGeometry;A.index&&t.setIndex(new i.BufferAttribute(A.index.array,1));for(let e=0;e{e.load(A,t,void 0,i)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return A?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then((t=>{const e=t[0];A||(this.decoderConfig.wasmBinary=t[1]);const i=o.toString(),n=["/* draco decoder */",e,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([n]))})),this.decoderPending}_getWorker(A,t){return this._initDecoder().then((()=>{if(this.workerPool.lengtht._taskLoad?-1:1}));const e=this.workerPool[this.workerPool.length-1];return e._taskCosts[A]=t,e._taskLoad+=t,e}))}_releaseTask(A,t){A._taskLoad-=A._taskCosts[t],delete A._callbacks[t],delete A._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map((A=>A._taskLoad)))}dispose(){for(let A=0;A{const t=A.draco,o=new t.Decoder;try{const A=function(A,t,i,n){const g=n.attributeIDs,o=n.attributeTypes;let s,a;const r=t.GetEncodedGeometryType(i);if(r===A.TRIANGULAR_MESH)s=new A.Mesh,a=t.DecodeArrayToMesh(i,i.byteLength,s);else{if(r!==A.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");s=new A.PointCloud,a=t.DecodeArrayToPointCloud(i,i.byteLength,s)}if(!a.ok()||0===s.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+a.error_msg());const B={index:null,attributes:[]};for(const i in g){const a=self[o[i]];let r,I;if(n.useUniqueIDs)I=g[i],r=t.GetAttributeByUniqueId(s,I);else{if(I=t.GetAttributeId(s,A[g[i]]),-1===I)continue;r=t.GetAttribute(s,I)}const Q=e(A,t,s,i,a,r);"color"===i&&(Q.vertexColorSpace=n.vertexColorSpace),B.attributes.push(Q)}return r===A.TRIANGULAR_MESH&&(B.index=function(A,t,e){const i=3*e.num_faces(),n=4*i,g=A._malloc(n);t.GetTrianglesUInt32Array(e,n,g);const o=new Uint32Array(A.HEAPF32.buffer,g,i).slice();return A._free(g),{array:o,itemSize:1}}(A,t,s)),A.destroy(s),B}(t,o,new Int8Array(i),g),s=A.attributes.map((A=>A.array.buffer));A.index&&s.push(A.index.array.buffer),self.postMessage({type:"decode",id:n.id,geometry:A},s)}catch(A){console.error(A),self.postMessage({type:"error",id:n.id,error:A.message})}finally{t.destroy(o)}}))}}}},217:(A,t,e)=>{"use strict";e.d(t,{E:()=>g});var i=e(477),n=e(140);class g extends i.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register((function(A){return new I(A)})),this.register((function(A){return new p(A)})),this.register((function(A){return new f(A)})),this.register((function(A){return new m(A)})),this.register((function(A){return new E(A)})),this.register((function(A){return new C(A)})),this.register((function(A){return new c(A)})),this.register((function(A){return new l(A)})),this.register((function(A){return new B(A)})),this.register((function(A){return new h(A)})),this.register((function(A){return new Q(A)})),this.register((function(A){return new u(A)})),this.register((function(A){return new d(A)})),this.register((function(A){return new a(A)})),this.register((function(A){return new w(A)})),this.register((function(A){return new D(A)}))}load(A,t,e,n){const g=this;let o;if(""!==this.resourcePath)o=this.resourcePath;else if(""!==this.path){const t=i.LoaderUtils.extractUrlBase(A);o=i.LoaderUtils.resolveURL(t,this.path)}else o=i.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const s=function(t){n?n(t):console.error(t),g.manager.itemError(A),g.manager.itemEnd(A)},a=new i.FileLoader(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(A,(function(e){try{g.parse(e,o,(function(e){t(e),g.manager.itemEnd(A)}),s)}catch(A){s(A)}}),e,s)}setDRACOLoader(A){return this.dracoLoader=A,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return-1===this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.push(A),this}unregister(A){return-1!==this.pluginCallbacks.indexOf(A)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,t,e,i){let n;const g={},o={},a=new TextDecoder;if("string"==typeof A)n=JSON.parse(A);else if(A instanceof ArrayBuffer)if(a.decode(new Uint8Array(A,0,4))===y){try{g[s.KHR_BINARY_GLTF]=new R(A)}catch(A){return void(i&&i(A))}n=JSON.parse(g[s.KHR_BINARY_GLTF].content)}else n=JSON.parse(a.decode(A));else n=A;if(void 0===n.asset||n.asset.version[0]<2)return void(i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const B=new P(n,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});B.fileLoader.setRequestHeader(this.requestHeader);for(let A=0;A=0&&void 0===o[t]&&console.warn('THREE.GLTFLoader: Unknown extension "'+t+'".')}}B.setExtensions(g),B.setPlugins(o),B.parse(e,i)}parseAsync(A,t){const e=this;return new Promise((function(i,n){e.parse(A,t,i,n)}))}}function o(){let A={};return{get:function(t){return A[t]},add:function(t,e){A[t]=e},remove:function(t){delete A[t]},removeAll:function(){A={}}}}const s={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_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",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_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class a{constructor(A){this.parser=A,this.name=s.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,t=this.parser.json.nodes||[];for(let e=0,i=t.length;e=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(A,n.source,g)}}class f{constructor(A){this.parser=A,this.name=s.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(A){const t=this.name,e=this.parser,i=e.json,n=i.textures[A];if(!n.extensions||!n.extensions[t])return null;const g=n.extensions[t],o=i.images[g.source];let s=e.textureLoader;if(o.uri){const A=e.options.manager.getHandler(o.uri);null!==A&&(s=A)}return this.detectSupport().then((function(n){if(n)return e.loadTextureImage(A,g.source,s);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return e.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){A(1===t.height)}}))),this.isSupported}}class m{constructor(A){this.parser=A,this.name=s.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(A){const t=this.name,e=this.parser,i=e.json,n=i.textures[A];if(!n.extensions||!n.extensions[t])return null;const g=n.extensions[t],o=i.images[g.source];let s=e.textureLoader;if(o.uri){const A=e.options.manager.getHandler(o.uri);null!==A&&(s=A)}return this.detectSupport().then((function(n){if(n)return e.loadTextureImage(A,g.source,s);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return e.loadTexture(A)}))}detectSupport(){return this.isSupported||(this.isSupported=new Promise((function(A){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){A(1===t.height)}}))),this.isSupported}}class w{constructor(A){this.name=s.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const t=this.parser.json,e=t.bufferViews[A];if(e.extensions&&e.extensions[this.name]){const A=e.extensions[this.name],i=this.parser.getDependency("buffer",A.buffer),n=this.parser.options.meshoptDecoder;if(!n||!n.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then((function(t){const e=A.byteOffset||0,i=A.byteLength||0,g=A.count,o=A.byteStride,s=new Uint8Array(t,e,i);return n.decodeGltfBufferAsync?n.decodeGltfBufferAsync(g,o,s,A.mode,A.filter).then((function(A){return A.buffer})):n.ready.then((function(){const t=new ArrayBuffer(g*o);return n.decodeGltfBuffer(new Uint8Array(t),g,o,s,A.mode,A.filter),t}))}))}return null}}class D{constructor(A){this.name=s.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const t=this.parser.json,e=t.nodes[A];if(!e.extensions||!e.extensions[this.name]||void 0===e.mesh)return null;const n=t.meshes[e.mesh];for(const A of n.primitives)if(A.mode!==x.TRIANGLES&&A.mode!==x.TRIANGLE_STRIP&&A.mode!==x.TRIANGLE_FAN&&void 0!==A.mode)return null;const g=e.extensions[this.name].attributes,o=[],s={};for(const A in g)o.push(this.parser.getDependency("accessor",g[A]).then((t=>(s[A]=t,s[A]))));return o.length<1?null:(o.push(this.parser.createNodeMesh(A)),Promise.all(o).then((A=>{const t=A.pop(),e=t.isGroup?t.children:[t],n=A[0].count,g=[];for(const A of e){const t=new i.Matrix4,e=new i.Vector3,o=new i.Quaternion,a=new i.Vector3(1,1,1),r=new i.InstancedMesh(A.geometry,A.material,n);for(let A=0;A-1,g=n?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),"undefined"==typeof createImageBitmap||e||n&&g<98?this.textureLoader=new i.TextureLoader(this.options.manager):this.textureLoader=new i.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new i.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,t){const e=this,i=this.json,n=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll((function(A){return A._markDefs&&A._markDefs()})),Promise.all(this._invokeAll((function(A){return A.beforeRoot&&A.beforeRoot()}))).then((function(){return Promise.all([e.getDependencies("scene"),e.getDependencies("animation"),e.getDependencies("camera")])})).then((function(t){const g={scene:t[0][i.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:i.asset,parser:e,userData:{}};return J(n,g,i),_(g,i),Promise.all(e._invokeAll((function(A){return A.afterRoot&&A.afterRoot(g)}))).then((function(){for(const A of g.scenes)A.updateMatrixWorld();A(g)}))})).catch(t)}_markDefs(){const A=this.json.nodes||[],t=this.json.skins||[],e=this.json.meshes||[];for(let e=0,i=t.length;e{const e=this.associations.get(A);null!=e&&this.associations.set(t,e);for(const[e,i]of A.children.entries())n(i,t.children[e])};return n(e,i),i.name+="_instance_"+A.uses[t]++,i}_invokeOne(A){const t=Object.values(this.plugins);t.push(this);for(let e=0;e=2&&C.setY(t,I[A*o+1]),o>=3&&C.setZ(t,I[A*o+2]),o>=4&&C.setW(t,I[A*o+3]),o>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return C}))}loadTexture(A){const t=this.json,e=this.options,i=t.textures[A].source,n=t.images[i];let g=this.textureLoader;if(n.uri){const A=e.manager.getHandler(n.uri);null!==A&&(g=A)}return this.loadTextureImage(A,i,g)}loadTextureImage(A,t,e){const n=this,g=this.json,o=g.textures[A],s=g.images[t],a=(s.uri||s.bufferView)+":"+o.sampler;if(this.textureCache[a])return this.textureCache[a];const r=this.loadImageSource(t,e).then((function(t){t.flipY=!1,t.name=o.name||s.name||"",""===t.name&&"string"==typeof s.uri&&!1===s.uri.startsWith("data:image/")&&(t.name=s.uri);const e=(g.samplers||{})[o.sampler]||{};return t.magFilter=H[e.magFilter]||i.LinearFilter,t.minFilter=H[e.minFilter]||i.LinearMipmapLinearFilter,t.wrapS=L[e.wrapS]||i.RepeatWrapping,t.wrapT=L[e.wrapT]||i.RepeatWrapping,n.associations.set(t,{textures:A}),t})).catch((function(){return null}));return this.textureCache[a]=r,r}loadImageSource(A,t){const e=this.json,n=this.options;if(void 0!==this.sourceCache[A])return this.sourceCache[A].then((A=>A.clone()));const g=e.images[A],o=self.URL||self.webkitURL;let s=g.uri||"",a=!1;if(void 0!==g.bufferView)s=this.getDependency("bufferView",g.bufferView).then((function(A){a=!0;const t=new Blob([A],{type:g.mimeType});return s=o.createObjectURL(t),s}));else if(void 0===g.uri)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const r=Promise.resolve(s).then((function(A){return new Promise((function(e,g){let o=e;!0===t.isImageBitmapLoader&&(o=function(A){const t=new i.Texture(A);t.needsUpdate=!0,e(t)}),t.load(i.LoaderUtils.resolveURL(A,n.path),o,void 0,g)}))})).then((function(A){var t;return!0===a&&o.revokeObjectURL(s),A.userData.mimeType=g.mimeType||((t=g.uri).search(/\.jpe?g($|\?)/i)>0||0===t.search(/^data\:image\/jpeg/)?"image/jpeg":t.search(/\.webp($|\?)/i)>0||0===t.search(/^data\:image\/webp/)?"image/webp":"image/png"),A})).catch((function(A){throw console.error("THREE.GLTFLoader: Couldn't load texture",s),A}));return this.sourceCache[A]=r,r}assignTexture(A,t,e,i){const n=this;return this.getDependency("texture",e.index).then((function(g){if(!g)return null;if(void 0!==e.texCoord&&e.texCoord>0&&((g=g.clone()).channel=e.texCoord),n.extensions[s.KHR_TEXTURE_TRANSFORM]){const A=void 0!==e.extensions?e.extensions[s.KHR_TEXTURE_TRANSFORM]:void 0;if(A){const t=n.associations.get(g);g=n.extensions[s.KHR_TEXTURE_TRANSFORM].extendTexture(g,A),n.associations.set(g,t)}}return void 0!==i&&(g.colorSpace=i),A[t]=g,g}))}assignFinalMaterial(A){const t=A.geometry;let e=A.material;const n=void 0===t.attributes.tangent,g=void 0!==t.attributes.color,o=void 0===t.attributes.normal;if(A.isPoints){const A="PointsMaterial:"+e.uuid;let t=this.cache.get(A);t||(t=new i.PointsMaterial,i.Material.prototype.copy.call(t,e),t.color.copy(e.color),t.map=e.map,t.sizeAttenuation=!1,this.cache.add(A,t)),e=t}else if(A.isLine){const A="LineBasicMaterial:"+e.uuid;let t=this.cache.get(A);t||(t=new i.LineBasicMaterial,i.Material.prototype.copy.call(t,e),t.color.copy(e.color),t.map=e.map,this.cache.add(A,t)),e=t}if(n||g||o){let A="ClonedMaterial:"+e.uuid+":";n&&(A+="derivative-tangents:"),g&&(A+="vertex-colors:"),o&&(A+="flat-shading:");let t=this.cache.get(A);t||(t=e.clone(),g&&(t.vertexColors=!0),o&&(t.flatShading=!0),n&&(t.normalScale&&(t.normalScale.y*=-1),t.clearcoatNormalScale&&(t.clearcoatNormalScale.y*=-1)),this.cache.add(A,t),this.associations.set(t,this.associations.get(e))),e=t}A.material=e}getMaterialType(){return i.MeshStandardMaterial}loadMaterial(A){const t=this,e=this.json,n=this.extensions,g=e.materials[A];let o;const a={},r=[];if((g.extensions||{})[s.KHR_MATERIALS_UNLIT]){const A=n[s.KHR_MATERIALS_UNLIT];o=A.getMaterialType(),r.push(A.extendParams(a,g,t))}else{const e=g.pbrMetallicRoughness||{};if(a.color=new i.Color(1,1,1),a.opacity=1,Array.isArray(e.baseColorFactor)){const A=e.baseColorFactor;a.color.setRGB(A[0],A[1],A[2],i.LinearSRGBColorSpace),a.opacity=A[3]}void 0!==e.baseColorTexture&&r.push(t.assignTexture(a,"map",e.baseColorTexture,i.SRGBColorSpace)),a.metalness=void 0!==e.metallicFactor?e.metallicFactor:1,a.roughness=void 0!==e.roughnessFactor?e.roughnessFactor:1,void 0!==e.metallicRoughnessTexture&&(r.push(t.assignTexture(a,"metalnessMap",e.metallicRoughnessTexture)),r.push(t.assignTexture(a,"roughnessMap",e.metallicRoughnessTexture))),o=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(A)})),r.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(A,a)}))))}!0===g.doubleSided&&(a.side=i.DoubleSide);const B=g.alphaMode||"OPAQUE";if("BLEND"===B?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,"MASK"===B&&(a.alphaTest=void 0!==g.alphaCutoff?g.alphaCutoff:.5)),void 0!==g.normalTexture&&o!==i.MeshBasicMaterial&&(r.push(t.assignTexture(a,"normalMap",g.normalTexture)),a.normalScale=new i.Vector2(1,1),void 0!==g.normalTexture.scale)){const A=g.normalTexture.scale;a.normalScale.set(A,A)}if(void 0!==g.occlusionTexture&&o!==i.MeshBasicMaterial&&(r.push(t.assignTexture(a,"aoMap",g.occlusionTexture)),void 0!==g.occlusionTexture.strength&&(a.aoMapIntensity=g.occlusionTexture.strength)),void 0!==g.emissiveFactor&&o!==i.MeshBasicMaterial){const A=g.emissiveFactor;a.emissive=(new i.Color).setRGB(A[0],A[1],A[2],i.LinearSRGBColorSpace)}return void 0!==g.emissiveTexture&&o!==i.MeshBasicMaterial&&r.push(t.assignTexture(a,"emissiveMap",g.emissiveTexture,i.SRGBColorSpace)),Promise.all(r).then((function(){const e=new o(a);return g.name&&(e.name=g.name),_(e,g),t.associations.set(e,{materials:A}),g.extensions&&J(n,e,g),e}))}createUniqueName(A){const t=i.PropertyBinding.sanitizeNodeName(A||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(A){const t=this,e=this.extensions,n=this.primitiveCache;function g(A){return e[s.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(A,t).then((function(e){return O(e,A,t)}))}const o=[];for(let e=0,a=A.length;e0&&V(E,o),E.name=t.createUniqueName(o.name||"mesh_"+A),_(E,o),Q.extensions&&J(g,E,Q),t.assignFinalMaterial(E),B.push(E)}for(let e=0,i=B.length;e1?new i.Group:1===t.length?t[0]:new i.Object3D,s!==t[0])for(let A=0,e=t.length;A{const t=new Map;for(const[A,e]of n.associations)(A instanceof i.Material||A instanceof i.Texture)&&t.set(A,e);return A.traverse((A=>{const e=n.associations.get(A);null!=e&&t.set(A,e)})),t})(g),g}))}_createAnimationTracks(A,t,e,n,g){const o=[],s=A.name?A.name:A.uuid,a=[];let r;switch(Y[g.path]===Y.weights?A.traverse((function(A){A.morphTargetInfluences&&a.push(A.name?A.name:A.uuid)})):a.push(s),Y[g.path]){case Y.weights:r=i.NumberKeyframeTrack;break;case Y.rotation:r=i.QuaternionKeyframeTrack;break;case Y.position:case Y.scale:r=i.VectorKeyframeTrack;break;default:r=1===e.itemSize?i.NumberKeyframeTrack:i.VectorKeyframeTrack}const B=void 0!==n.interpolation?T[n.interpolation]:i.InterpolateLinear,I=this._getArrayFromAccessor(e);for(let A=0,e=a.length;A{"use strict";e.d(t,{a:()=>b});var i=e(477);class n{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(A){if(!this.workers[A]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=t}}_getIdleWorker(){for(let A=0;A{const i=this._getIdleWorker();-1!==i?(this._initWorker(i),this.workerStatus|=1<A.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const g=9,o=15,s=16,a=22,r=37,B=43,I=76,Q=83,E=97,C=100,c=103,l=109,h=165,d=166;class u{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 p{constructor(A,t,e,i){this._dataView=new DataView(A.buffer,A.byteOffset+t,e),this._littleEndian=i,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_skip(A){return this._offset+=A,this}_scan(A,t=0){const e=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==t&&iA.arrayBuffer())).then((A=>WebAssembly.instantiate(A,R))).then(this._init):WebAssembly.instantiate(Buffer.from(M,"base64"),R).then(this._init),w)}_init(A){D=A.instance,R.env.emscripten_notify_memory_growth(0)}decode(A,t=0){if(!D)throw new Error("ZSTDDecoder: Await .init() before decoding.");const e=A.byteLength,i=D.exports.malloc(e);y.set(A,i),t=t||Number(D.exports.ZSTD_findDecompressedSize(i,e));const n=D.exports.malloc(t),g=D.exports.ZSTD_decompress(n,t,i,e),o=y.slice(n,n+g);return D.exports.free(i),D.exports.free(n),o}}const M="AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",G=new WeakMap;let S,U=0;class b extends i.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new n,this.workerSourceURL="",this.workerConfig=null,"undefined"!=typeof MSC_TRANSCODER&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),etc1Supported:await A.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return!0===A.isWebGPURenderer?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),etc1Supported:A.hasFeature("texture-compression-etc1"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bptc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:(this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this.workerConfig.etc1Supported=!1),this}init(){if(!this.transcoderPending){const A=new i.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const t=A.loadAsync("basis_transcoder.js"),e=new i.FileLoader(this.manager);e.setPath(this.transcoderPath),e.setResponseType("arraybuffer"),e.setWithCredentials(this.withCredentials);const n=e.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([t,n]).then((([A,t])=>{const e=b.BasisWorker.toString(),i=["/* constants */","let _EngineFormat = "+JSON.stringify(b.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(b.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(b.BasisFormat),"/* basis_transcoder.js */",A,"/* worker */",e.substring(e.indexOf("{")+1,e.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i])),this.transcoderBinary=t,this.workerPool.setWorkerCreator((()=>{const A=new Worker(this.workerSourceURL),t=this.transcoderBinary.slice(0);return A.postMessage({type:"init",config:this.workerConfig,transcoderBinary:t},[t]),A}))})),U>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),U++}return this.transcoderPending}load(A,t,e,n){if(null===this.workerConfig)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const g=new i.FileLoader(this.manager);g.setResponseType("arraybuffer"),g.setWithCredentials(this.withCredentials),g.load(A,(A=>{if(G.has(A))return G.get(A).promise.then(t).catch(n);this._createTexture(A).then((A=>t?t(A):null)).catch(n)}),e,n)}_createTextureFrom(A,t){const{faces:e,width:n,height:g,format:o,type:s,error:a,dfdFlags:r}=A;if("error"===s)return Promise.reject(a);let B;if(6===t.faceCount)B=new i.CompressedCubeTexture(e,o,i.UnsignedByteType);else{const A=e[0].mipmaps;B=t.layerCount>1?new i.CompressedArrayTexture(A,n,g,t.layerCount,o,i.UnsignedByteType):new i.CompressedTexture(A,n,g,o,i.UnsignedByteType)}return B.minFilter=1===e[0].mipmaps.length?i.LinearFilter:i.LinearMipmapLinearFilter,B.magFilter=i.LinearFilter,B.generateMipmaps=!1,B.needsUpdate=!0,B.colorSpace=L(t),B.premultiplyAlpha=!!(1&r),B}async _createTexture(A,t={}){const e=function(A){const t=new Uint8Array(A.buffer,A.byteOffset,f.length);if(t[0]!==f[0]||t[1]!==f[1]||t[2]!==f[2]||t[3]!==f[3]||t[4]!==f[4]||t[5]!==f[5]||t[6]!==f[6]||t[7]!==f[7]||t[8]!==f[8]||t[9]!==f[9]||t[10]!==f[10]||t[11]!==f[11])throw new Error("Missing KTX 2.0 identifier.");const e=new u,i=17*Uint32Array.BYTES_PER_ELEMENT,n=new p(A,f.length,i,!0);e.vkFormat=n._nextUint32(),e.typeSize=n._nextUint32(),e.pixelWidth=n._nextUint32(),e.pixelHeight=n._nextUint32(),e.pixelDepth=n._nextUint32(),e.layerCount=n._nextUint32(),e.faceCount=n._nextUint32();const g=n._nextUint32();e.supercompressionScheme=n._nextUint32();const o=n._nextUint32(),s=n._nextUint32(),a=n._nextUint32(),r=n._nextUint32(),B=n._nextUint64(),I=n._nextUint64(),Q=new p(A,f.length+i,3*g*8,!0);for(let t=0;t{const t=new F;await t.init(),A(t)}))),e=await S);const n=[];for(let g=0;g>g),s=Math.max(1,A.pixelHeight>>g),a=A.pixelDepth?Math.max(1,A.pixelDepth>>g):0,r=A.levels[g];let B,I;if(0===A.supercompressionScheme)B=r.levelData;else{if(2!==A.supercompressionScheme)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");B=e.decode(r.levelData,r.uncompressedByteLength)}I=H[t]===i.FloatType?new Float32Array(B.buffer,B.byteOffset,B.byteLength/Float32Array.BYTES_PER_ELEMENT):H[t]===i.HalfFloatType?new Uint16Array(B.buffer,B.byteOffset,B.byteLength/Uint16Array.BYTES_PER_ELEMENT):B,n.push({data:I,width:o,height:s,depth:a})}let g;if(x.has(N[t]))g=0===A.pixelDepth?new i.DataTexture(n[0].data,A.pixelWidth,A.pixelHeight):new i.Data3DTexture(n[0].data,A.pixelWidth,A.pixelHeight,A.pixelDepth);else{if(A.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");g=new i.CompressedTexture(n,A.pixelWidth,A.pixelHeight)}return g.mipmaps=n,g.type=H[t],g.format=N[t],g.colorSpace=L(A),g.needsUpdate=!0,Promise.resolve(g)}(e);const n=t,g=this.init().then((()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:n},[A]))).then((A=>this._createTextureFrom(A.data,e)));return G.set(A,{promise:g}),g}dispose(){return this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),U--,this}}b.BasisFormat={ETC1S:0,UASTC_4x4:1},b.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},b.EngineFormat={RGBAFormat:i.RGBAFormat,RGBA_ASTC_4x4_Format:i.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:i.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:i.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:i.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:i.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:i.RGB_ETC1_Format,RGB_ETC2_Format:i.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:i.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:i.RGB_S3TC_DXT1_Format},b.BasisWorker=function(){let A,t,e;const i=_EngineFormat,n=_TranscoderFormat,g=_BasisFormat;self.addEventListener("message",(function(o){const I=o.data;switch(I.type){case"init":A=I.config,Q=I.transcoderBinary,t=new Promise((A=>{e={wasmBinary:Q,onRuntimeInitialized:A},BASIS(e)})).then((()=>{e.initializeBasis(),void 0===e.KTX2File&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{faces:t,buffers:o,width:Q,height:E,hasAlpha:C,format:c,dfdFlags:l}=function(t){const o=new e.KTX2File(new Uint8Array(t));function I(){o.close(),o.delete()}if(!o.isValid())throw I(),new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file");const Q=o.isUASTC()?g.UASTC_4x4:g.ETC1S,E=o.getWidth(),C=o.getHeight(),c=o.getLayers()||1,l=o.getLevels(),h=o.getFaces(),d=o.getHasAlpha(),u=o.getDFDFlags(),{transcoderFormat:p,engineFormat:f}=function(t,e,o,B){let I,Q;const E=t===g.ETC1S?s:a;for(let i=0;i1?(n=s.origWidth,g=s.origHeight):(n=s.width,g=s.height);const a=new Uint8Array(o.getImageTranscodedSizeInBytes(e,t,0,p));if(!o.transcodeImage(a,e,t,A,p,0,-1,-1))throw I(),new Error("THREE.KTX2Loader: .transcodeImage failed.");i.push(a)}const s=B(i);t.push({data:s,width:n,height:g}),w.push(s.buffer)}m.push({mipmaps:t,width:E,height:C,format:f})}return I(),{faces:m,buffers:w,width:E,height:C,hasAlpha:d,format:f,dfdFlags:u}}(I.buffer);self.postMessage({type:"transcode",id:I.id,faces:t,width:Q,height:E,hasAlpha:C,format:c,dfdFlags:l},o)}catch(A){console.error(A),self.postMessage({type:"error",id:I.id,error:A.message})}}))}var Q}));const o=[{if:"astcSupported",basisFormat:[g.UASTC_4x4],transcoderFormat:[n.ASTC_4x4,n.ASTC_4x4],engineFormat:[i.RGBA_ASTC_4x4_Format,i.RGBA_ASTC_4x4_Format],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[g.ETC1S,g.UASTC_4x4],transcoderFormat:[n.BC7_M5,n.BC7_M5],engineFormat:[i.RGBA_BPTC_Format,i.RGBA_BPTC_Format],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[g.ETC1S,g.UASTC_4x4],transcoderFormat:[n.BC1,n.BC3],engineFormat:[i.RGB_S3TC_DXT1_Format,i.RGBA_S3TC_DXT5_Format],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[g.ETC1S,g.UASTC_4x4],transcoderFormat:[n.ETC1,n.ETC2],engineFormat:[i.RGB_ETC2_Format,i.RGBA_ETC2_EAC_Format],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[g.ETC1S,g.UASTC_4x4],transcoderFormat:[n.ETC1],engineFormat:[i.RGB_ETC1_Format],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[g.ETC1S,g.UASTC_4x4],transcoderFormat:[n.PVRTC1_4_RGB,n.PVRTC1_4_RGBA],engineFormat:[i.RGB_PVRTC_4BPPV1_Format,i.RGBA_PVRTC_4BPPV1_Format],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0}],s=o.sort((function(A,t){return A.priorityETC1S-t.priorityETC1S})),a=o.sort((function(A,t){return A.priorityUASTC-t.priorityUASTC}));function r(A){return A<=2||!(A&A-1)&&0!==A}function B(A){if(1===A.length)return A[0];let t=0;for(let e=0;e{"use strict";e.d(t,{v:()=>n});var i=e(477);class n extends i.Loader{constructor(A){super(A)}load(A,t,e,n){const g=this,o=""===this.path?i.LoaderUtils.extractUrlBase(A):this.path,s=new i.FileLoader(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(A,(function(e){try{t(g.parse(e,o))}catch(t){n?n(t):console.error(t),g.manager.itemError(A)}}),e,n)}setMaterialOptions(A){return this.materialOptions=A,this}parse(A,t){const e=A.split("\n");let i={};const n=/\s+/,o={};for(let A=0;A=0?t.substring(0,g):t;s=s.toLowerCase();let a=g>=0?t.substring(g+1):"";if(a=a.trim(),"newmtl"===s)i={name:a},o[a]=i;else if("ka"===s||"kd"===s||"ks"===s||"ke"===s){const A=a.split(n,3);i[s]=[parseFloat(A[0]),parseFloat(A[1]),parseFloat(A[2])]}else i[s]=a}const s=new g(this.resourcePath||t,this.materialOptions);return s.setCrossOrigin(this.crossOrigin),s.setManager(this.manager),s.setMaterials(o),s}}class g{constructor(A="",t={}){this.baseUrl=A,this.options=t,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.crossOrigin="anonymous",this.side=void 0!==this.options.side?this.options.side:i.FrontSide,this.wrap=void 0!==this.options.wrap?this.options.wrap:i.RepeatWrapping}setCrossOrigin(A){return this.crossOrigin=A,this}setManager(A){this.manager=A}setMaterials(A){this.materialsInfo=this.convert(A),this.materials={},this.materialsArray=[],this.nameLookup={}}convert(A){if(!this.options)return A;const t={};for(const e in A){const i=A[e],n={};t[e]=n;for(const A in i){let t=!0,e=i[A];const g=A.toLowerCase();switch(g){case"kd":case"ka":case"ks":this.options&&this.options.normalizeRGB&&(e=[e[0]/255,e[1]/255,e[2]/255]),this.options&&this.options.ignoreZeroRGBs&&0===e[0]&&0===e[1]&&0===e[2]&&(t=!1)}t&&(n[g]=e)}}return t}preload(){for(const A in this.materialsInfo)this.create(A)}getIndex(A){return this.nameLookup[A]}getAsArray(){let A=0;for(const t in this.materialsInfo)this.materialsArray[A]=this.create(t),this.nameLookup[t]=A,A++;return this.materialsArray}create(A){return void 0===this.materials[A]&&this.createMaterial_(A),this.materials[A]}createMaterial_(A){const t=this,e=this.materialsInfo[A],n={name:A,side:this.side};function g(A,e){if(n[A])return;const g=t.getTextureParams(e,n),o=t.loadTexture((s=t.baseUrl,"string"!=typeof(a=g.url)||""===a?"":/^https?:\/\//i.test(a)?a:s+a));var s,a;o.repeat.copy(g.scale),o.offset.copy(g.offset),o.wrapS=t.wrap,o.wrapT=t.wrap,"map"!==A&&"emissiveMap"!==A||(o.colorSpace=i.SRGBColorSpace),n[A]=o}for(const A in e){const t=e[A];let o;if(""!==t)switch(A.toLowerCase()){case"kd":n.color=(new i.Color).fromArray(t).convertSRGBToLinear();break;case"ks":n.specular=(new i.Color).fromArray(t).convertSRGBToLinear();break;case"ke":n.emissive=(new i.Color).fromArray(t).convertSRGBToLinear();break;case"map_kd":g("map",t);break;case"map_ks":g("specularMap",t);break;case"map_ke":g("emissiveMap",t);break;case"norm":g("normalMap",t);break;case"map_bump":case"bump":g("bumpMap",t);break;case"map_d":g("alphaMap",t),n.transparent=!0;break;case"ns":n.shininess=parseFloat(t);break;case"d":o=parseFloat(t),o<1&&(n.opacity=o,n.transparent=!0);break;case"tr":o=parseFloat(t),this.options&&this.options.invertTrProperty&&(o=1-o),o>0&&(n.opacity=1-o,n.transparent=!0)}}return this.materials[A]=new i.MeshPhongMaterial(n),this.materials[A]}getTextureParams(A,t){const e={scale:new i.Vector2(1,1),offset:new i.Vector2(0,0)},n=A.split(/\s+/);let g;return g=n.indexOf("-bm"),g>=0&&(t.bumpScale=parseFloat(n[g+1]),n.splice(g,2)),g=n.indexOf("-s"),g>=0&&(e.scale.set(parseFloat(n[g+1]),parseFloat(n[g+2])),n.splice(g,4)),g=n.indexOf("-o"),g>=0&&(e.offset.set(parseFloat(n[g+1]),parseFloat(n[g+2])),n.splice(g,4)),e.url=n.join(" ").trim(),e}loadTexture(A,t,e,n,g){const o=void 0!==this.manager?this.manager:i.DefaultLoadingManager;let s=o.getHandler(A);null===s&&(s=new i.TextureLoader(o)),s.setCrossOrigin&&s.setCrossOrigin(this.crossOrigin);const a=s.load(A,e,n,g);return void 0!==t&&(a.mapping=t),a}}},476:(A,t,e)=>{"use strict";e.d(t,{j:()=>n});var i=e(477);class n extends i.Loader{constructor(A){super(A)}load(A,t,e,n){const g=this,o=new i.FileLoader(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(A,(function(e){try{t(g.parse(e))}catch(t){n?n(t):console.error(t),g.manager.itemError(A)}}),e,n)}parse(A){function t(A,t,e){for(let i=0,n=A.length;i>5&31)/31,o=(A>>10&31)/31)}for(let a=1;a<=3;a++){const r=e+12*a,B=3*A*3+3*(a-1);C[B]=t.getFloat32(r,!0),C[B+1]=t.getFloat32(r+4,!0),C[B+2]=t.getFloat32(r+8,!0),c[B]=i,c[B+1]=I,c[B+2]=E,Q&&(l.set(n,g,o).convertSRGBToLinear(),s[B]=l.r,s[B+1]=l.g,s[B+2]=l.b)}}return E.setAttribute("position",new i.BufferAttribute(C,3)),E.setAttribute("normal",new i.BufferAttribute(c,3)),Q&&(E.setAttribute("color",new i.BufferAttribute(s,3)),E.hasColors=!0,E.alpha=I),E}(e):function(A){const t=new i.BufferGeometry,e=/solid([\s\S]*?)endsolid/g,n=/facet([\s\S]*?)endfacet/g,g=/solid\s(.+)/;let o=0;const s=/[\s]+([+-]?(?:\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/.source,a=new RegExp("vertex"+s+s+s,"g"),r=new RegExp("normal"+s+s+s,"g"),B=[],I=[],Q=[],E=new i.Vector3;let C,c=0,l=0,h=0;for(;null!==(C=e.exec(A));){l=h;const A=C[0],e=null!==(C=g.exec(A))?C[1]:"";for(Q.push(e);null!==(C=n.exec(A));){let A=0,t=0;const e=C[0];for(;null!==(C=r.exec(e));)E.x=parseFloat(C[1]),E.y=parseFloat(C[2]),E.z=parseFloat(C[3]),t++;for(;null!==(C=a.exec(e));)B.push(parseFloat(C[1]),parseFloat(C[2]),parseFloat(C[3])),I.push(E.x,E.y,E.z),A++,h++;1!==t&&console.error("THREE.STLLoader: Something isn't right with the normal of face number "+o),3!==A&&console.error("THREE.STLLoader: Something isn't right with the vertices of face number "+o),o++}const i=l,s=h-l;t.userData.groupNames=Q,t.addGroup(i,s,c),c++}return t.setAttribute("position",new i.Float32BufferAttribute(B,3)),t.setAttribute("normal",new i.Float32BufferAttribute(I,3)),t}("string"!=typeof(n=A)?(new TextDecoder).decode(n):n);var n}}},140:(A,t,e)=>{"use strict";e.d(t,{Vs:()=>o,n4:()=>n});var i=e(477);function n(A,t=!1){const e=null!==A[0].index,n=new Set(Object.keys(A[0].attributes)),o=new Set(Object.keys(A[0].morphAttributes)),s={},a={},r=A[0].morphTargetsRelative,B=new i.BufferGeometry;let I=0;for(let i=0;i{"use strict";e.d(t,{N:()=>i});class i{static createButton(A,t={}){const e=document.createElement("button");function n(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function g(A){A.style.position="absolute",A.style.bottom="20px",A.style.padding="12px 6px",A.style.border="1px solid #fff",A.style.borderRadius="4px",A.style.background="rgba(0,0,0,0.1)",A.style.color="#fff",A.style.font="normal 13px sans-serif",A.style.textAlign="center",A.style.opacity="0.5",A.style.outline="none",A.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",g(e),navigator.xr.isSessionSupported("immersive-vr").then((function(g){g?function(){let i=null;async function n(t){t.addEventListener("end",g),await A.xr.setSession(t),e.textContent="EXIT VR",i=t}function g(){i.removeEventListener("end",g),e.textContent="ENTER VR",i=null}e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR";const o={...t,optionalFeatures:["local-floor","bounded-floor","layers",...t.optionalFeatures||[]]};e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){null===i?navigator.xr.requestSession("immersive-vr",o).then(n):(i.end(),void 0!==navigator.xr.offerSession&&navigator.xr.offerSession("immersive-vr",o).then(n).catch((A=>{console.warn(A)})))},void 0!==navigator.xr.offerSession&&navigator.xr.offerSession("immersive-vr",o).then(n).catch((A=>{console.warn(A)}))}():(n(),e.textContent="VR NOT SUPPORTED"),g&&i.xrSessionIsGranted&&e.click()})).catch((function(A){n(),console.warn("Exception when trying to call xr.isSessionSupported",A),e.textContent="VR NOT ALLOWED"})),e;{const A=document.createElement("a");return!1===window.isSecureContext?(A.href=document.location.href.replace(/^http:/,"https:"),A.innerHTML="WEBXR NEEDS HTTPS"):(A.href="https://immersiveweb.dev/",A.innerHTML="WEBXR NOT AVAILABLE"),A.style.left="calc(50% - 90px)",A.style.width="180px",A.style.textDecoration="none",g(A),A}}static registerSessionGrantedListener(){if("undefined"!=typeof navigator&&"xr"in navigator){if(/WebXRViewer\//i.test(navigator.userAgent))return;navigator.xr.addEventListener("sessiongranted",(()=>{i.xrSessionIsGranted=!0}))}}}i.xrSessionIsGranted=!1,i.registerSessionGrantedListener()},904:(A,t,e)=>{"use strict";e.d(t,{v:()=>i});class i{static createButton(A,t={}){const e=document.createElement("button");function i(i){let n=null;async function g(t){t.addEventListener("end",o),await A.xr.setSession(t),e.textContent="STOP XR",n=t}function o(){n.removeEventListener("end",o),e.textContent="START XR",n=null}e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="START XR";const s={...t,optionalFeatures:["local-floor","bounded-floor","layers",...t.optionalFeatures||[]]};e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){null===n?navigator.xr.requestSession(i,s).then(g):(n.end(),void 0!==navigator.xr.offerSession&&navigator.xr.offerSession(i,s).then(g).catch((A=>{console.warn(A)})))},void 0!==navigator.xr.offerSession&&navigator.xr.offerSession(i,s).then(g).catch((A=>{console.warn(A)}))}function n(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function g(A){n(),console.warn("Exception when trying to call xr.isSessionSupported",A),e.textContent="XR NOT ALLOWED"}function o(A){A.style.position="absolute",A.style.bottom="20px",A.style.padding="12px 6px",A.style.border="1px solid #fff",A.style.borderRadius="4px",A.style.background="rgba(0,0,0,0.1)",A.style.color="#fff",A.style.font="normal 13px sans-serif",A.style.textAlign="center",A.style.opacity="0.5",A.style.outline="none",A.style.zIndex="999"}if("xr"in navigator)return e.id="XRButton",e.style.display="none",o(e),navigator.xr.isSessionSupported("immersive-ar").then((function(A){A?i("immersive-ar"):navigator.xr.isSessionSupported("immersive-vr").then((function(A){A?i("immersive-vr"):(n(),e.textContent="XR NOT SUPPORTED")})).catch(g)})).catch(g),e;{const A=document.createElement("a");return!1===window.isSecureContext?(A.href=document.location.href.replace(/^http:/,"https:"),A.innerHTML="WEBXR NEEDS HTTPS"):(A.href="https://immersiveweb.dev/",A.innerHTML="WEBXR NOT AVAILABLE"),A.style.left="calc(50% - 90px)",A.style.width="180px",A.style.textDecoration="none",o(A),A}}}},925:(A,t,e)=>{"use strict";e.d(t,{i:()=>E});var i=e(477),n=e(217);const g={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};async function o(A){const t=await fetch(A);if(t.ok)return t.json();throw new Error(t.statusText)}const s={xAxis:0,yAxis:0,button:0,state:g.ComponentState.DEFAULT};class a{constructor(A){this.componentProperty=A.componentProperty,this.states=A.states,this.valueNodeName=A.valueNodeName,this.valueNodeProperty=A.valueNodeProperty,this.valueNodeProperty===g.VisualResponseProperty.TRANSFORM&&(this.minNodeName=A.minNodeName,this.maxNodeName=A.maxNodeName),this.value=0,this.updateFromComponent(s)}updateFromComponent({xAxis:A,yAxis:t,button:e,state:i}){const{normalizedXAxis:n,normalizedYAxis:o}=function(A=0,t=0){let e=A,i=t;if(Math.sqrt(A*A+t*t)>1){const n=Math.atan2(t,A);e=Math.cos(n),i=Math.sin(n)}return{normalizedXAxis:.5*e+.5,normalizedYAxis:.5*i+.5}}(A,t);switch(this.componentProperty){case g.ComponentProperty.X_AXIS:this.value=this.states.includes(i)?n:.5;break;case g.ComponentProperty.Y_AXIS:this.value=this.states.includes(i)?o:.5;break;case g.ComponentProperty.BUTTON:this.value=this.states.includes(i)?e:0;break;case g.ComponentProperty.STATE:this.valueNodeProperty===g.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(i):this.value=this.states.includes(i)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class r{constructor(A,t){if(!(A&&t&&t.visualResponses&&t.gamepadIndices&&0!==Object.keys(t.gamepadIndices).length))throw new Error("Invalid arguments supplied");this.id=A,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach((A=>{const e=new a(t.visualResponses[A]);this.visualResponses[A]=e})),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:g.ComponentState.DEFAULT,button:void 0!==this.gamepadIndices.button?0:void 0,xAxis:void 0!==this.gamepadIndices.xAxis?0:void 0,yAxis:void 0!==this.gamepadIndices.yAxis?0:void 0}}get data(){return{id:this.id,...this.values}}updateFromGamepad(A){if(this.values.state=g.ComponentState.DEFAULT,void 0!==this.gamepadIndices.button&&A.buttons.length>this.gamepadIndices.button){const t=A.buttons[this.gamepadIndices.button];this.values.button=t.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,t.pressed||1===this.values.button?this.values.state=g.ComponentState.PRESSED:(t.touched||this.values.button>g.ButtonTouchThreshold)&&(this.values.state=g.ComponentState.TOUCHED)}void 0!==this.gamepadIndices.xAxis&&A.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=A.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===g.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>g.AxisTouchThreshold&&(this.values.state=g.ComponentState.TOUCHED)),void 0!==this.gamepadIndices.yAxis&&A.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=A.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===g.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>g.AxisTouchThreshold&&(this.values.state=g.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach((A=>{A.updateFromComponent(this.values)}))}}class B{constructor(A,t,e){if(!A)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=A,this.assetUrl=e,this.id=t.profileId,this.layoutDescription=t.layouts[A.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach((A=>{const t=this.layoutDescription.components[A];this.components[A]=new r(A,t)})),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const A=[];return Object.values(this.components).forEach((t=>{A.push(t.data)})),A}updateFromGamepad(){Object.values(this.components).forEach((A=>{A.updateFromGamepad(this.xrInputSource.gamepad)}))}}class I extends i.Object3D{constructor(){super(),this.motionController=null,this.envMap=null}setEnvironmentMap(A){return this.envMap==A||(this.envMap=A,this.traverse((A=>{A.isMesh&&(A.material.envMap=this.envMap,A.material.needsUpdate=!0)}))),this}updateMatrixWorld(A){super.updateMatrixWorld(A),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach((A=>{Object.values(A.visualResponses).forEach((A=>{const{valueNode:t,minNode:e,maxNode:i,value:n,valueNodeProperty:o}=A;t&&(o===g.VisualResponseProperty.VISIBILITY?t.visible=n:o===g.VisualResponseProperty.TRANSFORM&&(t.quaternion.slerpQuaternions(e.quaternion,i.quaternion,n),t.position.lerpVectors(e.position,i.position,n)))}))})))}}function Q(A,t){!function(A,t){Object.values(A.components).forEach((A=>{const{type:e,touchPointNodeName:n,visualResponses:o}=A;if(e===g.ComponentType.TOUCHPAD)if(A.touchPointNode=t.getObjectByName(n),A.touchPointNode){const t=new i.SphereGeometry(.001),e=new i.MeshBasicMaterial({color:255}),n=new i.Mesh(t,e);A.touchPointNode.add(n)}else console.warn(`Could not find touch dot, ${A.touchPointNodeName}, in touchpad component ${A.id}`);Object.values(o).forEach((A=>{const{valueNodeName:e,minNodeName:i,maxNodeName:n,valueNodeProperty:o}=A;if(o===g.VisualResponseProperty.TRANSFORM){if(A.minNode=t.getObjectByName(i),A.maxNode=t.getObjectByName(n),!A.minNode)return void console.warn(`Could not find ${i} in the model`);if(!A.maxNode)return void console.warn(`Could not find ${n} in the model`)}A.valueNode=t.getObjectByName(e),A.valueNode||console.warn(`Could not find ${e} in the model`)}))}))}(A.motionController,t),A.envMap&&t.traverse((t=>{t.isMesh&&(t.material.envMap=A.envMap,t.material.needsUpdate=!0)})),A.add(t)}class E{constructor(A=null,t=null){this.gltfLoader=A,this.path="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",this._assetCache={},this.onLoad=t,this.gltfLoader||(this.gltfLoader=new n.E)}setPath(A){return this.path=A,this}createControllerModel(A){const t=new I;let e=null;return A.addEventListener("connected",(A=>{const i=A.data;"tracked-pointer"===i.targetRayMode&&i.gamepad&&async function(A,t,e=null,i=!0){if(!A)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");const n=await async function(A){if(!A)throw new Error("No basePath supplied");return await o(`${A}/profilesList.json`)}(t);let g;if(A.profiles.some((A=>{const e=n[A];return e&&(g={profileId:A,profilePath:`${t}/${e.path}`,deprecated:!!e.deprecated}),!!g})),!g){if(!e)throw new Error("No matching profile name found");const A=n[e];if(!A)throw new Error(`No matching profile name found and default profile "${e}" missing.`);g={profileId:e,profilePath:`${t}/${A.path}`,deprecated:!!A.deprecated}}const s=await o(g.profilePath);let a;if(i){let t;if(t="any"===A.handedness?s.layouts[Object.keys(s.layouts)[0]]:s.layouts[A.handedness],!t)throw new Error(`No matching handedness, ${A.handedness}, in profile ${g.profileId}`);t.assetPath&&(a=g.profilePath.replace("profile.json",t.assetPath))}return{profile:s,assetPath:a}}(i,this.path,"generic-trigger").then((({profile:A,assetPath:n})=>{t.motionController=new B(i,A,n);const g=this._assetCache[t.motionController.assetUrl];if(g)e=g.scene.clone(),Q(t,e),this.onLoad&&this.onLoad(e);else{if(!this.gltfLoader)throw new Error("GLTFLoader not set.");this.gltfLoader.setPath(""),this.gltfLoader.load(t.motionController.assetUrl,(A=>{this._assetCache[t.motionController.assetUrl]=A,e=A.scene.clone(),Q(t,e),this.onLoad&&this.onLoad(e)}),null,(()=>{throw new Error(`Asset ${t.motionController.assetUrl} missing or malformed.`)}))}})).catch((A=>{console.warn(A)}))})),A.addEventListener("disconnected",(()=>{t.motionController=null,t.remove(e),e=null})),t}}},793:(A,t,e)=>{"use strict";e.d(t,{eW:()=>bs,oe:()=>Us});var i=e(477);class n{static addMaterial(A,t,e,i,n){let g;e.name=t,i?(A.set(t,e),n&&console.info('Material with name "'+t+'" was forcefully overridden.')):(g=A.get(t),g?g.uuid!=g.uuid&&n&&console.log('Same material name "'+g.name+'" different uuid ['+g.uuid+"|"+e.uuid+"]"):(A.set(t,e),n&&console.info('Material with name "'+t+'" was added.')))}static getMaterialsJSON(A){const t=new Map;for(const e of A.entries())"function"==typeof e[1].toJSON&&t.set(e[0],e[1].toJSON());return t}static cloneMaterial(A,t,e){if(t){let i=t.materialNameOrg;i=null!=i?i:"";const g=A.get(i);if(g){const i=g.clone();return Object.assign(i,t.materialProperties),n.addMaterial(A,t.materialProperties.name,i,!0,e),i}e&&console.info('Requested material "'+i+'" is not available!')}}}const g="160",o=1,s=2,a=3,r=0,B=1,I=2,Q=100,E=101,C=102,c=200,l=201,h=202,d=203,u=204,p=205,f=206,m=207,w=208,D=209,y=210,R=211,F=212,M=213,G=214,S=0,U=1,b=2,x=0,N=1,H=2,L=3,k=4,v=5,Y=6,T=301,J=302,_=306,V=1e3,W=1001,K=1002,Z=1003,X=1004,P=1005,O=1006,z=1007,q=1008,j=1009,$=1012,AA=1014,tA=1015,eA=1016,iA=1020,nA=1023,gA=1026,oA=1027,sA=33776,aA=33777,rA=33778,BA=33779,IA=36492,QA=2300,EA=2301,CA=2302,cA=3001,lA="",hA="srgb",dA="srgb-linear",uA="display-p3",pA="display-p3-linear",fA="linear",mA="srgb",wA="rec709",DA="p3",yA=7680,RA=512,FA=513,MA=514,GA=515,SA=516,UA=517,bA=518,xA=519,NA="300 es",HA=1035,LA=2e3,kA=2001;class vA{addEventListener(A,t){void 0===this._listeners&&(this._listeners={});const e=this._listeners;void 0===e[A]&&(e[A]=[]),-1===e[A].indexOf(t)&&e[A].push(t)}hasEventListener(A,t){if(void 0===this._listeners)return!1;const e=this._listeners;return void 0!==e[A]&&-1!==e[A].indexOf(t)}removeEventListener(A,t){if(void 0===this._listeners)return;const e=this._listeners[A];if(void 0!==e){const A=e.indexOf(t);-1!==A&&e.splice(A,1)}}dispatchEvent(A){if(void 0===this._listeners)return;const t=this._listeners[A.type];if(void 0!==t){A.target=this;const e=t.slice(0);for(let t=0,i=e.length;t>8&255]+YA[A>>16&255]+YA[A>>24&255]+"-"+YA[255&t]+YA[t>>8&255]+"-"+YA[t>>16&15|64]+YA[t>>24&255]+"-"+YA[63&e|128]+YA[e>>8&255]+"-"+YA[e>>16&255]+YA[e>>24&255]+YA[255&i]+YA[i>>8&255]+YA[i>>16&255]+YA[i>>24&255]).toLowerCase()}function VA(A,t,e){return Math.max(t,Math.min(e,A))}function WA(A,t,e){return(1-e)*A+e*t}function KA(A){return!(A&A-1)&&0!==A}function ZA(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))}function XA(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return A/4294967295;case Uint16Array:return A/65535;case Uint8Array:return A/255;case Int32Array:return Math.max(A/2147483647,-1);case Int16Array:return Math.max(A/32767,-1);case Int8Array:return Math.max(A/127,-1);default:throw new Error("Invalid component type.")}}function PA(A,t){switch(t.constructor){case Float32Array:return A;case Uint32Array:return Math.round(4294967295*A);case Uint16Array:return Math.round(65535*A);case Uint8Array:return Math.round(255*A);case Int32Array:return Math.round(2147483647*A);case Int16Array:return Math.round(32767*A);case Int8Array:return Math.round(127*A);default:throw new Error("Invalid component type.")}}class OA{constructor(A=0,t=0){OA.prototype.isVector2=!0,this.x=A,this.y=t}get width(){return this.x}set width(A){this.x=A}get height(){return this.y}set height(A){this.y=A}set(A,t){return this.x=A,this.y=t,this}setScalar(A){return this.x=A,this.y=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y)}copy(A){return this.x=A.x,this.y=A.y,this}add(A){return this.x+=A.x,this.y+=A.y,this}addScalar(A){return this.x+=A,this.y+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this}subScalar(A){return this.x-=A,this.y-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}multiplyScalar(A){return this.x*=A,this.y*=A,this}divide(A){return this.x/=A.x,this.y/=A.y,this}divideScalar(A){return this.multiplyScalar(1/A)}applyMatrix3(A){const t=this.x,e=this.y,i=A.elements;return this.x=i[0]*t+i[3]*e+i[6],this.y=i[1]*t+i[4]*e+i[7],this}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.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}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(VA(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y;return t*t+e*e}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)}setLength(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this}equals(A){return A.x===this.x&&A.y===this.y}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this}rotateAround(A,t){const e=Math.cos(t),i=Math.sin(t),n=this.x-A.x,g=this.y-A.y;return this.x=n*e-g*i+A.x,this.y=n*i+g*e+A.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class zA{constructor(A,t,e,i,n,g,o,s,a){zA.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==A&&this.set(A,t,e,i,n,g,o,s,a)}set(A,t,e,i,n,g,o,s,a){const r=this.elements;return r[0]=A,r[1]=i,r[2]=o,r[3]=t,r[4]=n,r[5]=s,r[6]=e,r[7]=g,r[8]=a,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],this}extractBasis(A,t,e){return A.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),e.setFromMatrix3Column(this,2),this}setFromMatrix4(A){const t=A.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,i=t.elements,n=this.elements,g=e[0],o=e[3],s=e[6],a=e[1],r=e[4],B=e[7],I=e[2],Q=e[5],E=e[8],C=i[0],c=i[3],l=i[6],h=i[1],d=i[4],u=i[7],p=i[2],f=i[5],m=i[8];return n[0]=g*C+o*h+s*p,n[3]=g*c+o*d+s*f,n[6]=g*l+o*u+s*m,n[1]=a*C+r*h+B*p,n[4]=a*c+r*d+B*f,n[7]=a*l+r*u+B*m,n[2]=I*C+Q*h+E*p,n[5]=I*c+Q*d+E*f,n[8]=I*l+Q*u+E*m,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[3]*=A,t[6]*=A,t[1]*=A,t[4]*=A,t[7]*=A,t[2]*=A,t[5]*=A,t[8]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8];return t*g*r-t*o*a-e*n*r+e*o*s+i*n*a-i*g*s}invert(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8],B=r*g-o*a,I=o*s-r*n,Q=a*n-g*s,E=t*B+e*I+i*Q;if(0===E)return this.set(0,0,0,0,0,0,0,0,0);const C=1/E;return A[0]=B*C,A[1]=(i*a-r*e)*C,A[2]=(o*e-i*g)*C,A[3]=I*C,A[4]=(r*t-i*s)*C,A[5]=(i*n-o*t)*C,A[6]=Q*C,A[7]=(e*s-a*t)*C,A[8]=(g*t-e*n)*C,this}transpose(){let A;const t=this.elements;return A=t[1],t[1]=t[3],t[3]=A,A=t[2],t[2]=t[6],t[6]=A,A=t[5],t[5]=t[7],t[7]=A,this}getNormalMatrix(A){return this.setFromMatrix4(A).invert().transpose()}transposeIntoArray(A){const t=this.elements;return A[0]=t[0],A[1]=t[3],A[2]=t[6],A[3]=t[1],A[4]=t[4],A[5]=t[7],A[6]=t[2],A[7]=t[5],A[8]=t[8],this}setUvTransform(A,t,e,i,n,g,o){const s=Math.cos(n),a=Math.sin(n);return this.set(e*s,e*a,-e*(s*g+a*o)+g+A,-i*a,i*s,-i*(-a*g+s*o)+o+t,0,0,1),this}scale(A,t){return this.premultiply(qA.makeScale(A,t)),this}rotate(A){return this.premultiply(qA.makeRotation(-A)),this}translate(A,t){return this.premultiply(qA.makeTranslation(A,t)),this}makeTranslation(A,t){return A.isVector2?this.set(1,0,A.x,0,1,A.y,0,0,1):this.set(1,0,A,0,1,t,0,0,1),this}makeRotation(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,e,t,0,0,0,1),this}makeScale(A,t){return this.set(A,0,0,0,t,0,0,0,1),this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<9;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<9;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A}clone(){return(new this.constructor).fromArray(this.elements)}}const qA=new zA;function jA(A){for(let t=A.length-1;t>=0;--t)if(A[t]>=65535)return!0;return!1}function $A(A){return document.createElementNS("http://www.w3.org/1999/xhtml",A)}function At(){const A=$A("canvas");return A.style.display="block",A}Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array;const tt={};function et(A){A in tt||(tt[A]=!0,console.warn(A))}const it=(new zA).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),nt=(new zA).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),gt={[dA]:{transfer:fA,primaries:wA,toReference:A=>A,fromReference:A=>A},[hA]:{transfer:mA,primaries:wA,toReference:A=>A.convertSRGBToLinear(),fromReference:A=>A.convertLinearToSRGB()},[pA]:{transfer:fA,primaries:DA,toReference:A=>A.applyMatrix3(nt),fromReference:A=>A.applyMatrix3(it)},[uA]:{transfer:mA,primaries:DA,toReference:A=>A.convertSRGBToLinear().applyMatrix3(nt),fromReference:A=>A.applyMatrix3(it).convertLinearToSRGB()}},ot=new Set([dA,pA]),st={enabled:!0,_workingColorSpace:dA,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(A){if(!ot.has(A))throw new Error(`Unsupported working color space, "${A}".`);this._workingColorSpace=A},convert:function(A,t,e){if(!1===this.enabled||t===e||!t||!e)return A;const i=gt[t].toReference;return(0,gt[e].fromReference)(i(A))},fromWorkingColorSpace:function(A,t){return this.convert(A,this._workingColorSpace,t)},toWorkingColorSpace:function(A,t){return this.convert(A,t,this._workingColorSpace)},getPrimaries:function(A){return gt[A].primaries},getTransfer:function(A){return A===lA?fA:gt[A].transfer}};function at(A){return A<.04045?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function rt(A){return A<.0031308?12.92*A:1.055*Math.pow(A,.41666)-.055}let Bt;class It{static getDataURL(A){if(/^data:/i.test(A.src))return A.src;if("undefined"==typeof HTMLCanvasElement)return A.src;let t;if(A instanceof HTMLCanvasElement)t=A;else{void 0===Bt&&(Bt=$A("canvas")),Bt.width=A.width,Bt.height=A.height;const e=Bt.getContext("2d");A instanceof ImageData?e.putImageData(A,0,0):e.drawImage(A,0,0,A.width,A.height),t=Bt}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",A),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(A){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const t=$A("canvas");t.width=A.width,t.height=A.height;const e=t.getContext("2d");e.drawImage(A,0,0,A.width,A.height);const i=e.getImageData(0,0,A.width,A.height),n=i.data;for(let A=0;A0&&(e.userData=this.userData),t||(A.textures[this.uuid]=e),e}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(A){if(300!==this.mapping)return A;if(A.applyMatrix3(this.matrix),A.x<0||A.x>1)switch(this.wrapS){case V:A.x=A.x-Math.floor(A.x);break;case W:A.x=A.x<0?0:1;break;case K:1===Math.abs(Math.floor(A.x)%2)?A.x=Math.ceil(A.x)-A.x:A.x=A.x-Math.floor(A.x)}if(A.y<0||A.y>1)switch(this.wrapT){case V:A.y=A.y-Math.floor(A.y);break;case W:A.y=A.y<0?0:1;break;case K:1===Math.abs(Math.floor(A.y)%2)?A.y=Math.ceil(A.y)-A.y:A.y=A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}set needsUpdate(A){!0===A&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return et("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===hA?cA:3e3}set encoding(A){et("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=A===cA?hA:lA}}lt.DEFAULT_IMAGE=null,lt.DEFAULT_MAPPING=300,lt.DEFAULT_ANISOTROPY=1;class ht{constructor(A=0,t=0,e=0,i=1){ht.prototype.isVector4=!0,this.x=A,this.y=t,this.z=e,this.w=i}get width(){return this.z}set width(A){this.z=A}get height(){return this.w}set height(A){this.w=A}set(A,t,e,i){return this.x=A,this.y=t,this.z=e,this.w=i,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this.w=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setW(A){return this.w=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){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: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this.w=A.w+t.w,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this.w+=A.w*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this.w=A.w-t.w,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this.w*=A.w,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this}applyMatrix4(A){const t=this.x,e=this.y,i=this.z,n=this.w,g=A.elements;return this.x=g[0]*t+g[4]*e+g[8]*i+g[12]*n,this.y=g[1]*t+g[5]*e+g[9]*i+g[13]*n,this.z=g[2]*t+g[6]*e+g[10]*i+g[14]*n,this.w=g[3]*t+g[7]*e+g[11]*i+g[15]*n,this}divideScalar(A){return this.multiplyScalar(1/A)}setAxisAngleFromQuaternion(A){this.w=2*Math.acos(A.w);const t=Math.sqrt(1-A.w*A.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=A.x/t,this.y=A.y/t,this.z=A.z/t),this}setAxisAngleFromRotationMatrix(A){let t,e,i,n;const g=.01,o=.1,s=A.elements,a=s[0],r=s[4],B=s[8],I=s[1],Q=s[5],E=s[9],C=s[2],c=s[6],l=s[10];if(Math.abs(r-I)s&&A>h?Ah?s=0?1:-1,i=1-t*t;if(i>Number.EPSILON){const n=Math.sqrt(i),g=Math.atan2(n,t*e);A=Math.sin(A*g)/n,o=Math.sin(o*g)/n}const n=o*e;if(s=s*A+I*n,a=a*A+Q*n,r=r*A+E*n,B=B*A+C*n,A===1-o){const A=1/Math.sqrt(s*s+a*a+r*r+B*B);s*=A,a*=A,r*=A,B*=A}}A[t]=s,A[t+1]=a,A[t+2]=r,A[t+3]=B}static multiplyQuaternionsFlat(A,t,e,i,n,g){const o=e[i],s=e[i+1],a=e[i+2],r=e[i+3],B=n[g],I=n[g+1],Q=n[g+2],E=n[g+3];return A[t]=o*E+r*B+s*Q-a*I,A[t+1]=s*E+r*I+a*B-o*Q,A[t+2]=a*E+r*Q+o*I-s*B,A[t+3]=r*E-o*B-s*I-a*Q,A}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get w(){return this._w}set w(A){this._w=A,this._onChangeCallback()}set(A,t,e,i){return this._x=A,this._y=t,this._z=e,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this}setFromEuler(A,t=!0){const e=A._x,i=A._y,n=A._z,g=A._order,o=Math.cos,s=Math.sin,a=o(e/2),r=o(i/2),B=o(n/2),I=s(e/2),Q=s(i/2),E=s(n/2);switch(g){case"XYZ":this._x=I*r*B+a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B-I*Q*E;break;case"YXZ":this._x=I*r*B+a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B+I*Q*E;break;case"ZXY":this._x=I*r*B-a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B-I*Q*E;break;case"ZYX":this._x=I*r*B-a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B+I*Q*E;break;case"YZX":this._x=I*r*B+a*Q*E,this._y=a*Q*B+I*r*E,this._z=a*r*E-I*Q*B,this._w=a*r*B-I*Q*E;break;case"XZY":this._x=I*r*B-a*Q*E,this._y=a*Q*B-I*r*E,this._z=a*r*E+I*Q*B,this._w=a*r*B+I*Q*E;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+g)}return!0===t&&this._onChangeCallback(),this}setFromAxisAngle(A,t){const e=t/2,i=Math.sin(e);return this._x=A.x*i,this._y=A.y*i,this._z=A.z*i,this._w=Math.cos(e),this._onChangeCallback(),this}setFromRotationMatrix(A){const t=A.elements,e=t[0],i=t[4],n=t[8],g=t[1],o=t[5],s=t[9],a=t[2],r=t[6],B=t[10],I=e+o+B;if(I>0){const A=.5/Math.sqrt(I+1);this._w=.25/A,this._x=(r-s)*A,this._y=(n-a)*A,this._z=(g-i)*A}else if(e>o&&e>B){const A=2*Math.sqrt(1+e-o-B);this._w=(r-s)/A,this._x=.25*A,this._y=(i+g)/A,this._z=(n+a)/A}else if(o>B){const A=2*Math.sqrt(1+o-e-B);this._w=(n-a)/A,this._x=(i+g)/A,this._y=.25*A,this._z=(s+r)/A}else{const A=2*Math.sqrt(1+B-e-o);this._w=(g-i)/A,this._x=(n+a)/A,this._y=(s+r)/A,this._z=.25*A}return this._onChangeCallback(),this}setFromUnitVectors(A,t){let e=A.dot(t)+1;return eMath.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=e):(this._x=0,this._y=-A.z,this._z=A.y,this._w=e)):(this._x=A.y*t.z-A.z*t.y,this._y=A.z*t.x-A.x*t.z,this._z=A.x*t.y-A.y*t.x,this._w=e),this.normalize()}angleTo(A){return 2*Math.acos(Math.abs(VA(this.dot(A),-1,1)))}rotateTowards(A,t){const e=this.angleTo(A);if(0===e)return this;const i=Math.min(1,t/e);return this.slerp(A,i),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(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(A=1/A,this._x=this._x*A,this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this}multiply(A){return this.multiplyQuaternions(this,A)}premultiply(A){return this.multiplyQuaternions(A,this)}multiplyQuaternions(A,t){const e=A._x,i=A._y,n=A._z,g=A._w,o=t._x,s=t._y,a=t._z,r=t._w;return this._x=e*r+g*o+i*a-n*s,this._y=i*r+g*s+n*o-e*a,this._z=n*r+g*a+e*s-i*o,this._w=g*r-e*o-i*s-n*a,this._onChangeCallback(),this}slerp(A,t){if(0===t)return this;if(1===t)return this.copy(A);const e=this._x,i=this._y,n=this._z,g=this._w;let o=g*A._w+e*A._x+i*A._y+n*A._z;if(o<0?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,o=-o):this.copy(A),o>=1)return this._w=g,this._x=e,this._y=i,this._z=n,this;const s=1-o*o;if(s<=Number.EPSILON){const A=1-t;return this._w=A*g+t*this._w,this._x=A*e+t*this._x,this._y=A*i+t*this._y,this._z=A*n+t*this._z,this.normalize(),this}const a=Math.sqrt(s),r=Math.atan2(a,o),B=Math.sin((1-t)*r)/a,I=Math.sin(t*r)/a;return this._w=g*B+this._w*I,this._x=e*B+this._x*I,this._y=i*B+this._y*I,this._z=n*B+this._z*I,this._onChangeCallback(),this}slerpQuaternions(A,t,e){return this.copy(A).slerp(t,e)}random(){const A=Math.random(),t=Math.sqrt(1-A),e=Math.sqrt(A),i=2*Math.PI*Math.random(),n=2*Math.PI*Math.random();return this.set(t*Math.cos(i),e*Math.sin(n),e*Math.cos(n),t*Math.sin(i))}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w}fromArray(A,t=0){return this._x=A[t],this._y=A[t+1],this._z=A[t+2],this._w=A[t+3],this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._w,A}fromBufferAttribute(A,t){return this._x=A.getX(t),this._y=A.getY(t),this._z=A.getZ(t),this._w=A.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class wt{constructor(A=0,t=0,e=0){wt.prototype.isVector3=!0,this.x=A,this.y=t,this.z=e}set(A,t,e){return void 0===e&&(e=this.z),this.x=A,this.y=t,this.z=e,this}setScalar(A){return this.x=A,this.y=A,this.z=A,this}setX(A){return this.x=A,this}setY(A){return this.y=A,this}setZ(A){return this.z=A,this}setComponent(A,t){switch(A){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+A)}return this}getComponent(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(A){return this.x=A.x,this.y=A.y,this.z=A.z,this}add(A){return this.x+=A.x,this.y+=A.y,this.z+=A.z,this}addScalar(A){return this.x+=A,this.y+=A,this.z+=A,this}addVectors(A,t){return this.x=A.x+t.x,this.y=A.y+t.y,this.z=A.z+t.z,this}addScaledVector(A,t){return this.x+=A.x*t,this.y+=A.y*t,this.z+=A.z*t,this}sub(A){return this.x-=A.x,this.y-=A.y,this.z-=A.z,this}subScalar(A){return this.x-=A,this.y-=A,this.z-=A,this}subVectors(A,t){return this.x=A.x-t.x,this.y=A.y-t.y,this.z=A.z-t.z,this}multiply(A){return this.x*=A.x,this.y*=A.y,this.z*=A.z,this}multiplyScalar(A){return this.x*=A,this.y*=A,this.z*=A,this}multiplyVectors(A,t){return this.x=A.x*t.x,this.y=A.y*t.y,this.z=A.z*t.z,this}applyEuler(A){return this.applyQuaternion(yt.setFromEuler(A))}applyAxisAngle(A,t){return this.applyQuaternion(yt.setFromAxisAngle(A,t))}applyMatrix3(A){const t=this.x,e=this.y,i=this.z,n=A.elements;return this.x=n[0]*t+n[3]*e+n[6]*i,this.y=n[1]*t+n[4]*e+n[7]*i,this.z=n[2]*t+n[5]*e+n[8]*i,this}applyNormalMatrix(A){return this.applyMatrix3(A).normalize()}applyMatrix4(A){const t=this.x,e=this.y,i=this.z,n=A.elements,g=1/(n[3]*t+n[7]*e+n[11]*i+n[15]);return this.x=(n[0]*t+n[4]*e+n[8]*i+n[12])*g,this.y=(n[1]*t+n[5]*e+n[9]*i+n[13])*g,this.z=(n[2]*t+n[6]*e+n[10]*i+n[14])*g,this}applyQuaternion(A){const t=this.x,e=this.y,i=this.z,n=A.x,g=A.y,o=A.z,s=A.w,a=2*(g*i-o*e),r=2*(o*t-n*i),B=2*(n*e-g*t);return this.x=t+s*a+g*B-o*r,this.y=e+s*r+o*a-n*B,this.z=i+s*B+n*r-g*a,this}project(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)}unproject(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)}transformDirection(A){const t=this.x,e=this.y,i=this.z,n=A.elements;return this.x=n[0]*t+n[4]*e+n[8]*i,this.y=n[1]*t+n[5]*e+n[9]*i,this.z=n[2]*t+n[6]*e+n[10]*i,this.normalize()}divide(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this}divideScalar(A){return this.multiplyScalar(1/A)}min(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this}max(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this}clamp(A,t){return this.x=Math.max(A.x,Math.min(t.x,this.x)),this.y=Math.max(A.y,Math.min(t.y,this.y)),this.z=Math.max(A.z,Math.min(t.z,this.z)),this}clampScalar(A,t){return this.x=Math.max(A,Math.min(t,this.x)),this.y=Math.max(A,Math.min(t,this.y)),this.z=Math.max(A,Math.min(t,this.z)),this}clampLength(A,t){const e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(A,Math.min(t,e)))}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=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)}lerp(A,t){return this.x+=(A.x-this.x)*t,this.y+=(A.y-this.y)*t,this.z+=(A.z-this.z)*t,this}lerpVectors(A,t,e){return this.x=A.x+(t.x-A.x)*e,this.y=A.y+(t.y-A.y)*e,this.z=A.z+(t.z-A.z)*e,this}cross(A){return this.crossVectors(this,A)}crossVectors(A,t){const e=A.x,i=A.y,n=A.z,g=t.x,o=t.y,s=t.z;return this.x=i*s-n*o,this.y=n*g-e*s,this.z=e*o-i*g,this}projectOnVector(A){const t=A.lengthSq();if(0===t)return this.set(0,0,0);const e=A.dot(this)/t;return this.copy(A).multiplyScalar(e)}projectOnPlane(A){return Dt.copy(this).projectOnVector(A),this.sub(Dt)}reflect(A){return this.sub(Dt.copy(A).multiplyScalar(2*this.dot(A)))}angleTo(A){const t=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===t)return Math.PI/2;const e=this.dot(A)/t;return Math.acos(VA(e,-1,1))}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const t=this.x-A.x,e=this.y-A.y,i=this.z-A.z;return t*t+e*e+i*i}manhattanDistanceTo(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)}setFromSpherical(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)}setFromSphericalCoords(A,t,e){const i=Math.sin(t)*A;return this.x=i*Math.sin(e),this.y=Math.cos(t)*A,this.z=i*Math.cos(e),this}setFromCylindrical(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)}setFromCylindricalCoords(A,t,e){return this.x=A*Math.sin(t),this.y=e,this.z=A*Math.cos(t),this}setFromMatrixPosition(A){const t=A.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(A){const t=this.setFromMatrixColumn(A,0).length(),e=this.setFromMatrixColumn(A,1).length(),i=this.setFromMatrixColumn(A,2).length();return this.x=t,this.y=e,this.z=i,this}setFromMatrixColumn(A,t){return this.fromArray(A.elements,4*t)}setFromMatrix3Column(A,t){return this.fromArray(A.elements,3*t)}setFromEuler(A){return this.x=A._x,this.y=A._y,this.z=A._z,this}setFromColor(A){return this.x=A.r,this.y=A.g,this.z=A.b,this}equals(A){return A.x===this.x&&A.y===this.y&&A.z===this.z}fromArray(A,t=0){return this.x=A[t],this.y=A[t+1],this.z=A[t+2],this}toArray(A=[],t=0){return A[t]=this.x,A[t+1]=this.y,A[t+2]=this.z,A}fromBufferAttribute(A,t){return this.x=A.getX(t),this.y=A.getY(t),this.z=A.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const A=2*(Math.random()-.5),t=Math.random()*Math.PI*2,e=Math.sqrt(1-A**2);return this.x=e*Math.cos(t),this.y=e*Math.sin(t),this.z=A,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Dt=new wt,yt=new mt;class Rt{constructor(A=new wt(1/0,1/0,1/0),t=new wt(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=A,this.max=t}set(A,t){return this.min.copy(A),this.max.copy(t),this}setFromArray(A){this.makeEmpty();for(let t=0,e=A.length;tthis.max.x||A.ythis.max.y||A.zthis.max.z)}containsBox(A){return this.min.x<=A.min.x&&A.max.x<=this.max.x&&this.min.y<=A.min.y&&A.max.y<=this.max.y&&this.min.z<=A.min.z&&A.max.z<=this.max.z}getParameter(A,t){return t.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(A){return!(A.max.xthis.max.x||A.max.ythis.max.y||A.max.zthis.max.z)}intersectsSphere(A){return this.clampPoint(A.center,Mt),Mt.distanceToSquared(A.center)<=A.radius*A.radius}intersectsPlane(A){let t,e;return A.normal.x>0?(t=A.normal.x*this.min.x,e=A.normal.x*this.max.x):(t=A.normal.x*this.max.x,e=A.normal.x*this.min.x),A.normal.y>0?(t+=A.normal.y*this.min.y,e+=A.normal.y*this.max.y):(t+=A.normal.y*this.max.y,e+=A.normal.y*this.min.y),A.normal.z>0?(t+=A.normal.z*this.min.z,e+=A.normal.z*this.max.z):(t+=A.normal.z*this.max.z,e+=A.normal.z*this.min.z),t<=-A.constant&&e>=-A.constant}intersectsTriangle(A){if(this.isEmpty())return!1;this.getCenter(Lt),kt.subVectors(this.max,Lt),St.subVectors(A.a,Lt),Ut.subVectors(A.b,Lt),bt.subVectors(A.c,Lt),xt.subVectors(Ut,St),Nt.subVectors(bt,Ut),Ht.subVectors(St,bt);let t=[0,-xt.z,xt.y,0,-Nt.z,Nt.y,0,-Ht.z,Ht.y,xt.z,0,-xt.x,Nt.z,0,-Nt.x,Ht.z,0,-Ht.x,-xt.y,xt.x,0,-Nt.y,Nt.x,0,-Ht.y,Ht.x,0];return!!Tt(t,St,Ut,bt,kt)&&(t=[1,0,0,0,1,0,0,0,1],!!Tt(t,St,Ut,bt,kt)&&(vt.crossVectors(xt,Nt),t=[vt.x,vt.y,vt.z],Tt(t,St,Ut,bt,kt)))}clampPoint(A,t){return t.copy(A).clamp(this.min,this.max)}distanceToPoint(A){return this.clampPoint(A,Mt).distanceTo(A)}getBoundingSphere(A){return this.isEmpty()?A.makeEmpty():(this.getCenter(A.center),A.radius=.5*this.getSize(Mt).length()),A}intersect(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this}union(A){return this.min.min(A.min),this.max.max(A.max),this}applyMatrix4(A){return this.isEmpty()||(Ft[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),Ft[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),Ft[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),Ft[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),Ft[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),Ft[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),Ft[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),Ft[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(Ft)),this}translate(A){return this.min.add(A),this.max.add(A),this}equals(A){return A.min.equals(this.min)&&A.max.equals(this.max)}}const Ft=[new wt,new wt,new wt,new wt,new wt,new wt,new wt,new wt],Mt=new wt,Gt=new Rt,St=new wt,Ut=new wt,bt=new wt,xt=new wt,Nt=new wt,Ht=new wt,Lt=new wt,kt=new wt,vt=new wt,Yt=new wt;function Tt(A,t,e,i,n){for(let g=0,o=A.length-3;g<=o;g+=3){Yt.fromArray(A,g);const o=n.x*Math.abs(Yt.x)+n.y*Math.abs(Yt.y)+n.z*Math.abs(Yt.z),s=t.dot(Yt),a=e.dot(Yt),r=i.dot(Yt);if(Math.max(-Math.max(s,a,r),Math.min(s,a,r))>o)return!1}return!0}const Jt=new Rt,_t=new wt,Vt=new wt;class Wt{constructor(A=new wt,t=-1){this.isSphere=!0,this.center=A,this.radius=t}set(A,t){return this.center.copy(A),this.radius=t,this}setFromPoints(A,t){const e=this.center;void 0!==t?e.copy(t):Jt.setFromPoints(A).getCenter(e);let i=0;for(let t=0,n=A.length;tthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(A){return this.isEmpty()?(A.makeEmpty(),A):(A.set(this.center,this.center),A.expandByScalar(this.radius),A)}applyMatrix4(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this}translate(A){return this.center.add(A),this}expandByPoint(A){if(this.isEmpty())return this.center.copy(A),this.radius=0,this;_t.subVectors(A,this.center);const t=_t.lengthSq();if(t>this.radius*this.radius){const A=Math.sqrt(t),e=.5*(A-this.radius);this.center.addScaledVector(_t,e/A),this.radius+=e}return this}union(A){return A.isEmpty()?this:this.isEmpty()?(this.copy(A),this):(!0===this.center.equals(A.center)?this.radius=Math.max(this.radius,A.radius):(Vt.subVectors(A.center,this.center).setLength(A.radius),this.expandByPoint(_t.copy(A.center).add(Vt)),this.expandByPoint(_t.copy(A.center).sub(Vt))),this)}equals(A){return A.center.equals(this.center)&&A.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Kt=new wt,Zt=new wt,Xt=new wt,Pt=new wt,Ot=new wt,zt=new wt,qt=new wt;class jt{constructor(A=new wt,t=new wt(0,0,-1)){this.origin=A,this.direction=t}set(A,t){return this.origin.copy(A),this.direction.copy(t),this}copy(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this}at(A,t){return t.copy(this.origin).addScaledVector(this.direction,A)}lookAt(A){return this.direction.copy(A).sub(this.origin).normalize(),this}recast(A){return this.origin.copy(this.at(A,Kt)),this}closestPointToPoint(A,t){t.subVectors(A,this.origin);const e=t.dot(this.direction);return e<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,e)}distanceToPoint(A){return Math.sqrt(this.distanceSqToPoint(A))}distanceSqToPoint(A){const t=Kt.subVectors(A,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(A):(Kt.copy(this.origin).addScaledVector(this.direction,t),Kt.distanceToSquared(A))}distanceSqToSegment(A,t,e,i){Zt.copy(A).add(t).multiplyScalar(.5),Xt.copy(t).sub(A).normalize(),Pt.copy(this.origin).sub(Zt);const n=.5*A.distanceTo(t),g=-this.direction.dot(Xt),o=Pt.dot(this.direction),s=-Pt.dot(Xt),a=Pt.lengthSq(),r=Math.abs(1-g*g);let B,I,Q,E;if(r>0)if(B=g*s-o,I=g*o-s,E=n*r,B>=0)if(I>=-E)if(I<=E){const A=1/r;B*=A,I*=A,Q=B*(B+g*I+2*o)+I*(g*B+I+2*s)+a}else I=n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;else I=-n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;else I<=-E?(B=Math.max(0,-(-g*n+o)),I=B>0?-n:Math.min(Math.max(-n,-s),n),Q=-B*B+I*(I+2*s)+a):I<=E?(B=0,I=Math.min(Math.max(-n,-s),n),Q=I*(I+2*s)+a):(B=Math.max(0,-(g*n+o)),I=B>0?n:Math.min(Math.max(-n,-s),n),Q=-B*B+I*(I+2*s)+a);else I=g>0?-n:n,B=Math.max(0,-(g*I+o)),Q=-B*B+I*(I+2*s)+a;return e&&e.copy(this.origin).addScaledVector(this.direction,B),i&&i.copy(Zt).addScaledVector(Xt,I),Q}intersectSphere(A,t){Kt.subVectors(A.center,this.origin);const e=Kt.dot(this.direction),i=Kt.dot(Kt)-e*e,n=A.radius*A.radius;if(i>n)return null;const g=Math.sqrt(n-i),o=e-g,s=e+g;return s<0?null:o<0?this.at(s,t):this.at(o,t)}intersectsSphere(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius}distanceToPlane(A){const t=A.normal.dot(this.direction);if(0===t)return 0===A.distanceToPoint(this.origin)?0:null;const e=-(this.origin.dot(A.normal)+A.constant)/t;return e>=0?e:null}intersectPlane(A,t){const e=this.distanceToPlane(A);return null===e?null:this.at(e,t)}intersectsPlane(A){const t=A.distanceToPoint(this.origin);return 0===t||A.normal.dot(this.direction)*t<0}intersectBox(A,t){let e,i,n,g,o,s;const a=1/this.direction.x,r=1/this.direction.y,B=1/this.direction.z,I=this.origin;return a>=0?(e=(A.min.x-I.x)*a,i=(A.max.x-I.x)*a):(e=(A.max.x-I.x)*a,i=(A.min.x-I.x)*a),r>=0?(n=(A.min.y-I.y)*r,g=(A.max.y-I.y)*r):(n=(A.max.y-I.y)*r,g=(A.min.y-I.y)*r),e>g||n>i?null:((n>e||isNaN(e))&&(e=n),(g=0?(o=(A.min.z-I.z)*B,s=(A.max.z-I.z)*B):(o=(A.max.z-I.z)*B,s=(A.min.z-I.z)*B),e>s||o>i?null:((o>e||e!=e)&&(e=o),(s=0?e:i,t)))}intersectsBox(A){return null!==this.intersectBox(A,Kt)}intersectTriangle(A,t,e,i,n){Ot.subVectors(t,A),zt.subVectors(e,A),qt.crossVectors(Ot,zt);let g,o=this.direction.dot(qt);if(o>0){if(i)return null;g=1}else{if(!(o<0))return null;g=-1,o=-o}Pt.subVectors(this.origin,A);const s=g*this.direction.dot(zt.crossVectors(Pt,zt));if(s<0)return null;const a=g*this.direction.dot(Ot.cross(Pt));if(a<0)return null;if(s+a>o)return null;const r=-g*Pt.dot(qt);return r<0?null:this.at(r/o,n)}applyMatrix4(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this}equals(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class $t{constructor(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c){$t.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==A&&this.set(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c)}set(A,t,e,i,n,g,o,s,a,r,B,I,Q,E,C,c){const l=this.elements;return l[0]=A,l[4]=t,l[8]=e,l[12]=i,l[1]=n,l[5]=g,l[9]=o,l[13]=s,l[2]=a,l[6]=r,l[10]=B,l[14]=I,l[3]=Q,l[7]=E,l[11]=C,l[15]=c,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 $t).fromArray(this.elements)}copy(A){const t=this.elements,e=A.elements;return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],this}copyPosition(A){const t=this.elements,e=A.elements;return t[12]=e[12],t[13]=e[13],t[14]=e[14],this}setFromMatrix3(A){const t=A.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(A,t,e){return A.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),e.setFromMatrixColumn(this,2),this}makeBasis(A,t,e){return this.set(A.x,t.x,e.x,0,A.y,t.y,e.y,0,A.z,t.z,e.z,0,0,0,0,1),this}extractRotation(A){const t=this.elements,e=A.elements,i=1/Ae.setFromMatrixColumn(A,0).length(),n=1/Ae.setFromMatrixColumn(A,1).length(),g=1/Ae.setFromMatrixColumn(A,2).length();return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=0,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=0,t[8]=e[8]*g,t[9]=e[9]*g,t[10]=e[10]*g,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(A){const t=this.elements,e=A.x,i=A.y,n=A.z,g=Math.cos(e),o=Math.sin(e),s=Math.cos(i),a=Math.sin(i),r=Math.cos(n),B=Math.sin(n);if("XYZ"===A.order){const A=g*r,e=g*B,i=o*r,n=o*B;t[0]=s*r,t[4]=-s*B,t[8]=a,t[1]=e+i*a,t[5]=A-n*a,t[9]=-o*s,t[2]=n-A*a,t[6]=i+e*a,t[10]=g*s}else if("YXZ"===A.order){const A=s*r,e=s*B,i=a*r,n=a*B;t[0]=A+n*o,t[4]=i*o-e,t[8]=g*a,t[1]=g*B,t[5]=g*r,t[9]=-o,t[2]=e*o-i,t[6]=n+A*o,t[10]=g*s}else if("ZXY"===A.order){const A=s*r,e=s*B,i=a*r,n=a*B;t[0]=A-n*o,t[4]=-g*B,t[8]=i+e*o,t[1]=e+i*o,t[5]=g*r,t[9]=n-A*o,t[2]=-g*a,t[6]=o,t[10]=g*s}else if("ZYX"===A.order){const A=g*r,e=g*B,i=o*r,n=o*B;t[0]=s*r,t[4]=i*a-e,t[8]=A*a+n,t[1]=s*B,t[5]=n*a+A,t[9]=e*a-i,t[2]=-a,t[6]=o*s,t[10]=g*s}else if("YZX"===A.order){const A=g*s,e=g*a,i=o*s,n=o*a;t[0]=s*r,t[4]=n-A*B,t[8]=i*B+e,t[1]=B,t[5]=g*r,t[9]=-o*r,t[2]=-a*r,t[6]=e*B+i,t[10]=A-n*B}else if("XZY"===A.order){const A=g*s,e=g*a,i=o*s,n=o*a;t[0]=s*r,t[4]=-B,t[8]=a*r,t[1]=A*B+n,t[5]=g*r,t[9]=e*B-i,t[2]=i*B-e,t[6]=o*r,t[10]=n*B+A}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(A){return this.compose(ee,A,ie)}lookAt(A,t,e){const i=this.elements;return oe.subVectors(A,t),0===oe.lengthSq()&&(oe.z=1),oe.normalize(),ne.crossVectors(e,oe),0===ne.lengthSq()&&(1===Math.abs(e.z)?oe.x+=1e-4:oe.z+=1e-4,oe.normalize(),ne.crossVectors(e,oe)),ne.normalize(),ge.crossVectors(oe,ne),i[0]=ne.x,i[4]=ge.x,i[8]=oe.x,i[1]=ne.y,i[5]=ge.y,i[9]=oe.y,i[2]=ne.z,i[6]=ge.z,i[10]=oe.z,this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,t){const e=A.elements,i=t.elements,n=this.elements,g=e[0],o=e[4],s=e[8],a=e[12],r=e[1],B=e[5],I=e[9],Q=e[13],E=e[2],C=e[6],c=e[10],l=e[14],h=e[3],d=e[7],u=e[11],p=e[15],f=i[0],m=i[4],w=i[8],D=i[12],y=i[1],R=i[5],F=i[9],M=i[13],G=i[2],S=i[6],U=i[10],b=i[14],x=i[3],N=i[7],H=i[11],L=i[15];return n[0]=g*f+o*y+s*G+a*x,n[4]=g*m+o*R+s*S+a*N,n[8]=g*w+o*F+s*U+a*H,n[12]=g*D+o*M+s*b+a*L,n[1]=r*f+B*y+I*G+Q*x,n[5]=r*m+B*R+I*S+Q*N,n[9]=r*w+B*F+I*U+Q*H,n[13]=r*D+B*M+I*b+Q*L,n[2]=E*f+C*y+c*G+l*x,n[6]=E*m+C*R+c*S+l*N,n[10]=E*w+C*F+c*U+l*H,n[14]=E*D+C*M+c*b+l*L,n[3]=h*f+d*y+u*G+p*x,n[7]=h*m+d*R+u*S+p*N,n[11]=h*w+d*F+u*U+p*H,n[15]=h*D+d*M+u*b+p*L,this}multiplyScalar(A){const t=this.elements;return t[0]*=A,t[4]*=A,t[8]*=A,t[12]*=A,t[1]*=A,t[5]*=A,t[9]*=A,t[13]*=A,t[2]*=A,t[6]*=A,t[10]*=A,t[14]*=A,t[3]*=A,t[7]*=A,t[11]*=A,t[15]*=A,this}determinant(){const A=this.elements,t=A[0],e=A[4],i=A[8],n=A[12],g=A[1],o=A[5],s=A[9],a=A[13],r=A[2],B=A[6],I=A[10],Q=A[14];return A[3]*(+n*s*B-i*a*B-n*o*I+e*a*I+i*o*Q-e*s*Q)+A[7]*(+t*s*Q-t*a*I+n*g*I-i*g*Q+i*a*r-n*s*r)+A[11]*(+t*a*B-t*o*Q-n*g*B+e*g*Q+n*o*r-e*a*r)+A[15]*(-i*o*r-t*s*B+t*o*I+i*g*B-e*g*I+e*s*r)}transpose(){const A=this.elements;let t;return t=A[1],A[1]=A[4],A[4]=t,t=A[2],A[2]=A[8],A[8]=t,t=A[6],A[6]=A[9],A[9]=t,t=A[3],A[3]=A[12],A[12]=t,t=A[7],A[7]=A[13],A[13]=t,t=A[11],A[11]=A[14],A[14]=t,this}setPosition(A,t,e){const i=this.elements;return A.isVector3?(i[12]=A.x,i[13]=A.y,i[14]=A.z):(i[12]=A,i[13]=t,i[14]=e),this}invert(){const A=this.elements,t=A[0],e=A[1],i=A[2],n=A[3],g=A[4],o=A[5],s=A[6],a=A[7],r=A[8],B=A[9],I=A[10],Q=A[11],E=A[12],C=A[13],c=A[14],l=A[15],h=B*c*a-C*I*a+C*s*Q-o*c*Q-B*s*l+o*I*l,d=E*I*a-r*c*a-E*s*Q+g*c*Q+r*s*l-g*I*l,u=r*C*a-E*B*a+E*o*Q-g*C*Q-r*o*l+g*B*l,p=E*B*s-r*C*s-E*o*I+g*C*I+r*o*c-g*B*c,f=t*h+e*d+i*u+n*p;if(0===f)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const m=1/f;return A[0]=h*m,A[1]=(C*I*n-B*c*n-C*i*Q+e*c*Q+B*i*l-e*I*l)*m,A[2]=(o*c*n-C*s*n+C*i*a-e*c*a-o*i*l+e*s*l)*m,A[3]=(B*s*n-o*I*n-B*i*a+e*I*a+o*i*Q-e*s*Q)*m,A[4]=d*m,A[5]=(r*c*n-E*I*n+E*i*Q-t*c*Q-r*i*l+t*I*l)*m,A[6]=(E*s*n-g*c*n-E*i*a+t*c*a+g*i*l-t*s*l)*m,A[7]=(g*I*n-r*s*n+r*i*a-t*I*a-g*i*Q+t*s*Q)*m,A[8]=u*m,A[9]=(E*B*n-r*C*n-E*e*Q+t*C*Q+r*e*l-t*B*l)*m,A[10]=(g*C*n-E*o*n+E*e*a-t*C*a-g*e*l+t*o*l)*m,A[11]=(r*o*n-g*B*n-r*e*a+t*B*a+g*e*Q-t*o*Q)*m,A[12]=p*m,A[13]=(r*C*i-E*B*i+E*e*I-t*C*I-r*e*c+t*B*c)*m,A[14]=(E*o*i-g*C*i-E*e*s+t*C*s+g*e*c-t*o*c)*m,A[15]=(g*B*i-r*o*i+r*e*s-t*B*s-g*e*I+t*o*I)*m,this}scale(A){const t=this.elements,e=A.x,i=A.y,n=A.z;return t[0]*=e,t[4]*=i,t[8]*=n,t[1]*=e,t[5]*=i,t[9]*=n,t[2]*=e,t[6]*=i,t[10]*=n,t[3]*=e,t[7]*=i,t[11]*=n,this}getMaxScaleOnAxis(){const A=this.elements,t=A[0]*A[0]+A[1]*A[1]+A[2]*A[2],e=A[4]*A[4]+A[5]*A[5]+A[6]*A[6],i=A[8]*A[8]+A[9]*A[9]+A[10]*A[10];return Math.sqrt(Math.max(t,e,i))}makeTranslation(A,t,e){return A.isVector3?this.set(1,0,0,A.x,0,1,0,A.y,0,0,1,A.z,0,0,0,1):this.set(1,0,0,A,0,1,0,t,0,0,1,e,0,0,0,1),this}makeRotationX(A){const t=Math.cos(A),e=Math.sin(A);return this.set(1,0,0,0,0,t,-e,0,0,e,t,0,0,0,0,1),this}makeRotationY(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,0,e,0,0,1,0,0,-e,0,t,0,0,0,0,1),this}makeRotationZ(A){const t=Math.cos(A),e=Math.sin(A);return this.set(t,-e,0,0,e,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(A,t){const e=Math.cos(t),i=Math.sin(t),n=1-e,g=A.x,o=A.y,s=A.z,a=n*g,r=n*o;return this.set(a*g+e,a*o-i*s,a*s+i*o,0,a*o+i*s,r*o+e,r*s-i*g,0,a*s-i*o,r*s+i*g,n*s*s+e,0,0,0,0,1),this}makeScale(A,t,e){return this.set(A,0,0,0,0,t,0,0,0,0,e,0,0,0,0,1),this}makeShear(A,t,e,i,n,g){return this.set(1,e,n,0,A,1,g,0,t,i,1,0,0,0,0,1),this}compose(A,t,e){const i=this.elements,n=t._x,g=t._y,o=t._z,s=t._w,a=n+n,r=g+g,B=o+o,I=n*a,Q=n*r,E=n*B,C=g*r,c=g*B,l=o*B,h=s*a,d=s*r,u=s*B,p=e.x,f=e.y,m=e.z;return i[0]=(1-(C+l))*p,i[1]=(Q+u)*p,i[2]=(E-d)*p,i[3]=0,i[4]=(Q-u)*f,i[5]=(1-(I+l))*f,i[6]=(c+h)*f,i[7]=0,i[8]=(E+d)*m,i[9]=(c-h)*m,i[10]=(1-(I+C))*m,i[11]=0,i[12]=A.x,i[13]=A.y,i[14]=A.z,i[15]=1,this}decompose(A,t,e){const i=this.elements;let n=Ae.set(i[0],i[1],i[2]).length();const g=Ae.set(i[4],i[5],i[6]).length(),o=Ae.set(i[8],i[9],i[10]).length();this.determinant()<0&&(n=-n),A.x=i[12],A.y=i[13],A.z=i[14],te.copy(this);const s=1/n,a=1/g,r=1/o;return te.elements[0]*=s,te.elements[1]*=s,te.elements[2]*=s,te.elements[4]*=a,te.elements[5]*=a,te.elements[6]*=a,te.elements[8]*=r,te.elements[9]*=r,te.elements[10]*=r,t.setFromRotationMatrix(te),e.x=n,e.y=g,e.z=o,this}makePerspective(A,t,e,i,n,g,o=2e3){const s=this.elements,a=2*n/(t-A),r=2*n/(e-i),B=(t+A)/(t-A),I=(e+i)/(e-i);let Q,E;if(o===LA)Q=-(g+n)/(g-n),E=-2*g*n/(g-n);else{if(o!==kA)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);Q=-g/(g-n),E=-g*n/(g-n)}return s[0]=a,s[4]=0,s[8]=B,s[12]=0,s[1]=0,s[5]=r,s[9]=I,s[13]=0,s[2]=0,s[6]=0,s[10]=Q,s[14]=E,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(A,t,e,i,n,g,o=2e3){const s=this.elements,a=1/(t-A),r=1/(e-i),B=1/(g-n),I=(t+A)*a,Q=(e+i)*r;let E,C;if(o===LA)E=(g+n)*B,C=-2*B;else{if(o!==kA)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);E=n*B,C=-1*B}return s[0]=2*a,s[4]=0,s[8]=0,s[12]=-I,s[1]=0,s[5]=2*r,s[9]=0,s[13]=-Q,s[2]=0,s[6]=0,s[10]=C,s[14]=-E,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(A){const t=this.elements,e=A.elements;for(let A=0;A<16;A++)if(t[A]!==e[A])return!1;return!0}fromArray(A,t=0){for(let e=0;e<16;e++)this.elements[e]=A[e+t];return this}toArray(A=[],t=0){const e=this.elements;return A[t]=e[0],A[t+1]=e[1],A[t+2]=e[2],A[t+3]=e[3],A[t+4]=e[4],A[t+5]=e[5],A[t+6]=e[6],A[t+7]=e[7],A[t+8]=e[8],A[t+9]=e[9],A[t+10]=e[10],A[t+11]=e[11],A[t+12]=e[12],A[t+13]=e[13],A[t+14]=e[14],A[t+15]=e[15],A}}const Ae=new wt,te=new $t,ee=new wt(0,0,0),ie=new wt(1,1,1),ne=new wt,ge=new wt,oe=new wt,se=new $t,ae=new mt;class re{constructor(A=0,t=0,e=0,i=re.DEFAULT_ORDER){this.isEuler=!0,this._x=A,this._y=t,this._z=e,this._order=i}get x(){return this._x}set x(A){this._x=A,this._onChangeCallback()}get y(){return this._y}set y(A){this._y=A,this._onChangeCallback()}get z(){return this._z}set z(A){this._z=A,this._onChangeCallback()}get order(){return this._order}set order(A){this._order=A,this._onChangeCallback()}set(A,t,e,i=this._order){return this._x=A,this._y=t,this._z=e,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this}setFromRotationMatrix(A,t=this._order,e=!0){const i=A.elements,n=i[0],g=i[4],o=i[8],s=i[1],a=i[5],r=i[9],B=i[2],I=i[6],Q=i[10];switch(t){case"XYZ":this._y=Math.asin(VA(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-r,Q),this._z=Math.atan2(-g,n)):(this._x=Math.atan2(I,a),this._z=0);break;case"YXZ":this._x=Math.asin(-VA(r,-1,1)),Math.abs(r)<.9999999?(this._y=Math.atan2(o,Q),this._z=Math.atan2(s,a)):(this._y=Math.atan2(-B,n),this._z=0);break;case"ZXY":this._x=Math.asin(VA(I,-1,1)),Math.abs(I)<.9999999?(this._y=Math.atan2(-B,Q),this._z=Math.atan2(-g,a)):(this._y=0,this._z=Math.atan2(s,n));break;case"ZYX":this._y=Math.asin(-VA(B,-1,1)),Math.abs(B)<.9999999?(this._x=Math.atan2(I,Q),this._z=Math.atan2(s,n)):(this._x=0,this._z=Math.atan2(-g,a));break;case"YZX":this._z=Math.asin(VA(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-r,a),this._y=Math.atan2(-B,n)):(this._x=0,this._y=Math.atan2(o,Q));break;case"XZY":this._z=Math.asin(-VA(g,-1,1)),Math.abs(g)<.9999999?(this._x=Math.atan2(I,a),this._y=Math.atan2(o,n)):(this._x=Math.atan2(-r,Q),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===e&&this._onChangeCallback(),this}setFromQuaternion(A,t,e){return se.makeRotationFromQuaternion(A),this.setFromRotationMatrix(se,t,e)}setFromVector3(A,t=this._order){return this.set(A.x,A.y,A.z,t)}reorder(A){return ae.setFromEuler(this),this.setFromQuaternion(ae,A)}equals(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order}fromArray(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this}toArray(A=[],t=0){return A[t]=this._x,A[t+1]=this._y,A[t+2]=this._z,A[t+3]=this._order,A}_onChange(A){return this._onChangeCallback=A,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}re.DEFAULT_ORDER="XYZ";class Be{constructor(){this.mask=1}set(A){this.mask=1<>>0}enable(A){this.mask|=1<1){for(let A=0;A1){for(let A=0;A0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map((A=>({boxInitialized:A.boxInitialized,boxMin:A.box.min.toArray(),boxMax:A.box.max.toArray(),sphereInitialized:A.sphereInitialized,sphereRadius:A.sphere.radius,sphereCenter:A.sphere.center.toArray()}))),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(A),null!==this.boundingSphere&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),null!==this.boundingBox&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(A).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(A).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=n(A.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const e=t.shapes;if(Array.isArray(e))for(let t=0,i=e.length;t0){i.children=[];for(let t=0;t0){i.animations=[];for(let t=0;t0&&(e.geometries=t),i.length>0&&(e.materials=i),n.length>0&&(e.textures=n),o.length>0&&(e.images=o),s.length>0&&(e.shapes=s),a.length>0&&(e.skeletons=a),r.length>0&&(e.animations=r),B.length>0&&(e.nodes=B)}return e.object=i,e;function g(A){const t=[];for(const e in A){const i=A[e];delete i.metadata,t.push(i)}return t}}clone(A){return(new this.constructor).copy(this,A)}copy(A,t=!0){if(this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.rotation.order=A.rotation.order,this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldAutoUpdate=A.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.animations=A.animations.slice(),this.userData=JSON.parse(JSON.stringify(A.userData)),!0===t)for(let t=0;t0?i.multiplyScalar(1/Math.sqrt(n)):i.set(0,0,0)}static getBarycoord(A,t,e,i,n){ye.subVectors(i,t),Re.subVectors(e,t),Fe.subVectors(A,t);const g=ye.dot(ye),o=ye.dot(Re),s=ye.dot(Fe),a=Re.dot(Re),r=Re.dot(Fe),B=g*a-o*o;if(0===B)return n.set(0,0,0),null;const I=1/B,Q=(a*s-o*r)*I,E=(g*r-o*s)*I;return n.set(1-Q-E,E,Q)}static containsPoint(A,t,e,i){return null!==this.getBarycoord(A,t,e,i,Me)&&Me.x>=0&&Me.y>=0&&Me.x+Me.y<=1}static getUV(A,t,e,i,n,g,o,s){return!1===He&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),He=!0),this.getInterpolation(A,t,e,i,n,g,o,s)}static getInterpolation(A,t,e,i,n,g,o,s){return null===this.getBarycoord(A,t,e,i,Me)?(s.x=0,s.y=0,"z"in s&&(s.z=0),"w"in s&&(s.w=0),null):(s.setScalar(0),s.addScaledVector(n,Me.x),s.addScaledVector(g,Me.y),s.addScaledVector(o,Me.z),s)}static isFrontFacing(A,t,e,i){return ye.subVectors(e,t),Re.subVectors(A,t),ye.cross(Re).dot(i)<0}set(A,t,e){return this.a.copy(A),this.b.copy(t),this.c.copy(e),this}setFromPointsAndIndices(A,t,e,i){return this.a.copy(A[t]),this.b.copy(A[e]),this.c.copy(A[i]),this}setFromAttributeAndIndices(A,t,e,i){return this.a.fromBufferAttribute(A,t),this.b.fromBufferAttribute(A,e),this.c.fromBufferAttribute(A,i),this}clone(){return(new this.constructor).copy(this)}copy(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this}getArea(){return ye.subVectors(this.c,this.b),Re.subVectors(this.a,this.b),.5*ye.cross(Re).length()}getMidpoint(A){return A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(A){return Le.getNormal(this.a,this.b,this.c,A)}getPlane(A){return A.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(A,t){return Le.getBarycoord(A,this.a,this.b,this.c,t)}getUV(A,t,e,i,n){return!1===He&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),He=!0),Le.getInterpolation(A,this.a,this.b,this.c,t,e,i,n)}getInterpolation(A,t,e,i,n){return Le.getInterpolation(A,this.a,this.b,this.c,t,e,i,n)}containsPoint(A){return Le.containsPoint(A,this.a,this.b,this.c)}isFrontFacing(A){return Le.isFrontFacing(this.a,this.b,this.c,A)}intersectsBox(A){return A.intersectsTriangle(this)}closestPointToPoint(A,t){const e=this.a,i=this.b,n=this.c;let g,o;Ge.subVectors(i,e),Se.subVectors(n,e),be.subVectors(A,e);const s=Ge.dot(be),a=Se.dot(be);if(s<=0&&a<=0)return t.copy(e);xe.subVectors(A,i);const r=Ge.dot(xe),B=Se.dot(xe);if(r>=0&&B<=r)return t.copy(i);const I=s*B-r*a;if(I<=0&&s>=0&&r<=0)return g=s/(s-r),t.copy(e).addScaledVector(Ge,g);Ne.subVectors(A,n);const Q=Ge.dot(Ne),E=Se.dot(Ne);if(E>=0&&Q<=E)return t.copy(n);const C=Q*a-s*E;if(C<=0&&a>=0&&E<=0)return o=a/(a-E),t.copy(e).addScaledVector(Se,o);const c=r*E-Q*B;if(c<=0&&B-r>=0&&Q-E>=0)return Ue.subVectors(n,i),o=(B-r)/(B-r+(Q-E)),t.copy(i).addScaledVector(Ue,o);const l=1/(c+C+I);return g=C*l,o=I*l,t.copy(e).addScaledVector(Ge,g).addScaledVector(Se,o)}equals(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}}const ke={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},ve={h:0,s:0,l:0},Ye={h:0,s:0,l:0};function Te(A,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?A+6*(t-A)*e:e<.5?t:e<2/3?A+6*(t-A)*(2/3-e):A}class Je{constructor(A,t,e){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(A,t,e)}set(A,t,e){if(void 0===t&&void 0===e){const t=A;t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t)}else this.setRGB(A,t,e);return this}setScalar(A){return this.r=A,this.g=A,this.b=A,this}setHex(A,t=hA){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,st.toWorkingColorSpace(this,t),this}setRGB(A,t,e,i=st.workingColorSpace){return this.r=A,this.g=t,this.b=e,st.toWorkingColorSpace(this,i),this}setHSL(A,t,e,i=st.workingColorSpace){if(A=(A%(n=1)+n)%n,t=VA(t,0,1),e=VA(e,0,1),0===t)this.r=this.g=this.b=e;else{const i=e<=.5?e*(1+t):e+t-e*t,n=2*e-i;this.r=Te(n,i,A+1/3),this.g=Te(n,i,A),this.b=Te(n,i,A-1/3)}var n;return st.toWorkingColorSpace(this,i),this}setStyle(A,t=hA){function e(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(A)){let n;const g=i[1],o=i[2];switch(g){case"rgb":case"rgba":if(n=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setRGB(Math.min(255,parseInt(n[1],10))/255,Math.min(255,parseInt(n[2],10))/255,Math.min(255,parseInt(n[3],10))/255,t);if(n=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setRGB(Math.min(100,parseInt(n[1],10))/100,Math.min(100,parseInt(n[2],10))/100,Math.min(100,parseInt(n[3],10))/100,t);break;case"hsl":case"hsla":if(n=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return e(n[4]),this.setHSL(parseFloat(n[1])/360,parseFloat(n[2])/100,parseFloat(n[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+A)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(A)){const e=i[1],n=e.length;if(3===n)return this.setRGB(parseInt(e.charAt(0),16)/15,parseInt(e.charAt(1),16)/15,parseInt(e.charAt(2),16)/15,t);if(6===n)return this.setHex(parseInt(e,16),t);console.warn("THREE.Color: Invalid hex color "+A)}else if(A&&A.length>0)return this.setColorName(A,t);return this}setColorName(A,t=hA){const e=ke[A.toLowerCase()];return void 0!==e?this.setHex(e,t):console.warn("THREE.Color: Unknown color "+A),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(A){return this.r=A.r,this.g=A.g,this.b=A.b,this}copySRGBToLinear(A){return this.r=at(A.r),this.g=at(A.g),this.b=at(A.b),this}copyLinearToSRGB(A){return this.r=rt(A.r),this.g=rt(A.g),this.b=rt(A.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(A=hA){return st.fromWorkingColorSpace(_e.copy(this),A),65536*Math.round(VA(255*_e.r,0,255))+256*Math.round(VA(255*_e.g,0,255))+Math.round(VA(255*_e.b,0,255))}getHexString(A=hA){return("000000"+this.getHex(A).toString(16)).slice(-6)}getHSL(A,t=st.workingColorSpace){st.fromWorkingColorSpace(_e.copy(this),t);const e=_e.r,i=_e.g,n=_e.b,g=Math.max(e,i,n),o=Math.min(e,i,n);let s,a;const r=(o+g)/2;if(o===g)s=0,a=0;else{const A=g-o;switch(a=r<=.5?A/(g+o):A/(2-g-o),g){case e:s=(i-n)/A+(i0!=A>0&&this.version++,this._alphaTest=A}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(A){if(void 0!==A)for(const t in A){const e=A[t];if(void 0===e){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];void 0!==i?i&&i.isColor?i.set(e):i&&i.isVector3&&e&&e.isVector3?i.copy(e):this[t]=e:console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`)}}toJSON(A){const t=void 0===A||"string"==typeof A;t&&(A={textures:{},images:{}});const e={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function i(A){const t=[];for(const e in A){const i=A[e];delete i.metadata,t.push(i)}return t}if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),this.color&&this.color.isColor&&(e.color=this.color.getHex()),void 0!==this.roughness&&(e.roughness=this.roughness),void 0!==this.metalness&&(e.metalness=this.metalness),void 0!==this.sheen&&(e.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(e.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(e.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(e.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(e.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(e.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(e.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(e.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(e.shininess=this.shininess),void 0!==this.clearcoat&&(e.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(e.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(e.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(e.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(e.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,e.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(e.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(e.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(e.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(e.iridescenceMap=this.iridescenceMap.toJSON(A).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(e.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(A).uuid),void 0!==this.anisotropy&&(e.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(e.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(e.anisotropyMap=this.anisotropyMap.toJSON(A).uuid),this.map&&this.map.isTexture&&(e.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(e.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(e.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(e.lightMap=this.lightMap.toJSON(A).uuid,e.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(e.aoMap=this.aoMap.toJSON(A).uuid,e.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(e.bumpMap=this.bumpMap.toJSON(A).uuid,e.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(e.normalMap=this.normalMap.toJSON(A).uuid,e.normalMapType=this.normalMapType,e.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(e.displacementMap=this.displacementMap.toJSON(A).uuid,e.displacementScale=this.displacementScale,e.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(e.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(e.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(e.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(e.specularMap=this.specularMap.toJSON(A).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(e.specularIntensityMap=this.specularIntensityMap.toJSON(A).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(e.specularColorMap=this.specularColorMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(e.envMap=this.envMap.toJSON(A).uuid,void 0!==this.combine&&(e.combine=this.combine)),void 0!==this.envMapIntensity&&(e.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(e.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(e.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(e.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.transmission&&(e.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(e.transmissionMap=this.transmissionMap.toJSON(A).uuid),void 0!==this.thickness&&(e.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(e.thicknessMap=this.thicknessMap.toJSON(A).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(e.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(e.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(e.size=this.size),null!==this.shadowSide&&(e.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(e.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(e.blending=this.blending),0!==this.side&&(e.side=this.side),!0===this.vertexColors&&(e.vertexColors=!0),this.opacity<1&&(e.opacity=this.opacity),!0===this.transparent&&(e.transparent=!0),204!==this.blendSrc&&(e.blendSrc=this.blendSrc),205!==this.blendDst&&(e.blendDst=this.blendDst),this.blendEquation!==Q&&(e.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(e.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(e.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(e.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(e.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(e.blendAlpha=this.blendAlpha),3!==this.depthFunc&&(e.depthFunc=this.depthFunc),!1===this.depthTest&&(e.depthTest=this.depthTest),!1===this.depthWrite&&(e.depthWrite=this.depthWrite),!1===this.colorWrite&&(e.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(e.stencilWriteMask=this.stencilWriteMask),519!==this.stencilFunc&&(e.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(e.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(e.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==yA&&(e.stencilFail=this.stencilFail),this.stencilZFail!==yA&&(e.stencilZFail=this.stencilZFail),this.stencilZPass!==yA&&(e.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(e.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(e.rotation=this.rotation),!0===this.polygonOffset&&(e.polygonOffset=!0),0!==this.polygonOffsetFactor&&(e.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(e.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(e.linewidth=this.linewidth),void 0!==this.dashSize&&(e.dashSize=this.dashSize),void 0!==this.gapSize&&(e.gapSize=this.gapSize),void 0!==this.scale&&(e.scale=this.scale),!0===this.dithering&&(e.dithering=!0),this.alphaTest>0&&(e.alphaTest=this.alphaTest),!0===this.alphaHash&&(e.alphaHash=!0),!0===this.alphaToCoverage&&(e.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(e.premultipliedAlpha=!0),!0===this.forceSinglePass&&(e.forceSinglePass=!0),!0===this.wireframe&&(e.wireframe=!0),this.wireframeLinewidth>1&&(e.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(e.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(e.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(e.flatShading=!0),!1===this.visible&&(e.visible=!1),!1===this.toneMapped&&(e.toneMapped=!1),!1===this.fog&&(e.fog=!1),Object.keys(this.userData).length>0&&(e.userData=this.userData),t){const t=i(A.textures),n=i(A.images);t.length>0&&(e.textures=t),n.length>0&&(e.images=n)}return e}clone(){return(new this.constructor).copy(this)}copy(A){this.name=A.name,this.blending=A.blending,this.side=A.side,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.blendColor.copy(A.blendColor),this.blendAlpha=A.blendAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;const t=A.clippingPlanes;let e=null;if(null!==t){const A=t.length;e=new Array(A);for(let i=0;i!==A;++i)e[i]=t[i].clone()}return this.clippingPlanes=e,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.alphaHash=A.alphaHash,this.alphaToCoverage=A.alphaToCoverage,this.premultipliedAlpha=A.premultipliedAlpha,this.forceSinglePass=A.forceSinglePass,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(A){!0===A&&this.version++}}class Ke extends We{constructor(A){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Je(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=S,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}const Ze=new wt,Xe=new OA;class Pe{constructor(A,t,e=!1){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=A,this.itemSize=t,this.count=void 0!==A?A.length/t:0,this.normalized=e,this.usage=35044,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=tA,this.version=0}onUploadCallback(){}set needsUpdate(A){!0===A&&this.version++}get updateRange(){return console.warn("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(A){return this.usage=A,this}addUpdateRange(A,t){this.updateRanges.push({start:A,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this.gpuType=A.gpuType,this}copyAt(A,t,e){A*=this.itemSize,e*=t.itemSize;for(let i=0,n=this.itemSize;i0&&(A.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const e in t)void 0!==t[e]&&(A[e]=t[e]);return A}A.data={attributes:{}};const t=this.index;null!==t&&(A.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const e=this.attributes;for(const t in e){const i=e[t];A.data.attributes[t]=i.toJSON(A.data)}const i={};let n=!1;for(const t in this.morphAttributes){const e=this.morphAttributes[t],g=[];for(let t=0,i=e.length;t0&&(i[t]=g,n=!0)}n&&(A.data.morphAttributes=i,A.data.morphTargetsRelative=this.morphTargetsRelative);const g=this.groups;g.length>0&&(A.data.groups=JSON.parse(JSON.stringify(g)));const o=this.boundingSphere;return null!==o&&(A.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),A}clone(){return(new this.constructor).copy(this)}copy(A){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=A.name;const e=A.index;null!==e&&this.setIndex(e.clone(t));const i=A.attributes;for(const A in i){const e=i[A];this.setAttribute(A,e.clone(t))}const n=A.morphAttributes;for(const A in n){const e=[],i=n[A];for(let A=0,n=i.length;A0){const e=A[t[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let A=0,t=e.length;A(A.far-A.near)**2)return}oi.copy(n).invert(),si.copy(A.ray).applyMatrix4(oi),null!==e.boundingBox&&!1===si.intersectsBox(e.boundingBox)||this._computeIntersections(A,t,si)}}_computeIntersections(A,t,e){let i;const n=this.geometry,g=this.material,o=n.index,s=n.attributes.position,a=n.attributes.uv,r=n.attributes.uv1,B=n.attributes.normal,I=n.groups,Q=n.drawRange;if(null!==o)if(Array.isArray(g))for(let n=0,s=I.length;ne.far?null:{distance:r,point:mi.clone(),object:A}}(A,t,e,i,Bi,Ii,Qi,fi);if(B){n&&(ci.fromBufferAttribute(n,s),li.fromBufferAttribute(n,a),hi.fromBufferAttribute(n,r),B.uv=Le.getInterpolation(fi,Bi,Ii,Qi,ci,li,hi,new OA)),g&&(ci.fromBufferAttribute(g,s),li.fromBufferAttribute(g,a),hi.fromBufferAttribute(g,r),B.uv1=Le.getInterpolation(fi,Bi,Ii,Qi,ci,li,hi,new OA),B.uv2=B.uv1),o&&(di.fromBufferAttribute(o,s),ui.fromBufferAttribute(o,a),pi.fromBufferAttribute(o,r),B.normal=Le.getInterpolation(fi,Bi,Ii,Qi,di,ui,pi,new wt),B.normal.dot(i.direction)>0&&B.normal.multiplyScalar(-1));const A={a:s,b:a,c:r,normal:new wt,materialIndex:0};Le.getNormal(Bi,Ii,Qi,A.normal),B.face=A}return B}class yi extends gi{constructor(A=1,t=1,e=1,i=1,n=1,g=1){super(),this.type="BoxGeometry",this.parameters={width:A,height:t,depth:e,widthSegments:i,heightSegments:n,depthSegments:g};const o=this;i=Math.floor(i),n=Math.floor(n),g=Math.floor(g);const s=[],a=[],r=[],B=[];let I=0,Q=0;function E(A,t,e,i,n,g,E,C,c,l,h){const d=g/c,u=E/l,p=g/2,f=E/2,m=C/2,w=c+1,D=l+1;let y=0,R=0;const F=new wt;for(let g=0;g0?1:-1,r.push(F.x,F.y,F.z),B.push(s/c),B.push(1-g/l),y+=1}}for(let A=0;A0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const e={};for(const A in this.extensions)!0===this.extensions[A]&&(e[A]=!0);return Object.keys(e).length>0&&(t.extensions=e),t}}class Ui extends De{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new $t,this.projectionMatrix=new $t,this.projectionMatrixInverse=new $t,this.coordinateSystem=LA}copy(A,t){return super.copy(A,t),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this.coordinateSystem=A.coordinateSystem,this}getWorldDirection(A){return super.getWorldDirection(A).negate()}updateMatrixWorld(A){super.updateMatrixWorld(A),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(A,t){super.updateWorldMatrix(A,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class bi extends Ui{constructor(A=50,t=1,e=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=A,this.zoom=1,this.near=e,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this}setFocalLength(A){const t=.5*this.getFilmHeight()/A;this.fov=2*JA*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const A=Math.tan(.5*TA*this.fov);return.5*this.getFilmHeight()/A}getEffectiveFOV(){return 2*JA*Math.atan(Math.tan(.5*TA*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(A,t,e,i,n,g){this.aspect=A/t,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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=i,this.view.width=n,this.view.height=g,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=this.near;let t=A*Math.tan(.5*TA*this.fov)/this.zoom,e=2*t,i=this.aspect*e,n=-.5*i;const g=this.view;if(null!==this.view&&this.view.enabled){const A=g.fullWidth,o=g.fullHeight;n+=g.offsetX*i/A,t-=g.offsetY*e/o,i*=g.width/A,e*=g.height/o}const o=this.filmOffset;0!==o&&(n+=A*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(n,n+i,t,t-e,A,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const xi=-90;class Ni extends De{constructor(A,t,e){super(),this.type="CubeCamera",this.renderTarget=e,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new bi(xi,1,A,t);i.layers=this.layers,this.add(i);const n=new bi(xi,1,A,t);n.layers=this.layers,this.add(n);const g=new bi(xi,1,A,t);g.layers=this.layers,this.add(g);const o=new bi(xi,1,A,t);o.layers=this.layers,this.add(o);const s=new bi(xi,1,A,t);s.layers=this.layers,this.add(s);const a=new bi(xi,1,A,t);a.layers=this.layers,this.add(a)}updateCoordinateSystem(){const A=this.coordinateSystem,t=this.children.concat(),[e,i,n,g,o,s]=t;for(const A of t)this.remove(A);if(A===LA)e.up.set(0,1,0),e.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),n.up.set(0,0,-1),n.lookAt(0,1,0),g.up.set(0,0,1),g.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else{if(A!==kA)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+A);e.up.set(0,-1,0),e.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),n.up.set(0,0,1),n.lookAt(0,1,0),g.up.set(0,0,-1),g.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1)}for(const A of t)this.add(A),A.updateMatrixWorld()}update(A,t){null===this.parent&&this.updateMatrixWorld();const{renderTarget:e,activeMipmapLevel:i}=this;this.coordinateSystem!==A.coordinateSystem&&(this.coordinateSystem=A.coordinateSystem,this.updateCoordinateSystem());const[n,g,o,s,a,r]=this.children,B=A.getRenderTarget(),I=A.getActiveCubeFace(),Q=A.getActiveMipmapLevel(),E=A.xr.enabled;A.xr.enabled=!1;const C=e.texture.generateMipmaps;e.texture.generateMipmaps=!1,A.setRenderTarget(e,0,i),A.render(t,n),A.setRenderTarget(e,1,i),A.render(t,g),A.setRenderTarget(e,2,i),A.render(t,o),A.setRenderTarget(e,3,i),A.render(t,s),A.setRenderTarget(e,4,i),A.render(t,a),e.texture.generateMipmaps=C,A.setRenderTarget(e,5,i),A.render(t,r),A.setRenderTarget(B,I,Q),A.xr.enabled=E,e.texture.needsPMREMUpdate=!0}}class Hi extends lt{constructor(A,t,e,i,n,g,o,s,a,r){super(A=void 0!==A?A:[],t=void 0!==t?t:T,e,i,n,g,o,s,a,r),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(A){this.image=A}}class Li extends ut{constructor(A=1,t={}){super(A,A,t),this.isWebGLCubeRenderTarget=!0;const e={width:A,height:A,depth:1},i=[e,e,e,e,e,e];void 0!==t.encoding&&(et("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===cA?hA:lA),this.texture=new Hi(i,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:O}fromEquirectangularTexture(A,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const e={tEquirect:{value:null}},i="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",n="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",g=new yi(5,5,5),o=new Si({name:"CubemapFromEquirect",uniforms:Ri(e),vertexShader:i,fragmentShader:n,side:1,blending:0});o.uniforms.tEquirect.value=t;const s=new wi(g,o),a=t.minFilter;return t.minFilter===q&&(t.minFilter=O),new Ni(1,10,this).update(A,s),t.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(A,t,e,i){const n=A.getRenderTarget();for(let n=0;n<6;n++)A.setRenderTarget(this,n),A.clear(t,e,i);A.setRenderTarget(n)}}const ki=new wt,vi=new wt,Yi=new zA;class Ti{constructor(A=new wt(1,0,0),t=0){this.isPlane=!0,this.normal=A,this.constant=t}set(A,t){return this.normal.copy(A),this.constant=t,this}setComponents(A,t,e,i){return this.normal.set(A,t,e),this.constant=i,this}setFromNormalAndCoplanarPoint(A,t){return this.normal.copy(A),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(A,t,e){const i=ki.subVectors(e,t).cross(vi.subVectors(A,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,A),this}copy(A){return this.normal.copy(A.normal),this.constant=A.constant,this}normalize(){const A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(A){return this.normal.dot(A)+this.constant}distanceToSphere(A){return this.distanceToPoint(A.center)-A.radius}projectPoint(A,t){return t.copy(A).addScaledVector(this.normal,-this.distanceToPoint(A))}intersectLine(A,t){const e=A.delta(ki),i=this.normal.dot(e);if(0===i)return 0===this.distanceToPoint(A.start)?t.copy(A.start):null;const n=-(A.start.dot(this.normal)+this.constant)/i;return n<0||n>1?null:t.copy(A.start).addScaledVector(e,n)}intersectsLine(A){const t=this.distanceToPoint(A.start),e=this.distanceToPoint(A.end);return t<0&&e>0||e<0&&t>0}intersectsBox(A){return A.intersectsPlane(this)}intersectsSphere(A){return A.intersectsPlane(this)}coplanarPoint(A){return A.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(A,t){const e=t||Yi.getNormalMatrix(A),i=this.coplanarPoint(ki).applyMatrix4(A),n=this.normal.applyMatrix3(e).normalize();return this.constant=-i.dot(n),this}translate(A){return this.constant-=A.dot(this.normal),this}equals(A){return A.normal.equals(this.normal)&&A.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const Ji=new Wt,_i=new wt;class Vi{constructor(A=new Ti,t=new Ti,e=new Ti,i=new Ti,n=new Ti,g=new Ti){this.planes=[A,t,e,i,n,g]}set(A,t,e,i,n,g){const o=this.planes;return o[0].copy(A),o[1].copy(t),o[2].copy(e),o[3].copy(i),o[4].copy(n),o[5].copy(g),this}copy(A){const t=this.planes;for(let e=0;e<6;e++)t[e].copy(A.planes[e]);return this}setFromProjectionMatrix(A,t=2e3){const e=this.planes,i=A.elements,n=i[0],g=i[1],o=i[2],s=i[3],a=i[4],r=i[5],B=i[6],I=i[7],Q=i[8],E=i[9],C=i[10],c=i[11],l=i[12],h=i[13],d=i[14],u=i[15];if(e[0].setComponents(s-n,I-a,c-Q,u-l).normalize(),e[1].setComponents(s+n,I+a,c+Q,u+l).normalize(),e[2].setComponents(s+g,I+r,c+E,u+h).normalize(),e[3].setComponents(s-g,I-r,c-E,u-h).normalize(),e[4].setComponents(s-o,I-B,c-C,u-d).normalize(),t===LA)e[5].setComponents(s+o,I+B,c+C,u+d).normalize();else{if(t!==kA)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);e[5].setComponents(o,B,C,d).normalize()}return this}intersectsObject(A){if(void 0!==A.boundingSphere)null===A.boundingSphere&&A.computeBoundingSphere(),Ji.copy(A.boundingSphere).applyMatrix4(A.matrixWorld);else{const t=A.geometry;null===t.boundingSphere&&t.computeBoundingSphere(),Ji.copy(t.boundingSphere).applyMatrix4(A.matrixWorld)}return this.intersectsSphere(Ji)}intersectsSprite(A){return Ji.center.set(0,0,0),Ji.radius=.7071067811865476,Ji.applyMatrix4(A.matrixWorld),this.intersectsSphere(Ji)}intersectsSphere(A){const t=this.planes,e=A.center,i=-A.radius;for(let A=0;A<6;A++)if(t[A].distanceToPoint(e)0?A.max.x:A.min.x,_i.y=i.normal.y>0?A.max.y:A.min.y,_i.z=i.normal.z>0?A.max.z:A.min.z,i.distanceToPoint(_i)<0)return!1}return!0}containsPoint(A){const t=this.planes;for(let e=0;e<6;e++)if(t[e].distanceToPoint(A)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function Wi(){let A=null,t=!1,e=null,i=null;function n(t,g){e(t,g),i=A.requestAnimationFrame(n)}return{start:function(){!0!==t&&null!==e&&(i=A.requestAnimationFrame(n),t=!0)},stop:function(){A.cancelAnimationFrame(i),t=!1},setAnimationLoop:function(A){e=A},setContext:function(t){A=t}}}function Ki(A,t){const e=t.isWebGL2,i=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),i.get(A)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const e=i.get(t);e&&(A.deleteBuffer(e.buffer),i.delete(t))},update:function(t,n){if(t.isGLBufferAttribute){const A=i.get(t);return void((!A||A.version 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 v ) { return dot( v, vec3( 0.3333333 ) ); }\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};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\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 luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, 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}\nvec3 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} // validated",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\thighp vec2 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 cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_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 ), cubeUV_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_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 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, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\n\tvec3( 0.8224621, 0.177538, 0.0 ),\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\n);\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\n);\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\n}\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\n}\nvec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferOETF( 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}\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn sRGBTransferOETF( value );\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#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 ) || defined( LAMBERT )\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 ) || defined( LAMBERT )\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:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef 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#ifdef 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\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\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\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\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_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\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 ( LEGACY_LIGHTS )\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#else\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#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, 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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\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 vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\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\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\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( ( material.ior - 1.0 ) / ( material.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, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).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, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).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_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\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\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( 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}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.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\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\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}\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\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\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( 0, 1, 0 ),\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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, 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 vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, 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( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, 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:"\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\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, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\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, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\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 ], geometryNormal );\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, vLightMapUv );\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( geometryNormal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, 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, vMapUv );\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\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\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\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_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\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, vMetalnessMapUv );\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 = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).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( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\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 USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.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 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\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",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\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}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\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 depth, const in float near, const in float far ) {\n\treturn depth * ( 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 depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - 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_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\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, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#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\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\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.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:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#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\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:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\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, vSpotLightCoord[ 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\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\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, vSpecularMapUv );\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 saturate( 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( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.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}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor *= toneMappingExposure;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\treturn color;\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\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\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\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 lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\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 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\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;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\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, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_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 USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\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_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},Pi={common:{diffuse:{value:new Je(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new zA},alphaMap:{value:null},alphaMapTransform:{value:new zA},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new zA}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new zA}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new zA}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new zA},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new zA},normalScale:{value:new OA(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new zA},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new zA}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new zA}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new zA}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Je(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:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{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 Je(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new zA},alphaTest:{value:0},uvTransform:{value:new zA}},sprite:{diffuse:{value:new Je(16777215)},opacity:{value:1},center:{value:new OA(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new zA},alphaMap:{value:null},alphaMapTransform:{value:new zA},alphaTest:{value:0}}},Oi={basic:{uniforms:Fi([Pi.common,Pi.specularmap,Pi.envmap,Pi.aomap,Pi.lightmap,Pi.fog]),vertexShader:Xi.meshbasic_vert,fragmentShader:Xi.meshbasic_frag},lambert:{uniforms:Fi([Pi.common,Pi.specularmap,Pi.envmap,Pi.aomap,Pi.lightmap,Pi.emissivemap,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,Pi.fog,Pi.lights,{emissive:{value:new Je(0)}}]),vertexShader:Xi.meshlambert_vert,fragmentShader:Xi.meshlambert_frag},phong:{uniforms:Fi([Pi.common,Pi.specularmap,Pi.envmap,Pi.aomap,Pi.lightmap,Pi.emissivemap,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,Pi.fog,Pi.lights,{emissive:{value:new Je(0)},specular:{value:new Je(1118481)},shininess:{value:30}}]),vertexShader:Xi.meshphong_vert,fragmentShader:Xi.meshphong_frag},standard:{uniforms:Fi([Pi.common,Pi.envmap,Pi.aomap,Pi.lightmap,Pi.emissivemap,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,Pi.roughnessmap,Pi.metalnessmap,Pi.fog,Pi.lights,{emissive:{value:new Je(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Xi.meshphysical_vert,fragmentShader:Xi.meshphysical_frag},toon:{uniforms:Fi([Pi.common,Pi.aomap,Pi.lightmap,Pi.emissivemap,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,Pi.gradientmap,Pi.fog,Pi.lights,{emissive:{value:new Je(0)}}]),vertexShader:Xi.meshtoon_vert,fragmentShader:Xi.meshtoon_frag},matcap:{uniforms:Fi([Pi.common,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,Pi.fog,{matcap:{value:null}}]),vertexShader:Xi.meshmatcap_vert,fragmentShader:Xi.meshmatcap_frag},points:{uniforms:Fi([Pi.points,Pi.fog]),vertexShader:Xi.points_vert,fragmentShader:Xi.points_frag},dashed:{uniforms:Fi([Pi.common,Pi.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Xi.linedashed_vert,fragmentShader:Xi.linedashed_frag},depth:{uniforms:Fi([Pi.common,Pi.displacementmap]),vertexShader:Xi.depth_vert,fragmentShader:Xi.depth_frag},normal:{uniforms:Fi([Pi.common,Pi.bumpmap,Pi.normalmap,Pi.displacementmap,{opacity:{value:1}}]),vertexShader:Xi.meshnormal_vert,fragmentShader:Xi.meshnormal_frag},sprite:{uniforms:Fi([Pi.sprite,Pi.fog]),vertexShader:Xi.sprite_vert,fragmentShader:Xi.sprite_frag},background:{uniforms:{uvTransform:{value:new zA},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Xi.background_vert,fragmentShader:Xi.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Xi.backgroundCube_vert,fragmentShader:Xi.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Xi.cube_vert,fragmentShader:Xi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Xi.equirect_vert,fragmentShader:Xi.equirect_frag},distanceRGBA:{uniforms:Fi([Pi.common,Pi.displacementmap,{referencePosition:{value:new wt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Xi.distanceRGBA_vert,fragmentShader:Xi.distanceRGBA_frag},shadow:{uniforms:Fi([Pi.lights,Pi.fog,{color:{value:new Je(0)},opacity:{value:1}}]),vertexShader:Xi.shadow_vert,fragmentShader:Xi.shadow_frag}};Oi.physical={uniforms:Fi([Oi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new zA},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new zA},clearcoatNormalScale:{value:new OA(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new zA},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new zA},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new zA},sheen:{value:0},sheenColor:{value:new Je(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new zA},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new zA},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new zA},transmissionSamplerSize:{value:new OA},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new zA},attenuationDistance:{value:0},attenuationColor:{value:new Je(0)},specularColor:{value:new Je(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new zA},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new zA},anisotropyVector:{value:new OA},anisotropyMap:{value:null},anisotropyMapTransform:{value:new zA}}]),vertexShader:Xi.meshphysical_vert,fragmentShader:Xi.meshphysical_frag};const zi={r:0,b:0,g:0};function qi(A,t,e,i,n,g,o){const s=new Je(0);let a,r,B=!0===g?0:1,I=null,Q=0,E=null;function C(t,e){t.getRGB(zi,Mi(A)),i.buffers.color.setClear(zi.r,zi.g,zi.b,e,o)}return{getClearColor:function(){return s},setClearColor:function(A,t=1){s.set(A),B=t,C(s,B)},getClearAlpha:function(){return B},setClearAlpha:function(A){B=A,C(s,B)},render:function(g,c){let l=!1,h=!0===c.isScene?c.background:null;h&&h.isTexture&&(h=(c.backgroundBlurriness>0?e:t).get(h)),null===h?C(s,B):h&&h.isColor&&(C(h,1),l=!0);const d=A.xr.getEnvironmentBlendMode();"additive"===d?i.buffers.color.setClear(0,0,0,1,o):"alpha-blend"===d&&i.buffers.color.setClear(0,0,0,0,o),(A.autoClear||l)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),h&&(h.isCubeTexture||h.mapping===_)?(void 0===r&&(r=new wi(new yi(1,1,1),new Si({name:"BackgroundCubeMaterial",uniforms:Ri(Oi.backgroundCube.uniforms),vertexShader:Oi.backgroundCube.vertexShader,fragmentShader:Oi.backgroundCube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),r.geometry.deleteAttribute("normal"),r.geometry.deleteAttribute("uv"),r.onBeforeRender=function(A,t,e){this.matrixWorld.copyPosition(e.matrixWorld)},Object.defineProperty(r.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(r)),r.material.uniforms.envMap.value=h,r.material.uniforms.flipEnvMap.value=h.isCubeTexture&&!1===h.isRenderTargetTexture?-1:1,r.material.uniforms.backgroundBlurriness.value=c.backgroundBlurriness,r.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,r.material.toneMapped=st.getTransfer(h.colorSpace)!==mA,I===h&&Q===h.version&&E===A.toneMapping||(r.material.needsUpdate=!0,I=h,Q=h.version,E=A.toneMapping),r.layers.enableAll(),g.unshift(r,r.geometry,r.material,0,0,null)):h&&h.isTexture&&(void 0===a&&(a=new wi(new Zi(2,2),new Si({name:"BackgroundMaterial",uniforms:Ri(Oi.background.uniforms),vertexShader:Oi.background.vertexShader,fragmentShader:Oi.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(a)),a.material.uniforms.t2D.value=h,a.material.uniforms.backgroundIntensity.value=c.backgroundIntensity,a.material.toneMapped=st.getTransfer(h.colorSpace)!==mA,!0===h.matrixAutoUpdate&&h.updateMatrix(),a.material.uniforms.uvTransform.value.copy(h.matrix),I===h&&Q===h.version&&E===A.toneMapping||(a.material.needsUpdate=!0,I=h,Q=h.version,E=A.toneMapping),a.layers.enableAll(),g.unshift(a,a.geometry,a.material,0,0,null))}}}function ji(A,t,e,i){const n=A.getParameter(A.MAX_VERTEX_ATTRIBS),g=i.isWebGL2?null:t.get("OES_vertex_array_object"),o=i.isWebGL2||null!==g,s={},a=E(null);let r=a,B=!1;function I(t){return i.isWebGL2?A.bindVertexArray(t):g.bindVertexArrayOES(t)}function Q(t){return i.isWebGL2?A.deleteVertexArray(t):g.deleteVertexArrayOES(t)}function E(A){const t=[],e=[],i=[];for(let A=0;A=0){const e=n[t];let i=g[t];if(void 0===i&&("instanceMatrix"===t&&A.instanceMatrix&&(i=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(i=A.instanceColor)),void 0===e)return!0;if(e.attribute!==i)return!0;if(i&&e.data!==i.data)return!0;o++}return r.attributesNum!==o||r.index!==i}(n,u,Q,p),f&&function(A,t,e,i){const n={},g=t.attributes;let o=0;const s=e.getAttributes();for(const t in s)if(s[t].location>=0){let e=g[t];void 0===e&&("instanceMatrix"===t&&A.instanceMatrix&&(e=A.instanceMatrix),"instanceColor"===t&&A.instanceColor&&(e=A.instanceColor));const i={};i.attribute=e,e&&e.data&&(i.data=e.data),n[t]=i,o++}r.attributes=n,r.attributesNum=o,r.index=i}(n,u,Q,p)}else{const A=!0===a.wireframe;r.geometry===u.id&&r.program===Q.id&&r.wireframe===A||(r.geometry=u.id,r.program=Q.id,r.wireframe=A,f=!0)}null!==p&&e.update(p,A.ELEMENT_ARRAY_BUFFER),(f||B)&&(B=!1,function(n,g,o,s){if(!1===i.isWebGL2&&(n.isInstancedMesh||s.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;C();const a=s.attributes,r=o.getAttributes(),B=g.defaultAttributeValues;for(const t in r){const g=r[t];if(g.location>=0){let o=a[t];if(void 0===o&&("instanceMatrix"===t&&n.instanceMatrix&&(o=n.instanceMatrix),"instanceColor"===t&&n.instanceColor&&(o=n.instanceColor)),void 0!==o){const t=o.normalized,a=o.itemSize,r=e.get(o);if(void 0===r)continue;const B=r.buffer,I=r.type,Q=r.bytesPerElement,E=!0===i.isWebGL2&&(I===A.INT||I===A.UNSIGNED_INT||1013===o.gpuType);if(o.isInterleavedBufferAttribute){const e=o.data,i=e.stride,r=o.offset;if(e.isInstancedInterleavedBuffer){for(let A=0;A0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&A.getShaderPrecisionFormat(A.VERTEX_SHADER,A.MEDIUM_FLOAT).precision>0&&A.getShaderPrecisionFormat(A.FRAGMENT_SHADER,A.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const g="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===A.constructor.name;let o=void 0!==e.precision?e.precision:"highp";const s=n(o);s!==o&&(console.warn("THREE.WebGLRenderer:",o,"not supported, using",s,"instead."),o=s);const a=g||t.has("WEBGL_draw_buffers"),r=!0===e.logarithmicDepthBuffer,B=A.getParameter(A.MAX_TEXTURE_IMAGE_UNITS),I=A.getParameter(A.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Q=A.getParameter(A.MAX_TEXTURE_SIZE),E=A.getParameter(A.MAX_CUBE_MAP_TEXTURE_SIZE),C=A.getParameter(A.MAX_VERTEX_ATTRIBS),c=A.getParameter(A.MAX_VERTEX_UNIFORM_VECTORS),l=A.getParameter(A.MAX_VARYING_VECTORS),h=A.getParameter(A.MAX_FRAGMENT_UNIFORM_VECTORS),d=I>0,u=g||t.has("OES_texture_float");return{isWebGL2:g,drawBuffers:a,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===t.has("EXT_texture_filter_anisotropic")){const e=t.get("EXT_texture_filter_anisotropic");i=A.getParameter(e.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:n,precision:o,logarithmicDepthBuffer:r,maxTextures:B,maxVertexTextures:I,maxTextureSize:Q,maxCubemapSize:E,maxAttributes:C,maxVertexUniforms:c,maxVaryings:l,maxFragmentUniforms:h,vertexTextures:d,floatFragmentTextures:u,floatVertexTextures:d&&u,maxSamples:g?A.getParameter(A.MAX_SAMPLES):0}}function tn(A){const t=this;let e=null,i=0,n=!1,g=!1;const o=new Ti,s=new zA,a={value:null,needsUpdate:!1};function r(A,e,i,n){const g=null!==A?A.length:0;let r=null;if(0!==g){if(r=a.value,!0!==n||null===r){const t=i+4*g,n=e.matrixWorldInverse;s.getNormalMatrix(n),(null===r||r.length0),t.numPlanes=i,t.numIntersection=0);else{const A=g?0:i,t=4*A;let n=C.clippingState||null;a.value=n,n=r(I,s,t,B);for(let A=0;A!==t;++A)n[A]=e[A];C.clippingState=n,this.numIntersection=Q?this.numPlanes:0,this.numPlanes+=A}}}function en(A){let t=new WeakMap;function e(A,t){return 303===t?A.mapping=T:304===t&&(A.mapping=J),A}function i(A){const e=A.target;e.removeEventListener("dispose",i);const n=t.get(e);void 0!==n&&(t.delete(e),n.dispose())}return{get:function(n){if(n&&n.isTexture){const g=n.mapping;if(303===g||304===g){if(t.has(n))return e(t.get(n).texture,n.mapping);{const g=n.image;if(g&&g.height>0){const o=new Li(g.height/2);return o.fromEquirectangularTexture(A,n),t.set(n,o),n.addEventListener("dispose",i),e(o.texture,n.mapping)}return null}}}return n},dispose:function(){t=new WeakMap}}}class nn extends Ui{constructor(A=-1,t=1,e=1,i=-1,n=.1,g=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=A,this.right=t,this.top=e,this.bottom=i,this.near=n,this.far=g,this.updateProjectionMatrix()}copy(A,t){return super.copy(A,t),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this}setViewOffset(A,t,e,i,n,g){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=A,this.view.fullHeight=t,this.view.offsetX=e,this.view.offsetY=i,this.view.width=n,this.view.height=g,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const A=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),e=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let n=e-A,g=e+A,o=i+t,s=i-t;if(null!==this.view&&this.view.enabled){const A=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;n+=A*this.view.offsetX,g=n+A*this.view.width,o-=t*this.view.offsetY,s=o-t*this.view.height}this.projectionMatrix.makeOrthographic(n,g,o,s,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(A){const t=super.toJSON(A);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const gn=[.125,.215,.35,.446,.526,.582],on=new nn,sn=new Je;let an=null,rn=0,Bn=0;const In=(1+Math.sqrt(5))/2,Qn=1/In,En=[new wt(1,1,1),new wt(-1,1,1),new wt(1,1,-1),new wt(-1,1,-1),new wt(0,In,Qn),new wt(0,In,-Qn),new wt(Qn,0,In),new wt(-Qn,0,In),new wt(In,Qn,0),new wt(-In,Qn,0)];class Cn{constructor(A){this._renderer=A,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(A,t=0,e=.1,i=100){an=this._renderer.getRenderTarget(),rn=this._renderer.getActiveCubeFace(),Bn=this._renderer.getActiveMipmapLevel(),this._setSize(256);const n=this._allocateTargets();return n.depthBuffer=!0,this._sceneToCubeUV(A,e,i,n),t>0&&this._blur(n,0,0,t),this._applyPMREM(n),this._cleanup(n),n}fromEquirectangular(A,t=null){return this._fromTexture(A,t)}fromCubemap(A,t=null){return this._fromTexture(A,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=dn(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=hn(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(A){this._lodMax=Math.floor(Math.log2(A)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let A=0;AA-4?s=gn[o-A+4-1]:0===o&&(s=0),i.push(s);const a=1/(g-2),r=-a,B=1+a,I=[r,r,B,r,B,B,r,r,B,B,r,B],Q=6,E=6,C=3,c=2,l=1,h=new Float32Array(C*E*Q),d=new Float32Array(c*E*Q),u=new Float32Array(l*E*Q);for(let A=0;A2?0:-1,i=[t,e,0,t+2/3,e,0,t+2/3,e+1,0,t,e,0,t+2/3,e+1,0,t,e+1,0];h.set(i,C*E*A),d.set(I,c*E*A);const n=[A,A,A,A,A,A];u.set(n,l*E*A)}const p=new gi;p.setAttribute("position",new Pe(h,C)),p.setAttribute("uv",new Pe(d,c)),p.setAttribute("faceIndex",new Pe(u,l)),t.push(p),n>4&&n--}return{lodPlanes:t,sizeLods:e,sigmas:i}}(i)),this._blurMaterial=function(A,t,e){const i=new Float32Array(20),n=new wt(0,1,0);return new Si({name:"SphericalGaussianBlur",defines:{n:20,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/e,CUBEUV_MAX_MIP:`${A}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}(i,A,t)}return i}_compileMaterial(A){const t=new wi(this._lodPlanes[0],A);this._renderer.compile(t,on)}_sceneToCubeUV(A,t,e,i){const n=new bi(90,1,t,e),g=[1,-1,1,1,1,1],o=[1,1,1,-1,-1,-1],s=this._renderer,a=s.autoClear,r=s.toneMapping;s.getClearColor(sn),s.toneMapping=x,s.autoClear=!1;const B=new Ke({name:"PMREM.Background",side:1,depthWrite:!1,depthTest:!1}),I=new wi(new yi,B);let Q=!1;const E=A.background;E?E.isColor&&(B.color.copy(E),A.background=null,Q=!0):(B.color.copy(sn),Q=!0);for(let t=0;t<6;t++){const e=t%3;0===e?(n.up.set(0,g[t],0),n.lookAt(o[t],0,0)):1===e?(n.up.set(0,0,g[t]),n.lookAt(0,o[t],0)):(n.up.set(0,g[t],0),n.lookAt(0,0,o[t]));const a=this._cubeSize;ln(i,e*a,t>2?a:0,a,a),s.setRenderTarget(i),Q&&s.render(I,n),s.render(A,n)}I.geometry.dispose(),I.material.dispose(),s.toneMapping=r,s.autoClear=a,A.background=E}_textureToCubeUV(A,t){const e=this._renderer,i=A.mapping===T||A.mapping===J;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=dn()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===A.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=hn());const n=i?this._cubemapMaterial:this._equirectMaterial,g=new wi(this._lodPlanes[0],n);n.uniforms.envMap.value=A;const o=this._cubeSize;ln(t,0,0,3*o,2*o),e.setRenderTarget(t),e.render(g,on)}_applyPMREM(A){const t=this._renderer,e=t.autoClear;t.autoClear=!1;for(let t=1;t20&&console.warn(`sigmaRadians, ${n}, is too large and will clip, as it requested ${C} samples when the maximum is set to 20`);const c=[];let l=0;for(let A=0;A<20;++A){const t=A/E,e=Math.exp(-t*t/2);c.push(e),0===A?l+=e:Ah-4?i-h+4:0),4*(this._cubeSize-d),3*d,2*d),s.setRenderTarget(t),s.render(r,on)}}function cn(A,t,e){const i=new ut(A,t,e);return i.texture.mapping=_,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function ln(A,t,e,i,n){A.viewport.set(t,e,i,n),A.scissor.set(t,e,i,n)}function hn(){return new Si({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\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",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function dn(){return new Si({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\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",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 un(A){let t=new WeakMap,e=null;function i(A){const e=A.target;e.removeEventListener("dispose",i);const n=t.get(e);void 0!==n&&(t.delete(e),n.dispose())}return{get:function(n){if(n&&n.isTexture){const g=n.mapping,o=303===g||304===g,s=g===T||g===J;if(o||s){if(n.isRenderTargetTexture&&!0===n.needsPMREMUpdate){n.needsPMREMUpdate=!1;let i=t.get(n);return null===e&&(e=new Cn(A)),i=o?e.fromEquirectangular(n,i):e.fromCubemap(n,i),t.set(n,i),i.texture}if(t.has(n))return t.get(n).texture;{const g=n.image;if(o&&g&&g.height>0||s&&g&&function(A){let t=0;for(let e=0;e<6;e++)void 0!==A[e]&&t++;return 6===t}(g)){null===e&&(e=new Cn(A));const g=o?e.fromEquirectangular(n):e.fromCubemap(n);return t.set(n,g),n.addEventListener("dispose",i),g.texture}return null}}}return n},dispose:function(){t=new WeakMap,null!==e&&(e.dispose(),e=null)}}}function pn(A){const t={};function e(e){if(void 0!==t[e])return t[e];let i;switch(e){case"WEBGL_depth_texture":i=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=A.getExtension(e)}return t[e]=i,i}return{has:function(A){return null!==e(A)},init:function(A){A.isWebGL2?(e("EXT_color_buffer_float"),e("WEBGL_clip_cull_distance")):(e("WEBGL_depth_texture"),e("OES_texture_float"),e("OES_texture_half_float"),e("OES_texture_half_float_linear"),e("OES_standard_derivatives"),e("OES_element_index_uint"),e("OES_vertex_array_object"),e("ANGLE_instanced_arrays")),e("OES_texture_float_linear"),e("EXT_color_buffer_half_float"),e("WEBGL_multisampled_render_to_texture")},get:function(A){const t=e(A);return null===t&&console.warn("THREE.WebGLRenderer: "+A+" extension not supported."),t}}}function fn(A,t,e,i){const n={},g=new WeakMap;function o(A){const s=A.target;null!==s.index&&t.remove(s.index);for(const A in s.attributes)t.remove(s.attributes[A]);for(const A in s.morphAttributes){const e=s.morphAttributes[A];for(let A=0,i=e.length;At.maxTextureSize&&(y=Math.ceil(D/t.maxTextureSize),D=t.maxTextureSize);const R=new Float32Array(D*y*4*E),F=new pt(R,D,y,E);F.type=tA,F.needsUpdate=!0;const M=4*w;for(let S=0;S0)return A;const n=t*e;let g=Nn[n];if(void 0===g&&(g=new Float32Array(n),Nn[n]=g),0!==t){i.toArray(g,0);for(let i=1,n=0;i!==t;++i)n+=e,A[i].toArray(g,n)}return g}function Tn(A,t){if(A.length!==t.length)return!1;for(let e=0,i=A.length;e":" "} ${n}: ${e[A]}`)}return i.join("\n")}(A.getShaderSource(t),i)}return n}function vg(A,t){const e=function(A){const t=st.getPrimaries(st.workingColorSpace),e=st.getPrimaries(A);let i;switch(t===e?i="":t===DA&&e===wA?i="LinearDisplayP3ToLinearSRGB":t===wA&&e===DA&&(i="LinearSRGBToLinearDisplayP3"),A){case dA:case pA:return[i,"LinearTransferOETF"];case hA:case uA:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",A),[i,"LinearTransferOETF"]}}(t);return`vec4 ${A}( vec4 value ) { return ${e[0]}( ${e[1]}( value ) ); }`}function Yg(A,t){let e;switch(t){case N:e="Linear";break;case H:e="Reinhard";break;case L:e="OptimizedCineon";break;case k:e="ACESFilmic";break;case Y:e="AgX";break;case v:e="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),e="Linear"}return"vec3 "+A+"( vec3 color ) { return "+e+"ToneMapping( color ); }"}function Tg(A){return""!==A}function Jg(A,t){const e=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return A.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,e).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function _g(A,t){return A.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Vg=/^[ \t]*#include +<([\w\d./]+)>/gm;function Wg(A){return A.replace(Vg,Zg)}const Kg=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Zg(A,t){let e=Xi[t];if(void 0===e){const A=Kg.get(t);if(void 0===A)throw new Error("Can not resolve #include <"+t+">");e=Xi[A],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',t,A)}return Wg(e)}const Xg=/#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 Pg(A){return A.replace(Xg,Og)}function Og(A,t,e,i){let n="";for(let A=parseInt(t);A0&&(p+="\n"),f=[l,"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,d].filter(Tg).join("\n"),f.length>0&&(f+="\n")):(p=[zg(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,d,e.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",e.batching?"#define USE_BATCHING":"",e.instancing?"#define USE_INSTANCING":"",e.instancingColor?"#define USE_INSTANCING_COLOR":"",e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+E:"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.displacementMap?"#define USE_DISPLACEMENTMAP":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.mapUv?"#define MAP_UV "+e.mapUv:"",e.alphaMapUv?"#define ALPHAMAP_UV "+e.alphaMapUv:"",e.lightMapUv?"#define LIGHTMAP_UV "+e.lightMapUv:"",e.aoMapUv?"#define AOMAP_UV "+e.aoMapUv:"",e.emissiveMapUv?"#define EMISSIVEMAP_UV "+e.emissiveMapUv:"",e.bumpMapUv?"#define BUMPMAP_UV "+e.bumpMapUv:"",e.normalMapUv?"#define NORMALMAP_UV "+e.normalMapUv:"",e.displacementMapUv?"#define DISPLACEMENTMAP_UV "+e.displacementMapUv:"",e.metalnessMapUv?"#define METALNESSMAP_UV "+e.metalnessMapUv:"",e.roughnessMapUv?"#define ROUGHNESSMAP_UV "+e.roughnessMapUv:"",e.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+e.anisotropyMapUv:"",e.clearcoatMapUv?"#define CLEARCOATMAP_UV "+e.clearcoatMapUv:"",e.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+e.clearcoatNormalMapUv:"",e.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+e.clearcoatRoughnessMapUv:"",e.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+e.iridescenceMapUv:"",e.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+e.iridescenceThicknessMapUv:"",e.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+e.sheenColorMapUv:"",e.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+e.sheenRoughnessMapUv:"",e.specularMapUv?"#define SPECULARMAP_UV "+e.specularMapUv:"",e.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+e.specularColorMapUv:"",e.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+e.specularIntensityMapUv:"",e.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+e.transmissionMapUv:"",e.thicknessMapUv?"#define THICKNESSMAP_UV "+e.thicknessMapUv:"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.flatShading?"#define FLAT_SHADED":"",e.skinning?"#define USE_SKINNING":"",e.morphTargets?"#define USE_MORPHTARGETS":"",e.morphNormals&&!1===e.flatShading?"#define USE_MORPHNORMALS":"",e.morphColors&&e.isWebGL2?"#define USE_MORPHCOLORS":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+e.morphTextureStride:"",e.morphTargetsCount>0&&e.isWebGL2?"#define MORPHTARGETS_COUNT "+e.morphTargetsCount:"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+I:"",e.sizeAttenuation?"#define USE_SIZEATTENUATION":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.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_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#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(Tg).join("\n"),f=[l,zg(e),"#define SHADER_TYPE "+e.shaderType,"#define SHADER_NAME "+e.shaderName,d,e.useFog&&e.fog?"#define USE_FOG":"",e.useFog&&e.fogExp2?"#define FOG_EXP2":"",e.map?"#define USE_MAP":"",e.matcap?"#define USE_MATCAP":"",e.envMap?"#define USE_ENVMAP":"",e.envMap?"#define "+Q:"",e.envMap?"#define "+E:"",e.envMap?"#define "+C:"",c?"#define CUBEUV_TEXEL_WIDTH "+c.texelWidth:"",c?"#define CUBEUV_TEXEL_HEIGHT "+c.texelHeight:"",c?"#define CUBEUV_MAX_MIP "+c.maxMip+".0":"",e.lightMap?"#define USE_LIGHTMAP":"",e.aoMap?"#define USE_AOMAP":"",e.bumpMap?"#define USE_BUMPMAP":"",e.normalMap?"#define USE_NORMALMAP":"",e.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",e.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",e.emissiveMap?"#define USE_EMISSIVEMAP":"",e.anisotropy?"#define USE_ANISOTROPY":"",e.anisotropyMap?"#define USE_ANISOTROPYMAP":"",e.clearcoat?"#define USE_CLEARCOAT":"",e.clearcoatMap?"#define USE_CLEARCOATMAP":"",e.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",e.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",e.iridescence?"#define USE_IRIDESCENCE":"",e.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",e.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",e.specularMap?"#define USE_SPECULARMAP":"",e.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",e.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",e.roughnessMap?"#define USE_ROUGHNESSMAP":"",e.metalnessMap?"#define USE_METALNESSMAP":"",e.alphaMap?"#define USE_ALPHAMAP":"",e.alphaTest?"#define USE_ALPHATEST":"",e.alphaHash?"#define USE_ALPHAHASH":"",e.sheen?"#define USE_SHEEN":"",e.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",e.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",e.transmission?"#define USE_TRANSMISSION":"",e.transmissionMap?"#define USE_TRANSMISSIONMAP":"",e.thicknessMap?"#define USE_THICKNESSMAP":"",e.vertexTangents&&!1===e.flatShading?"#define USE_TANGENT":"",e.vertexColors||e.instancingColor?"#define USE_COLOR":"",e.vertexAlphas?"#define USE_COLOR_ALPHA":"",e.vertexUv1s?"#define USE_UV1":"",e.vertexUv2s?"#define USE_UV2":"",e.vertexUv3s?"#define USE_UV3":"",e.pointsUvs?"#define USE_POINTS_UV":"",e.gradientMap?"#define USE_GRADIENTMAP":"",e.flatShading?"#define FLAT_SHADED":"",e.doubleSided?"#define DOUBLE_SIDED":"",e.flipSided?"#define FLIP_SIDED":"",e.shadowMapEnabled?"#define USE_SHADOWMAP":"",e.shadowMapEnabled?"#define "+I:"",e.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",e.numLightProbes>0?"#define USE_LIGHT_PROBES":"",e.useLegacyLights?"#define LEGACY_LIGHTS":"",e.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",e.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",e.logarithmicDepthBuffer&&e.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",e.toneMapping!==x?"#define TONE_MAPPING":"",e.toneMapping!==x?Xi.tonemapping_pars_fragment:"",e.toneMapping!==x?Yg("toneMapping",e.toneMapping):"",e.dithering?"#define DITHERING":"",e.opaque?"#define OPAQUE":"",Xi.colorspace_pars_fragment,vg("linearToOutputTexel",e.outputColorSpace),e.useDepthPacking?"#define DEPTH_PACKING "+e.depthPacking:"","\n"].filter(Tg).join("\n")),r=Wg(r),r=Jg(r,e),r=_g(r,e),B=Wg(B),B=Jg(B,e),B=_g(B,e),r=Pg(r),B=Pg(B),e.isWebGL2&&!0!==e.isRawShaderMaterial&&(m="#version 300 es\n",p=[h,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+p,f=["precision mediump sampler2DArray;","#define varying in",e.glslVersion===NA?"":"layout(location = 0) out highp vec4 pc_fragColor;",e.glslVersion===NA?"":"#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"+f);const w=m+p+r,D=m+f+B,y=Ng(n,n.VERTEX_SHADER,w),R=Ng(n,n.FRAGMENT_SHADER,D);function F(t){if(A.debug.checkShaderErrors){const e=n.getProgramInfoLog(u).trim(),i=n.getShaderInfoLog(y).trim(),g=n.getShaderInfoLog(R).trim();let o=!0,s=!0;if(!1===n.getProgramParameter(u,n.LINK_STATUS))if(o=!1,"function"==typeof A.debug.onShaderError)A.debug.onShaderError(n,u,y,R);else{const A=kg(n,y,"vertex"),t=kg(n,R,"fragment");console.error("THREE.WebGLProgram: Shader Error "+n.getError()+" - VALIDATE_STATUS "+n.getProgramParameter(u,n.VALIDATE_STATUS)+"\n\nProgram Info Log: "+e+"\n"+A+"\n"+t)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==i&&""!==g||(s=!1);s&&(t.diagnostics={runnable:o,programLog:e,vertexShader:{log:i,prefix:p},fragmentShader:{log:g,prefix:f}})}n.deleteShader(y),n.deleteShader(R),M=new xg(n,u),G=function(A,t){const e={},i=A.getProgramParameter(t,A.ACTIVE_ATTRIBUTES);for(let n=0;n0,P=g.clearcoat>0,O=g.iridescence>0,z=g.sheen>0,q=g.transmission>0,j=X&&!!g.anisotropyMap,$=P&&!!g.clearcoatMap,AA=P&&!!g.clearcoatNormalMap,tA=P&&!!g.clearcoatRoughnessMap,eA=O&&!!g.iridescenceMap,iA=O&&!!g.iridescenceThicknessMap,nA=z&&!!g.sheenColorMap,gA=z&&!!g.sheenRoughnessMap,oA=!!g.specularMap,sA=!!g.specularColorMap,aA=!!g.specularIntensityMap,rA=q&&!!g.transmissionMap,BA=q&&!!g.thicknessMap,IA=!!g.gradientMap,QA=!!g.alphaMap,EA=g.alphaTest>0,CA=!!g.alphaHash,cA=!!g.extensions,lA=!!u.attributes.uv1,hA=!!u.attributes.uv2,uA=!!u.attributes.uv3;let pA=x;return g.toneMapped&&(null!==U&&!0!==U.isXRRenderTarget||(pA=A.toneMapping)),{isWebGL2:B,shaderID:w,shaderType:g.type,shaderName:g.name,vertexShader:R,fragmentShader:F,defines:g.defines,customVertexShaderID:M,customFragmentShaderID:G,isRawShaderMaterial:!0===g.isRawShaderMaterial,glslVersion:g.glslVersion,precision:E,batching:N,instancing:b,instancingColor:b&&null!==h.instanceColor,supportsVertexTextures:Q,outputColorSpace:null===U?A.outputColorSpace:!0===U.isXRRenderTarget?U.texture.colorSpace:dA,map:H,matcap:L,envMap:k,envMapMode:k&&f.mapping,envMapCubeUVHeight:m,aoMap:v,lightMap:Y,bumpMap:T,normalMap:J,displacementMap:Q&&V,emissiveMap:W,normalMapObjectSpace:J&&1===g.normalMapType,normalMapTangentSpace:J&&0===g.normalMapType,metalnessMap:K,roughnessMap:Z,anisotropy:X,anisotropyMap:j,clearcoat:P,clearcoatMap:$,clearcoatNormalMap:AA,clearcoatRoughnessMap:tA,iridescence:O,iridescenceMap:eA,iridescenceThicknessMap:iA,sheen:z,sheenColorMap:nA,sheenRoughnessMap:gA,specularMap:oA,specularColorMap:sA,specularIntensityMap:aA,transmission:q,transmissionMap:rA,thicknessMap:BA,gradientMap:IA,opaque:!1===g.transparent&&1===g.blending,alphaMap:QA,alphaTest:EA,alphaHash:CA,combine:g.combine,mapUv:H&&c(g.map.channel),aoMapUv:v&&c(g.aoMap.channel),lightMapUv:Y&&c(g.lightMap.channel),bumpMapUv:T&&c(g.bumpMap.channel),normalMapUv:J&&c(g.normalMap.channel),displacementMapUv:V&&c(g.displacementMap.channel),emissiveMapUv:W&&c(g.emissiveMap.channel),metalnessMapUv:K&&c(g.metalnessMap.channel),roughnessMapUv:Z&&c(g.roughnessMap.channel),anisotropyMapUv:j&&c(g.anisotropyMap.channel),clearcoatMapUv:$&&c(g.clearcoatMap.channel),clearcoatNormalMapUv:AA&&c(g.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:tA&&c(g.clearcoatRoughnessMap.channel),iridescenceMapUv:eA&&c(g.iridescenceMap.channel),iridescenceThicknessMapUv:iA&&c(g.iridescenceThicknessMap.channel),sheenColorMapUv:nA&&c(g.sheenColorMap.channel),sheenRoughnessMapUv:gA&&c(g.sheenRoughnessMap.channel),specularMapUv:oA&&c(g.specularMap.channel),specularColorMapUv:sA&&c(g.specularColorMap.channel),specularIntensityMapUv:aA&&c(g.specularIntensityMap.channel),transmissionMapUv:rA&&c(g.transmissionMap.channel),thicknessMapUv:BA&&c(g.thicknessMap.channel),alphaMapUv:QA&&c(g.alphaMap.channel),vertexTangents:!!u.attributes.tangent&&(J||X),vertexColors:g.vertexColors,vertexAlphas:!0===g.vertexColors&&!!u.attributes.color&&4===u.attributes.color.itemSize,vertexUv1s:lA,vertexUv2s:hA,vertexUv3s:uA,pointsUvs:!0===h.isPoints&&!!u.attributes.uv&&(H||QA),fog:!!d,useFog:!0===g.fog,fogExp2:d&&d.isFogExp2,flatShading:!0===g.flatShading,sizeAttenuation:!0===g.sizeAttenuation,logarithmicDepthBuffer:I,skinning:!0===h.isSkinnedMesh,morphTargets:void 0!==u.morphAttributes.position,morphNormals:void 0!==u.morphAttributes.normal,morphColors:void 0!==u.morphAttributes.color,morphTargetsCount:y,morphTextureStride:S,numDirLights:s.directional.length,numPointLights:s.point.length,numSpotLights:s.spot.length,numSpotLightMaps:s.spotLightMap.length,numRectAreaLights:s.rectArea.length,numHemiLights:s.hemi.length,numDirLightShadows:s.directionalShadowMap.length,numPointLightShadows:s.pointShadowMap.length,numSpotLightShadows:s.spotShadowMap.length,numSpotLightShadowsWithMaps:s.numSpotLightShadowsWithMaps,numLightProbes:s.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:g.dithering,shadowMapEnabled:A.shadowMap.enabled&&r.length>0,shadowMapType:A.shadowMap.type,toneMapping:pA,useLegacyLights:A._useLegacyLights,decodeVideoTexture:H&&!0===g.map.isVideoTexture&&st.getTransfer(g.map.colorSpace)===mA,premultipliedAlpha:g.premultipliedAlpha,doubleSided:2===g.side,flipSided:1===g.side,useDepthPacking:g.depthPacking>=0,depthPacking:g.depthPacking||0,index0AttributeName:g.index0AttributeName,extensionDerivatives:cA&&!0===g.extensions.derivatives,extensionFragDepth:cA&&!0===g.extensions.fragDepth,extensionDrawBuffers:cA&&!0===g.extensions.drawBuffers,extensionShaderTextureLOD:cA&&!0===g.extensions.shaderTextureLOD,extensionClipCullDistance:cA&&g.extensions.clipCullDistance&&i.has("WEBGL_clip_cull_distance"),rendererExtensionFragDepth:B||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:B||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:B||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:g.customProgramCacheKey()}},getProgramCacheKey:function(t){const e=[];if(t.shaderID?e.push(t.shaderID):(e.push(t.customVertexShaderID),e.push(t.customFragmentShaderID)),void 0!==t.defines)for(const A in t.defines)e.push(A),e.push(t.defines[A]);return!1===t.isRawShaderMaterial&&(function(A,t){A.push(t.precision),A.push(t.outputColorSpace),A.push(t.envMapMode),A.push(t.envMapCubeUVHeight),A.push(t.mapUv),A.push(t.alphaMapUv),A.push(t.lightMapUv),A.push(t.aoMapUv),A.push(t.bumpMapUv),A.push(t.normalMapUv),A.push(t.displacementMapUv),A.push(t.emissiveMapUv),A.push(t.metalnessMapUv),A.push(t.roughnessMapUv),A.push(t.anisotropyMapUv),A.push(t.clearcoatMapUv),A.push(t.clearcoatNormalMapUv),A.push(t.clearcoatRoughnessMapUv),A.push(t.iridescenceMapUv),A.push(t.iridescenceThicknessMapUv),A.push(t.sheenColorMapUv),A.push(t.sheenRoughnessMapUv),A.push(t.specularMapUv),A.push(t.specularColorMapUv),A.push(t.specularIntensityMapUv),A.push(t.transmissionMapUv),A.push(t.thicknessMapUv),A.push(t.combine),A.push(t.fogExp2),A.push(t.sizeAttenuation),A.push(t.morphTargetsCount),A.push(t.morphAttributeCount),A.push(t.numDirLights),A.push(t.numPointLights),A.push(t.numSpotLights),A.push(t.numSpotLightMaps),A.push(t.numHemiLights),A.push(t.numRectAreaLights),A.push(t.numDirLightShadows),A.push(t.numPointLightShadows),A.push(t.numSpotLightShadows),A.push(t.numSpotLightShadowsWithMaps),A.push(t.numLightProbes),A.push(t.shadowMapType),A.push(t.toneMapping),A.push(t.numClippingPlanes),A.push(t.numClipIntersection),A.push(t.depthPacking)}(e,t),function(A,t){s.disableAll(),t.isWebGL2&&s.enable(0),t.supportsVertexTextures&&s.enable(1),t.instancing&&s.enable(2),t.instancingColor&&s.enable(3),t.matcap&&s.enable(4),t.envMap&&s.enable(5),t.normalMapObjectSpace&&s.enable(6),t.normalMapTangentSpace&&s.enable(7),t.clearcoat&&s.enable(8),t.iridescence&&s.enable(9),t.alphaTest&&s.enable(10),t.vertexColors&&s.enable(11),t.vertexAlphas&&s.enable(12),t.vertexUv1s&&s.enable(13),t.vertexUv2s&&s.enable(14),t.vertexUv3s&&s.enable(15),t.vertexTangents&&s.enable(16),t.anisotropy&&s.enable(17),t.alphaHash&&s.enable(18),t.batching&&s.enable(19),A.push(s.mask),s.disableAll(),t.fog&&s.enable(0),t.useFog&&s.enable(1),t.flatShading&&s.enable(2),t.logarithmicDepthBuffer&&s.enable(3),t.skinning&&s.enable(4),t.morphTargets&&s.enable(5),t.morphNormals&&s.enable(6),t.morphColors&&s.enable(7),t.premultipliedAlpha&&s.enable(8),t.shadowMapEnabled&&s.enable(9),t.useLegacyLights&&s.enable(10),t.doubleSided&&s.enable(11),t.flipSided&&s.enable(12),t.useDepthPacking&&s.enable(13),t.dithering&&s.enable(14),t.transmission&&s.enable(15),t.sheen&&s.enable(16),t.opaque&&s.enable(17),t.pointsUvs&&s.enable(18),t.decodeVideoTexture&&s.enable(19),A.push(s.mask)}(e,t),e.push(A.outputColorSpace)),e.push(t.customProgramCacheKey),e.join()},getUniforms:function(A){const t=C[A.type];let e;if(t){const A=Oi[t];e=Gi.clone(A.uniforms)}else e=A.uniforms;return e},acquireProgram:function(t,e){let i;for(let A=0,t=r.length;A0?i.push(B):!0===o.transparent?n.push(B):e.push(B)},unshift:function(A,t,o,s,a,r){const B=g(A,t,o,s,a,r);o.transmission>0?i.unshift(B):!0===o.transparent?n.unshift(B):e.unshift(B)},finish:function(){for(let e=t,i=A.length;e1&&e.sort(A||io),i.length>1&&i.sort(t||no),n.length>1&&n.sort(t||no)}}}function oo(){let A=new WeakMap;return{get:function(t,e){const i=A.get(t);let n;return void 0===i?(n=new go,A.set(t,[n])):e>=i.length?(n=new go,i.push(n)):n=i[e],n},dispose:function(){A=new WeakMap}}}function so(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":e={direction:new wt,color:new Je};break;case"SpotLight":e={position:new wt,direction:new wt,color:new Je,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":e={position:new wt,color:new Je,distance:0,decay:0};break;case"HemisphereLight":e={direction:new wt,skyColor:new Je,groundColor:new Je};break;case"RectAreaLight":e={color:new Je,position:new wt,halfWidth:new wt,halfHeight:new wt}}return A[t.id]=e,e}}}let ao=0;function ro(A,t){return(t.castShadow?2:0)-(A.castShadow?2:0)+(t.map?1:0)-(A.map?1:0)}function Bo(A,t){const e=new so,i=function(){const A={};return{get:function(t){if(void 0!==A[t.id])return A[t.id];let e;switch(t.type){case"DirectionalLight":case"SpotLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new OA};break;case"PointLight":e={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new OA,shadowCameraNear:1,shadowCameraFar:1e3}}return A[t.id]=e,e}}}(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let A=0;A<9;A++)n.probe.push(new wt);const g=new wt,o=new $t,s=new $t;return{setup:function(g,o){let s=0,a=0,r=0;for(let A=0;A<9;A++)n.probe[A].set(0,0,0);let B=0,I=0,Q=0,E=0,C=0,c=0,l=0,h=0,d=0,u=0,p=0;g.sort(ro);const f=!0===o?Math.PI:1;for(let A=0,t=g.length;A0&&(t.isWebGL2?!0===A.has("OES_texture_float_linear")?(n.rectAreaLTC1=Pi.LTC_FLOAT_1,n.rectAreaLTC2=Pi.LTC_FLOAT_2):(n.rectAreaLTC1=Pi.LTC_HALF_1,n.rectAreaLTC2=Pi.LTC_HALF_2):!0===A.has("OES_texture_float_linear")?(n.rectAreaLTC1=Pi.LTC_FLOAT_1,n.rectAreaLTC2=Pi.LTC_FLOAT_2):!0===A.has("OES_texture_half_float_linear")?(n.rectAreaLTC1=Pi.LTC_HALF_1,n.rectAreaLTC2=Pi.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),n.ambient[0]=s,n.ambient[1]=a,n.ambient[2]=r;const m=n.hash;m.directionalLength===B&&m.pointLength===I&&m.spotLength===Q&&m.rectAreaLength===E&&m.hemiLength===C&&m.numDirectionalShadows===c&&m.numPointShadows===l&&m.numSpotShadows===h&&m.numSpotMaps===d&&m.numLightProbes===p||(n.directional.length=B,n.spot.length=Q,n.rectArea.length=E,n.point.length=I,n.hemi.length=C,n.directionalShadow.length=c,n.directionalShadowMap.length=c,n.pointShadow.length=l,n.pointShadowMap.length=l,n.spotShadow.length=h,n.spotShadowMap.length=h,n.directionalShadowMatrix.length=c,n.pointShadowMatrix.length=l,n.spotLightMatrix.length=h+d-u,n.spotLightMap.length=d,n.numSpotLightShadowsWithMaps=u,n.numLightProbes=p,m.directionalLength=B,m.pointLength=I,m.spotLength=Q,m.rectAreaLength=E,m.hemiLength=C,m.numDirectionalShadows=c,m.numPointShadows=l,m.numSpotShadows=h,m.numSpotMaps=d,m.numLightProbes=p,n.version=ao++)},setupView:function(A,t){let e=0,i=0,a=0,r=0,B=0;const I=t.matrixWorldInverse;for(let t=0,Q=A.length;t=g.length?(o=new Io(A,t),g.push(o)):o=g[n],o},dispose:function(){e=new WeakMap}}}class Eo extends We{constructor(A){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(A)}copy(A){return super.copy(A),this.depthPacking=A.depthPacking,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this}}class Co extends We{constructor(A){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(A)}copy(A){return super.copy(A),this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this}}function co(A,t,e){let i=new Vi;const n=new OA,g=new OA,s=new ht,Q=new Eo({depthPacking:3201}),E=new Co,C={},c=e.maxTextureSize,l={[r]:1,[B]:0,[I]:2},h=new Si({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new OA},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),d=h.clone();d.defines.HORIZONTAL_PASS=1;const u=new gi;u.setAttribute("position",new Pe(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const p=new wi(u,h),f=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=o;let m=this.type;function w(e,i){const g=t.update(p);h.defines.VSM_SAMPLES!==e.blurSamples&&(h.defines.VSM_SAMPLES=e.blurSamples,d.defines.VSM_SAMPLES=e.blurSamples,h.needsUpdate=!0,d.needsUpdate=!0),null===e.mapPass&&(e.mapPass=new ut(n.x,n.y)),h.uniforms.shadow_pass.value=e.map.texture,h.uniforms.resolution.value=e.mapSize,h.uniforms.radius.value=e.radius,A.setRenderTarget(e.mapPass),A.clear(),A.renderBufferDirect(i,null,g,h,p,null),d.uniforms.shadow_pass.value=e.mapPass.texture,d.uniforms.resolution.value=e.mapSize,d.uniforms.radius.value=e.radius,A.setRenderTarget(e.map),A.clear(),A.renderBufferDirect(i,null,g,d,p,null)}function D(t,e,i,n){let g=null;const o=!0===i.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==o)g=o;else if(g=!0===i.isPointLight?E:Q,A.localClippingEnabled&&!0===e.clipShadows&&Array.isArray(e.clippingPlanes)&&0!==e.clippingPlanes.length||e.displacementMap&&0!==e.displacementScale||e.alphaMap&&e.alphaTest>0||e.map&&e.alphaTest>0){const A=g.uuid,t=e.uuid;let i=C[A];void 0===i&&(i={},C[A]=i);let n=i[t];void 0===n&&(n=g.clone(),i[t]=n,e.addEventListener("dispose",R)),g=n}return g.visible=e.visible,g.wireframe=e.wireframe,g.side=n===a?null!==e.shadowSide?e.shadowSide:e.side:null!==e.shadowSide?e.shadowSide:l[e.side],g.alphaMap=e.alphaMap,g.alphaTest=e.alphaTest,g.map=e.map,g.clipShadows=e.clipShadows,g.clippingPlanes=e.clippingPlanes,g.clipIntersection=e.clipIntersection,g.displacementMap=e.displacementMap,g.displacementScale=e.displacementScale,g.displacementBias=e.displacementBias,g.wireframeLinewidth=e.wireframeLinewidth,g.linewidth=e.linewidth,!0===i.isPointLight&&!0===g.isMeshDistanceMaterial&&(A.properties.get(g).light=i),g}function y(e,n,g,o,s){if(!1===e.visible)return;if(e.layers.test(n.layers)&&(e.isMesh||e.isLine||e.isPoints)&&(e.castShadow||e.receiveShadow&&s===a)&&(!e.frustumCulled||i.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(g.matrixWorldInverse,e.matrixWorld);const i=t.update(e),a=e.material;if(Array.isArray(a)){const t=i.groups;for(let r=0,B=t.length;rc||n.y>c)&&(n.x>c&&(g.x=Math.floor(c/l.x),n.x=g.x*l.x,I.mapSize.x=g.x),n.y>c&&(g.y=Math.floor(c/l.y),n.y=g.y*l.y,I.mapSize.y=g.y)),null===I.map||!0===E||!0===C){const A=this.type!==a?{minFilter:Z,magFilter:Z}:{};null!==I.map&&I.map.dispose(),I.map=new ut(n.x,n.y,A),I.map.texture.name=B.name+".shadowMap",I.camera.updateProjectionMatrix()}A.setRenderTarget(I.map),A.clear();const h=I.getViewportCount();for(let A=0;A=1):-1!==q.indexOf("OpenGL ES")&&(z=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),O=z>=2);let j=null,$={};const AA=A.getParameter(A.SCISSOR_BOX),tA=A.getParameter(A.VIEWPORT),eA=(new ht).fromArray(AA),iA=(new ht).fromArray(tA);function nA(t,e,n,g){const o=new Uint8Array(4),s=A.createTexture();A.bindTexture(t,s),A.texParameteri(t,A.TEXTURE_MIN_FILTER,A.NEAREST),A.texParameteri(t,A.TEXTURE_MAG_FILTER,A.NEAREST);for(let s=0;si||A.height>i)&&(n=i/Math.max(A.width,A.height)),n<1||!0===t){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){const i=t?ZA:Math.floor,g=i(n*A.width),o=i(n*A.height);void 0===I&&(I=C(g,o));const s=e?C(g,o):I;return s.width=g,s.height=o,s.getContext("2d").drawImage(A,0,0,g,o),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+A.width+"x"+A.height+") to ("+g+"x"+o+")."),s}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+A.width+"x"+A.height+")."),A}return A}function l(A){return KA(A.width)&&KA(A.height)}function h(A,t){return A.generateMipmaps&&t&&A.minFilter!==Z&&A.minFilter!==O}function d(t){A.generateMipmap(t)}function u(e,i,n,g,o=!1){if(!1===s)return i;if(null!==e){if(void 0!==A[e])return A[e];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+e+"'")}let a=i;if(i===A.RED&&(n===A.FLOAT&&(a=A.R32F),n===A.HALF_FLOAT&&(a=A.R16F),n===A.UNSIGNED_BYTE&&(a=A.R8)),i===A.RED_INTEGER&&(n===A.UNSIGNED_BYTE&&(a=A.R8UI),n===A.UNSIGNED_SHORT&&(a=A.R16UI),n===A.UNSIGNED_INT&&(a=A.R32UI),n===A.BYTE&&(a=A.R8I),n===A.SHORT&&(a=A.R16I),n===A.INT&&(a=A.R32I)),i===A.RG&&(n===A.FLOAT&&(a=A.RG32F),n===A.HALF_FLOAT&&(a=A.RG16F),n===A.UNSIGNED_BYTE&&(a=A.RG8)),i===A.RGBA){const t=o?fA:st.getTransfer(g);n===A.FLOAT&&(a=A.RGBA32F),n===A.HALF_FLOAT&&(a=A.RGBA16F),n===A.UNSIGNED_BYTE&&(a=t===mA?A.SRGB8_ALPHA8:A.RGBA8),n===A.UNSIGNED_SHORT_4_4_4_4&&(a=A.RGBA4),n===A.UNSIGNED_SHORT_5_5_5_1&&(a=A.RGB5_A1)}return a!==A.R16F&&a!==A.R32F&&a!==A.RG16F&&a!==A.RG32F&&a!==A.RGBA16F&&a!==A.RGBA32F||t.get("EXT_color_buffer_float"),a}function p(A,t,e){return!0===h(A,e)||A.isFramebufferTexture&&A.minFilter!==Z&&A.minFilter!==O?Math.log2(Math.max(t.width,t.height))+1:void 0!==A.mipmaps&&A.mipmaps.length>0?A.mipmaps.length:A.isCompressedTexture&&Array.isArray(A.image)?t.mipmaps.length:1}function f(t){return t===Z||1004===t||t===P?A.NEAREST:A.LINEAR}function m(A){const t=A.target;t.removeEventListener("dispose",m),function(A){const t=i.get(A);if(void 0===t.__webglInit)return;const e=A.source,n=Q.get(e);if(n){const i=n[t.__cacheKey];i.usedTimes--,0===i.usedTimes&&D(A),0===Object.keys(n).length&&Q.delete(e)}i.remove(A)}(t),t.isVideoTexture&&B.delete(t)}function w(t){const e=t.target;e.removeEventListener("dispose",w),function(t){const e=t.texture,n=i.get(t),g=i.get(e);if(void 0!==g.__webglTexture&&(A.deleteTexture(g.__webglTexture),o.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){if(Array.isArray(n.__webglFramebuffer[t]))for(let e=0;e0&&g.__version!==t.version){const A=t.image;if(null===A)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==A.complete)return void b(g,t,n);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}e.bindTexture(A.TEXTURE_2D,g.__webglTexture,A.TEXTURE0+n)}const F={[V]:A.REPEAT,[W]:A.CLAMP_TO_EDGE,[K]:A.MIRRORED_REPEAT},M={[Z]:A.NEAREST,[X]:A.NEAREST_MIPMAP_NEAREST,[P]:A.NEAREST_MIPMAP_LINEAR,[O]:A.LINEAR,[z]:A.LINEAR_MIPMAP_NEAREST,[q]:A.LINEAR_MIPMAP_LINEAR},G={[RA]:A.NEVER,[xA]:A.ALWAYS,[FA]:A.LESS,[GA]:A.LEQUAL,[MA]:A.EQUAL,[bA]:A.GEQUAL,[SA]:A.GREATER,[UA]:A.NOTEQUAL};function S(e,g,o){if(o?(A.texParameteri(e,A.TEXTURE_WRAP_S,F[g.wrapS]),A.texParameteri(e,A.TEXTURE_WRAP_T,F[g.wrapT]),e!==A.TEXTURE_3D&&e!==A.TEXTURE_2D_ARRAY||A.texParameteri(e,A.TEXTURE_WRAP_R,F[g.wrapR]),A.texParameteri(e,A.TEXTURE_MAG_FILTER,M[g.magFilter]),A.texParameteri(e,A.TEXTURE_MIN_FILTER,M[g.minFilter])):(A.texParameteri(e,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(e,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),e!==A.TEXTURE_3D&&e!==A.TEXTURE_2D_ARRAY||A.texParameteri(e,A.TEXTURE_WRAP_R,A.CLAMP_TO_EDGE),g.wrapS===W&&g.wrapT===W||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),A.texParameteri(e,A.TEXTURE_MAG_FILTER,f(g.magFilter)),A.texParameteri(e,A.TEXTURE_MIN_FILTER,f(g.minFilter)),g.minFilter!==Z&&g.minFilter!==O&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),g.compareFunction&&(A.texParameteri(e,A.TEXTURE_COMPARE_MODE,A.COMPARE_REF_TO_TEXTURE),A.texParameteri(e,A.TEXTURE_COMPARE_FUNC,G[g.compareFunction])),!0===t.has("EXT_texture_filter_anisotropic")){const o=t.get("EXT_texture_filter_anisotropic");if(g.magFilter===Z)return;if(g.minFilter!==P&&g.minFilter!==q)return;if(g.type===tA&&!1===t.has("OES_texture_float_linear"))return;if(!1===s&&g.type===eA&&!1===t.has("OES_texture_half_float_linear"))return;(g.anisotropy>1||i.get(g).__currentAnisotropy)&&(A.texParameterf(e,o.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(g.anisotropy,n.getMaxAnisotropy())),i.get(g).__currentAnisotropy=g.anisotropy)}}function U(t,e){let i=!1;void 0===t.__webglInit&&(t.__webglInit=!0,e.addEventListener("dispose",m));const n=e.source;let g=Q.get(n);void 0===g&&(g={},Q.set(n,g));const s=function(A){const t=[];return t.push(A.wrapS),t.push(A.wrapT),t.push(A.wrapR||0),t.push(A.magFilter),t.push(A.minFilter),t.push(A.anisotropy),t.push(A.internalFormat),t.push(A.format),t.push(A.type),t.push(A.generateMipmaps),t.push(A.premultiplyAlpha),t.push(A.flipY),t.push(A.unpackAlignment),t.push(A.colorSpace),t.join()}(e);if(s!==t.__cacheKey){void 0===g[s]&&(g[s]={texture:A.createTexture(),usedTimes:0},o.memory.textures++,i=!0),g[s].usedTimes++;const n=g[t.__cacheKey];void 0!==n&&(g[t.__cacheKey].usedTimes--,0===n.usedTimes&&D(e)),t.__cacheKey=s,t.__webglTexture=g[s].texture}return i}function b(t,o,a){let r=A.TEXTURE_2D;(o.isDataArrayTexture||o.isCompressedArrayTexture)&&(r=A.TEXTURE_2D_ARRAY),o.isData3DTexture&&(r=A.TEXTURE_3D);const B=U(t,o),I=o.source;e.bindTexture(r,t.__webglTexture,A.TEXTURE0+a);const Q=i.get(I);if(I.version!==Q.__version||!0===B){e.activeTexture(A.TEXTURE0+a);const t=st.getPrimaries(st.workingColorSpace),i=o.colorSpace===lA?null:st.getPrimaries(o.colorSpace),E=o.colorSpace===lA||t===i?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,o.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,o.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,E);const C=function(A){return!s&&(A.wrapS!==W||A.wrapT!==W||A.minFilter!==Z&&A.minFilter!==O)}(o)&&!1===l(o.image);let f=c(o.image,C,!1,n.maxTextureSize);f=v(o,f);const m=l(f)||s,w=g.convert(o.format,o.colorSpace);let D,y=g.convert(o.type),R=u(o.internalFormat,w,y,o.colorSpace,o.isVideoTexture);S(r,o,m);const F=o.mipmaps,M=s&&!0!==o.isVideoTexture&&36196!==R,G=void 0===Q.__version||!0===B,U=p(o,f,m);if(o.isDepthTexture)R=A.DEPTH_COMPONENT,s?R=o.type===tA?A.DEPTH_COMPONENT32F:o.type===AA?A.DEPTH_COMPONENT24:o.type===iA?A.DEPTH24_STENCIL8:A.DEPTH_COMPONENT16:o.type===tA&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),o.format===gA&&R===A.DEPTH_COMPONENT&&o.type!==$&&o.type!==AA&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),o.type=AA,y=g.convert(o.type)),o.format===oA&&R===A.DEPTH_COMPONENT&&(R=A.DEPTH_STENCIL,o.type!==iA&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),o.type=iA,y=g.convert(o.type))),G&&(M?e.texStorage2D(A.TEXTURE_2D,1,R,f.width,f.height):e.texImage2D(A.TEXTURE_2D,0,R,f.width,f.height,0,w,y,null));else if(o.isDataTexture)if(F.length>0&&m){M&&G&&e.texStorage2D(A.TEXTURE_2D,U,R,F[0].width,F[0].height);for(let t=0,i=F.length;t>=1,i>>=1}}else if(F.length>0&&m){M&&G&&e.texStorage2D(A.TEXTURE_2D,U,R,F[0].width,F[0].height);for(let t=0,i=F.length;t>B),i=Math.max(1,n.height>>B);r===A.TEXTURE_3D||r===A.TEXTURE_2D_ARRAY?e.texImage3D(r,B,E,t,i,n.depth,0,I,Q,null):e.texImage2D(r,B,E,t,i,0,I,Q,null)}e.bindFramebuffer(A.FRAMEBUFFER,t),k(n)?a.framebufferTexture2DMultisampleEXT(A.FRAMEBUFFER,s,r,i.get(o).__webglTexture,0,L(n)):(r===A.TEXTURE_2D||r>=A.TEXTURE_CUBE_MAP_POSITIVE_X&&r<=A.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&A.framebufferTexture2D(A.FRAMEBUFFER,s,r,i.get(o).__webglTexture,B),e.bindFramebuffer(A.FRAMEBUFFER,null)}function N(t,e,i){if(A.bindRenderbuffer(A.RENDERBUFFER,t),e.depthBuffer&&!e.stencilBuffer){let n=!0===s?A.DEPTH_COMPONENT24:A.DEPTH_COMPONENT16;if(i||k(e)){const t=e.depthTexture;t&&t.isDepthTexture&&(t.type===tA?n=A.DEPTH_COMPONENT32F:t.type===AA&&(n=A.DEPTH_COMPONENT24));const i=L(e);k(e)?a.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,i,n,e.width,e.height):A.renderbufferStorageMultisample(A.RENDERBUFFER,i,n,e.width,e.height)}else A.renderbufferStorage(A.RENDERBUFFER,n,e.width,e.height);A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_ATTACHMENT,A.RENDERBUFFER,t)}else if(e.depthBuffer&&e.stencilBuffer){const n=L(e);i&&!1===k(e)?A.renderbufferStorageMultisample(A.RENDERBUFFER,n,A.DEPTH24_STENCIL8,e.width,e.height):k(e)?a.renderbufferStorageMultisampleEXT(A.RENDERBUFFER,n,A.DEPTH24_STENCIL8,e.width,e.height):A.renderbufferStorage(A.RENDERBUFFER,A.DEPTH_STENCIL,e.width,e.height),A.framebufferRenderbuffer(A.FRAMEBUFFER,A.DEPTH_STENCIL_ATTACHMENT,A.RENDERBUFFER,t)}else{const t=!0===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let n=0;n0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==e.__useRenderToTexture}function v(A,e){const i=A.colorSpace,n=A.format,g=A.type;return!0===A.isCompressedTexture||!0===A.isVideoTexture||A.format===HA||i!==dA&&i!==lA&&(st.getTransfer(i)===mA?!1===s?!0===t.has("EXT_sRGB")&&n===nA?(A.format=HA,A.minFilter=O,A.generateMipmaps=!1):e=It.sRGBToLinear(e):n===nA&&g===j||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",i)),e}this.allocateTextureUnit=function(){const A=y;return A>=n.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+n.maxTextures),y+=1,A},this.resetTextureUnits=function(){y=0},this.setTexture2D=R,this.setTexture2DArray=function(t,n){const g=i.get(t);t.version>0&&g.__version!==t.version?b(g,t,n):e.bindTexture(A.TEXTURE_2D_ARRAY,g.__webglTexture,A.TEXTURE0+n)},this.setTexture3D=function(t,n){const g=i.get(t);t.version>0&&g.__version!==t.version?b(g,t,n):e.bindTexture(A.TEXTURE_3D,g.__webglTexture,A.TEXTURE0+n)},this.setTextureCube=function(t,o){const a=i.get(t);t.version>0&&a.__version!==t.version?function(t,o,a){if(6!==o.image.length)return;const r=U(t,o),B=o.source;e.bindTexture(A.TEXTURE_CUBE_MAP,t.__webglTexture,A.TEXTURE0+a);const I=i.get(B);if(B.version!==I.__version||!0===r){e.activeTexture(A.TEXTURE0+a);const t=st.getPrimaries(st.workingColorSpace),i=o.colorSpace===lA?null:st.getPrimaries(o.colorSpace),Q=o.colorSpace===lA||t===i?A.NONE:A.BROWSER_DEFAULT_WEBGL;A.pixelStorei(A.UNPACK_FLIP_Y_WEBGL,o.flipY),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o.premultiplyAlpha),A.pixelStorei(A.UNPACK_ALIGNMENT,o.unpackAlignment),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,Q);const E=o.isCompressedTexture||o.image[0].isCompressedTexture,C=o.image[0]&&o.image[0].isDataTexture,f=[];for(let A=0;A<6;A++)f[A]=E||C?C?o.image[A].image:o.image[A]:c(o.image[A],!1,!0,n.maxCubemapSize),f[A]=v(o,f[A]);const m=f[0],w=l(m)||s,D=g.convert(o.format,o.colorSpace),y=g.convert(o.type),R=u(o.internalFormat,D,y,o.colorSpace),F=s&&!0!==o.isVideoTexture,M=void 0===I.__version||!0===r;let G,U=p(o,m,w);if(S(A.TEXTURE_CUBE_MAP,o,w),E){F&&M&&e.texStorage2D(A.TEXTURE_CUBE_MAP,U,R,m.width,m.height);for(let t=0;t<6;t++){G=f[t].mipmaps;for(let i=0;i0&&U++,e.texStorage2D(A.TEXTURE_CUBE_MAP,U,R,f[0].width,f[0].height));for(let t=0;t<6;t++)if(C){F?e.texSubImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,0,0,f[t].width,f[t].height,D,y,f[t].data):e.texImage2D(A.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,R,f[t].width,f[t].height,0,D,y,f[t].data);for(let i=0;i0){r.__webglFramebuffer[t]=[];for(let e=0;e0){r.__webglFramebuffer=[];for(let t=0;t0&&!1===k(t)){const i=Q?a:[a];r.__webglMultisampledFramebuffer=A.createFramebuffer(),r.__webglColorRenderbuffer=[],e.bindFramebuffer(A.FRAMEBUFFER,r.__webglMultisampledFramebuffer);for(let e=0;e0)for(let i=0;i0)for(let e=0;e0&&!1===k(t)){const n=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],g=t.width,o=t.height;let s=A.COLOR_BUFFER_BIT;const a=[],B=t.stencilBuffer?A.DEPTH_STENCIL_ATTACHMENT:A.DEPTH_ATTACHMENT,I=i.get(t),Q=!0===t.isWebGLMultipleRenderTargets;if(Q)for(let t=0;ts+r?(a.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:A.handedness,target:this})):!a.inputState.pinching&&o<=s-r&&(a.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:A.handedness,target:this}))}else null!==s&&A.gripSpace&&(n=t.getPose(A.gripSpace,e),null!==n&&(s.matrix.fromArray(n.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,n.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(n.linearVelocity)):s.hasLinearVelocity=!1,n.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(n.angularVelocity)):s.hasAngularVelocity=!1));null!==o&&(i=t.getPose(A.targetRaySpace,e),null===i&&null!==n&&(i=n),null!==i&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(mo)))}return null!==o&&(o.visible=null!==i),null!==s&&(s.visible=null!==n),null!==a&&(a.visible=null!==g),this}_getHandJoint(A,t){if(void 0===A.joints[t.jointName]){const e=new fo;e.matrixAutoUpdate=!1,e.visible=!1,A.joints[t.jointName]=e,A.add(e)}return A.joints[t.jointName]}}class Do extends vA{constructor(A,t){super();const e=this;let i=null,n=1,g=null,o="local-floor",s=1,a=null,r=null,B=null,I=null,Q=null,E=null;const C=t.getContextAttributes();let c=null,l=null;const h=[],d=[],u=new OA;let p=null;const f=new bi;f.layers.enable(1),f.viewport=new ht;const m=new bi;m.layers.enable(2),m.viewport=new ht;const w=[f,m],D=new po;D.layers.enable(1),D.layers.enable(2);let y=null,R=null;function F(A){const t=d.indexOf(A.inputSource);if(-1===t)return;const e=h[t];void 0!==e&&(e.update(A.inputSource,A.frame,a||g),e.dispatchEvent({type:A.type,data:A.inputSource}))}function M(){i.removeEventListener("select",F),i.removeEventListener("selectstart",F),i.removeEventListener("selectend",F),i.removeEventListener("squeeze",F),i.removeEventListener("squeezestart",F),i.removeEventListener("squeezeend",F),i.removeEventListener("end",M),i.removeEventListener("inputsourceschange",G);for(let A=0;A=0&&(d[i]=null,h[i].disconnect(e))}for(let t=0;t=d.length){d.push(e),i=A;break}if(null===d[A]){d[A]=e,i=A;break}}if(-1===i)break}const n=h[i];n&&n.connect(e)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(A){let t=h[A];return void 0===t&&(t=new wo,h[A]=t),t.getTargetRaySpace()},this.getControllerGrip=function(A){let t=h[A];return void 0===t&&(t=new wo,h[A]=t),t.getGripSpace()},this.getHand=function(A){let t=h[A];return void 0===t&&(t=new wo,h[A]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(A){n=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(A){o=A,!0===e.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a||g},this.setReferenceSpace=function(A){a=A},this.getBaseLayer=function(){return null!==I?I:Q},this.getBinding=function(){return B},this.getFrame=function(){return E},this.getSession=function(){return i},this.setSession=async function(r){if(i=r,null!==i){if(c=A.getRenderTarget(),i.addEventListener("select",F),i.addEventListener("selectstart",F),i.addEventListener("selectend",F),i.addEventListener("squeeze",F),i.addEventListener("squeezestart",F),i.addEventListener("squeezeend",F),i.addEventListener("end",M),i.addEventListener("inputsourceschange",G),!0!==C.xrCompatible&&await t.makeXRCompatible(),p=A.getPixelRatio(),A.getSize(u),void 0===i.renderState.layers||!1===A.capabilities.isWebGL2){const e={antialias:void 0!==i.renderState.layers||C.antialias,alpha:!0,depth:C.depth,stencil:C.stencil,framebufferScaleFactor:n};Q=new XRWebGLLayer(i,t,e),i.updateRenderState({baseLayer:Q}),A.setPixelRatio(1),A.setSize(Q.framebufferWidth,Q.framebufferHeight,!1),l=new ut(Q.framebufferWidth,Q.framebufferHeight,{format:nA,type:j,colorSpace:A.outputColorSpace,stencilBuffer:C.stencil})}else{let e=null,g=null,o=null;C.depth&&(o=C.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,e=C.stencil?oA:gA,g=C.stencil?iA:AA);const s={colorFormat:t.RGBA8,depthFormat:o,scaleFactor:n};B=new XRWebGLBinding(i,t),I=B.createProjectionLayer(s),i.updateRenderState({layers:[I]}),A.setPixelRatio(1),A.setSize(I.textureWidth,I.textureHeight,!1),l=new ut(I.textureWidth,I.textureHeight,{format:nA,type:j,depthTexture:new Mn(I.textureWidth,I.textureHeight,g,void 0,void 0,void 0,void 0,void 0,void 0,e),stencilBuffer:C.stencil,colorSpace:A.outputColorSpace,samples:C.antialias?4:0}),A.properties.get(l).__ignoreDepthValues=I.ignoreDepthValues}l.isXRRenderTarget=!0,this.setFoveation(s),a=null,g=await i.requestReferenceSpace(o),N.setContext(i),N.start(),e.isPresenting=!0,e.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==i)return i.environmentBlendMode};const S=new wt,U=new wt;function b(A,t){null===t?A.matrixWorld.copy(A.matrix):A.matrixWorld.multiplyMatrices(t.matrixWorld,A.matrix),A.matrixWorldInverse.copy(A.matrixWorld).invert()}this.updateCamera=function(A){if(null===i)return;D.near=m.near=f.near=A.near,D.far=m.far=f.far=A.far,y===D.near&&R===D.far||(i.updateRenderState({depthNear:D.near,depthFar:D.far}),y=D.near,R=D.far);const t=A.parent,e=D.cameras;b(D,t);for(let A=0;A0&&(i.alphaTest.value=n.alphaTest);const g=t.get(n).envMap;if(g&&(i.envMap.value=g,i.flipEnvMap.value=g.isCubeTexture&&!1===g.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 t=!0===A._useLegacyLights?Math.PI:1;i.lightMapIntensity.value=n.lightMapIntensity*t,e(n.lightMap,i.lightMapTransform)}n.aoMap&&(i.aoMap.value=n.aoMap,i.aoMapIntensity.value=n.aoMapIntensity,e(n.aoMap,i.aoMapTransform))}return{refreshFogUniforms:function(t,e){e.color.getRGB(t.fogColor.value,Mi(A)),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(A,n,g,o,s){n.isMeshBasicMaterial||n.isMeshLambertMaterial?i(A,n):n.isMeshToonMaterial?(i(A,n),function(A,t){t.gradientMap&&(A.gradientMap.value=t.gradientMap)}(A,n)):n.isMeshPhongMaterial?(i(A,n),function(A,t){A.specular.value.copy(t.specular),A.shininess.value=Math.max(t.shininess,1e-4)}(A,n)):n.isMeshStandardMaterial?(i(A,n),function(A,i){A.metalness.value=i.metalness,i.metalnessMap&&(A.metalnessMap.value=i.metalnessMap,e(i.metalnessMap,A.metalnessMapTransform)),A.roughness.value=i.roughness,i.roughnessMap&&(A.roughnessMap.value=i.roughnessMap,e(i.roughnessMap,A.roughnessMapTransform));t.get(i).envMap&&(A.envMapIntensity.value=i.envMapIntensity)}(A,n),n.isMeshPhysicalMaterial&&function(A,t,i){A.ior.value=t.ior,t.sheen>0&&(A.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),A.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(A.sheenColorMap.value=t.sheenColorMap,e(t.sheenColorMap,A.sheenColorMapTransform)),t.sheenRoughnessMap&&(A.sheenRoughnessMap.value=t.sheenRoughnessMap,e(t.sheenRoughnessMap,A.sheenRoughnessMapTransform))),t.clearcoat>0&&(A.clearcoat.value=t.clearcoat,A.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(A.clearcoatMap.value=t.clearcoatMap,e(t.clearcoatMap,A.clearcoatMapTransform)),t.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap,e(t.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),t.clearcoatNormalMap&&(A.clearcoatNormalMap.value=t.clearcoatNormalMap,e(t.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),1===t.side&&A.clearcoatNormalScale.value.negate())),t.iridescence>0&&(A.iridescence.value=t.iridescence,A.iridescenceIOR.value=t.iridescenceIOR,A.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(A.iridescenceMap.value=t.iridescenceMap,e(t.iridescenceMap,A.iridescenceMapTransform)),t.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=t.iridescenceThicknessMap,e(t.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),t.transmission>0&&(A.transmission.value=t.transmission,A.transmissionSamplerMap.value=i.texture,A.transmissionSamplerSize.value.set(i.width,i.height),t.transmissionMap&&(A.transmissionMap.value=t.transmissionMap,e(t.transmissionMap,A.transmissionMapTransform)),A.thickness.value=t.thickness,t.thicknessMap&&(A.thicknessMap.value=t.thicknessMap,e(t.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=t.attenuationDistance,A.attenuationColor.value.copy(t.attenuationColor)),t.anisotropy>0&&(A.anisotropyVector.value.set(t.anisotropy*Math.cos(t.anisotropyRotation),t.anisotropy*Math.sin(t.anisotropyRotation)),t.anisotropyMap&&(A.anisotropyMap.value=t.anisotropyMap,e(t.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=t.specularIntensity,A.specularColor.value.copy(t.specularColor),t.specularColorMap&&(A.specularColorMap.value=t.specularColorMap,e(t.specularColorMap,A.specularColorMapTransform)),t.specularIntensityMap&&(A.specularIntensityMap.value=t.specularIntensityMap,e(t.specularIntensityMap,A.specularIntensityMapTransform))}(A,n,s)):n.isMeshMatcapMaterial?(i(A,n),function(A,t){t.matcap&&(A.matcap.value=t.matcap)}(A,n)):n.isMeshDepthMaterial?i(A,n):n.isMeshDistanceMaterial?(i(A,n),function(A,e){const i=t.get(e).light;A.referencePosition.value.setFromMatrixPosition(i.matrixWorld),A.nearDistance.value=i.shadow.camera.near,A.farDistance.value=i.shadow.camera.far}(A,n)):n.isMeshNormalMaterial?i(A,n):n.isLineBasicMaterial?(function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform))}(A,n),n.isLineDashedMaterial&&function(A,t){A.dashSize.value=t.dashSize,A.totalSize.value=t.dashSize+t.gapSize,A.scale.value=t.scale}(A,n)):n.isPointsMaterial?function(A,t,i,n){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.size.value=t.size*i,A.scale.value=.5*n,t.map&&(A.map.value=t.map,e(t.map,A.uvTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,n,g,o):n.isSpriteMaterial?function(A,t){A.diffuse.value.copy(t.color),A.opacity.value=t.opacity,A.rotation.value=t.rotation,t.map&&(A.map.value=t.map,e(t.map,A.mapTransform)),t.alphaMap&&(A.alphaMap.value=t.alphaMap,e(t.alphaMap,A.alphaMapTransform)),t.alphaTest>0&&(A.alphaTest.value=t.alphaTest)}(A,n):n.isShadowMaterial?(A.color.value.copy(n.color),A.opacity.value=n.opacity):n.isShaderMaterial&&(n.uniformsNeedUpdate=!1)}}}function Ro(A,t,e,i){let n={},g={},o=[];const s=e.isWebGL2?A.getParameter(A.MAX_UNIFORM_BUFFER_BINDINGS):0;function a(A,t,e,i){const n=A.value,g=t+"_"+e;if(void 0===i[g])return i[g]="number"==typeof n||"boolean"==typeof n?n:n.clone(),!0;{const A=i[g];if("number"==typeof n||"boolean"==typeof n){if(A!==n)return i[g]=n,!0}else if(!1===A.equals(n))return A.copy(n),!0}return!1}function r(A){const t={boundary:0,storage:0};return"number"==typeof A||"boolean"==typeof A?(t.boundary=4,t.storage=4):A.isVector2?(t.boundary=8,t.storage=8):A.isVector3||A.isColor?(t.boundary=16,t.storage=12):A.isVector4?(t.boundary=16,t.storage=16):A.isMatrix3?(t.boundary=48,t.storage=48):A.isMatrix4?(t.boundary=64,t.storage=64):A.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",A),t}function B(t){const e=t.target;e.removeEventListener("dispose",B);const i=o.indexOf(e.__bindingPointIndex);o.splice(i,1),A.deleteBuffer(n[e.id]),delete n[e.id],delete g[e.id]}return{bind:function(A,t){const e=t.program;i.uniformBlockBinding(A,e)},update:function(e,I){let Q=n[e.id];void 0===Q&&(function(A){const t=A.uniforms;let e=0;for(let A=0,i=t.length;A0&&(e+=16-i),A.__size=e,A.__cache={}}(e),Q=function(t){const e=function(){for(let A=0;A0),I=!!e.morphAttributes.position,Q=!!e.morphAttributes.normal,E=!!e.morphAttributes.color;let C=x;i.toneMapped&&(null!==w&&!0!==w.isXRRenderTarget||(C=u.toneMapping));const c=e.morphAttributes.position||e.morphAttributes.normal||e.morphAttributes.color,h=void 0!==c?c.length:0,d=sA.get(i),p=l.state.lights;if(!0===J&&(!0===_||A!==y)){const t=A===y&&i.id===D;pA.setState(i,A,t)}let f=!1;i.version===d.__version?d.needsLights&&d.lightsStateVersion!==p.state.version||d.outputColorSpace!==s||n.isBatchedMesh&&!1===d.batching?f=!0:n.isBatchedMesh||!0!==d.batching?n.isInstancedMesh&&!1===d.instancing?f=!0:n.isInstancedMesh||!0!==d.instancing?n.isSkinnedMesh&&!1===d.skinning?f=!0:n.isSkinnedMesh||!0!==d.skinning?n.isInstancedMesh&&!0===d.instancingColor&&null===n.instanceColor||n.isInstancedMesh&&!1===d.instancingColor&&null!==n.instanceColor||d.envMap!==a||!0===i.fog&&d.fog!==g?f=!0:void 0===d.numClippingPlanes||d.numClippingPlanes===pA.numPlanes&&d.numIntersection===pA.numIntersection?(d.vertexAlphas!==r||d.vertexTangents!==B||d.morphTargets!==I||d.morphNormals!==Q||d.morphColors!==E||d.toneMapping!==C||!0===z.isWebGL2&&d.morphTargetsCount!==h)&&(f=!0):f=!0:f=!0:f=!0:f=!0:(f=!0,d.__version=i.version);let m=d.currentProgram;!0===f&&(m=XA(i,t,n));let R=!1,F=!1,M=!1;const G=m.getUniforms(),S=d.uniforms;if(gA.useProgram(m.program)&&(R=!0,F=!0,M=!0),i.id!==D&&(D=i.id,F=!0),R||y!==A){G.setValue(GA,"projectionMatrix",A.projectionMatrix),G.setValue(GA,"viewMatrix",A.matrixWorldInverse);const t=G.map.cameraPosition;void 0!==t&&t.setValue(GA,Z.setFromMatrixPosition(A.matrixWorld)),z.logarithmicDepthBuffer&&G.setValue(GA,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&G.setValue(GA,"isOrthographic",!0===A.isOrthographicCamera),y!==A&&(y=A,F=!0,M=!0)}if(n.isSkinnedMesh){G.setOptional(GA,n,"bindMatrix"),G.setOptional(GA,n,"bindMatrixInverse");const A=n.skeleton;A&&(z.floatVertexTextures?(null===A.boneTexture&&A.computeBoneTexture(),G.setValue(GA,"boneTexture",A.boneTexture,aA)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}n.isBatchedMesh&&(G.setOptional(GA,n,"batchingTexture"),G.setValue(GA,"batchingTexture",n._matricesTexture,aA));const U=e.morphAttributes;var H,L;if((void 0!==U.position||void 0!==U.normal||void 0!==U.color&&!0===z.isWebGL2)&&wA.update(n,e,m),(F||d.receiveShadow!==n.receiveShadow)&&(d.receiveShadow=n.receiveShadow,G.setValue(GA,"receiveShadow",n.receiveShadow)),i.isMeshGouraudMaterial&&null!==i.envMap&&(S.envMap.value=a,S.flipEnvMap.value=a.isCubeTexture&&!1===a.isRenderTargetTexture?-1:1),F&&(G.setValue(GA,"toneMappingExposure",u.toneMappingExposure),d.needsLights&&(L=M,(H=S).ambientLightColor.needsUpdate=L,H.lightProbe.needsUpdate=L,H.directionalLights.needsUpdate=L,H.directionalLightShadows.needsUpdate=L,H.pointLights.needsUpdate=L,H.pointLightShadows.needsUpdate=L,H.spotLights.needsUpdate=L,H.spotLightShadows.needsUpdate=L,H.rectAreaLights.needsUpdate=L,H.hemisphereLights.needsUpdate=L),g&&!0===i.fog&&cA.refreshFogUniforms(S,g),cA.refreshMaterialUniforms(S,i,N,b,V),xg.upload(GA,PA(d),S,aA)),i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(xg.upload(GA,PA(d),S,aA),i.uniformsNeedUpdate=!1),i.isSpriteMaterial&&G.setValue(GA,"center",n.center),G.setValue(GA,"modelViewMatrix",n.modelViewMatrix),G.setValue(GA,"normalMatrix",n.normalMatrix),G.setValue(GA,"modelMatrix",n.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const A=i.uniformsGroups;for(let t=0,e=A.length;t{function e(){i.forEach((function(A){sA.get(A).currentProgram.isReady()&&i.delete(A)})),0!==i.size?setTimeout(e,10):t(A)}null!==O.get("KHR_parallel_shader_compile")?e():setTimeout(e,10)}))};let vA=null;function YA(){JA.stop()}function TA(){JA.start()}const JA=new Wi;function _A(A,t,e,i){if(!1===A.visible)return;if(A.layers.test(t.layers))if(A.isGroup)e=A.renderOrder;else if(A.isLOD)!0===A.autoUpdate&&A.update(t);else if(A.isLight)l.pushLight(A),A.castShadow&&l.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||T.intersectsSprite(A)){i&&Z.setFromMatrixPosition(A.matrixWorld).applyMatrix4(W);const t=EA.update(A),n=A.material;n.visible&&c.push(A,t,n,e,Z.z,null)}}else if((A.isMesh||A.isLine||A.isPoints)&&(!A.frustumCulled||T.intersectsObject(A))){const t=EA.update(A),n=A.material;if(i&&(void 0!==A.boundingSphere?(null===A.boundingSphere&&A.computeBoundingSphere(),Z.copy(A.boundingSphere.center)):(null===t.boundingSphere&&t.computeBoundingSphere(),Z.copy(t.boundingSphere.center)),Z.applyMatrix4(A.matrixWorld).applyMatrix4(W)),Array.isArray(n)){const i=t.groups;for(let g=0,o=i.length;g0&&function(A,t,e,i){if(null!==(!0===e.isScene?e.overrideMaterial:null))return;const n=z.isWebGL2;null===V&&(V=new ut(1,1,{generateMipmaps:!0,type:O.has("EXT_color_buffer_half_float")?eA:j,minFilter:q,samples:n?4:0})),u.getDrawingBufferSize(K),n?V.setSize(K.x,K.y):V.setSize(ZA(K.x),ZA(K.y));const g=u.getRenderTarget();u.setRenderTarget(V),u.getClearColor(G),S=u.getClearAlpha(),S<1&&u.setClearColor(16777215,.5),u.clear();const o=u.toneMapping;u.toneMapping=x,WA(A,e,i),aA.updateMultisampleRenderTarget(V),aA.updateRenderTargetMipmap(V);let s=!1;for(let A=0,n=t.length;A0&&WA(n,t,e),g.length>0&&WA(g,t,e),o.length>0&&WA(o,t,e),gA.buffers.depth.setTest(!0),gA.buffers.depth.setMask(!0),gA.buffers.color.setMask(!0),gA.setPolygonOffset(!1)}function WA(A,t,e){const i=!0===t.isScene?t.overrideMaterial:null;for(let n=0,g=A.length;n0?d[d.length-1]:null,h.pop(),c=h.length>0?h[h.length-1]:null},this.getActiveCubeFace=function(){return f},this.getActiveMipmapLevel=function(){return m},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(A,t,e){sA.get(A.texture).__webglTexture=t,sA.get(A.depthTexture).__webglTexture=e;const i=sA.get(A);i.__hasExternalTextures=!0,i.__hasExternalTextures&&(i.__autoAllocateDepthBuffer=void 0===e,i.__autoAllocateDepthBuffer||!0===O.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(A,t){const e=sA.get(A);e.__webglFramebuffer=t,e.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(A,t=0,e=0){w=A,f=t,m=e;let i=!0,n=null,g=!1,o=!1;if(A){const s=sA.get(A);void 0!==s.__useDefaultFramebuffer?(gA.bindFramebuffer(GA.FRAMEBUFFER,null),i=!1):void 0===s.__webglFramebuffer?aA.setupRenderTarget(A):s.__hasExternalTextures&&aA.rebindTextures(A,sA.get(A.texture).__webglTexture,sA.get(A.depthTexture).__webglTexture);const a=A.texture;(a.isData3DTexture||a.isDataArrayTexture||a.isCompressedArrayTexture)&&(o=!0);const r=sA.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(n=Array.isArray(r[t])?r[t][e]:r[t],g=!0):n=z.isWebGL2&&A.samples>0&&!1===aA.useMultisampledRTT(A)?sA.get(A).__webglMultisampledFramebuffer:Array.isArray(r)?r[e]:r,R.copy(A.viewport),F.copy(A.scissor),M=A.scissorTest}else R.copy(k).multiplyScalar(N).floor(),F.copy(v).multiplyScalar(N).floor(),M=Y;if(gA.bindFramebuffer(GA.FRAMEBUFFER,n)&&z.drawBuffers&&i&&gA.drawBuffers(A,n),gA.viewport(R),gA.scissor(F),gA.setScissorTest(M),g){const i=sA.get(A.texture);GA.framebufferTexture2D(GA.FRAMEBUFFER,GA.COLOR_ATTACHMENT0,GA.TEXTURE_CUBE_MAP_POSITIVE_X+t,i.__webglTexture,e)}else if(o){const i=sA.get(A.texture),n=t||0;GA.framebufferTextureLayer(GA.FRAMEBUFFER,GA.COLOR_ATTACHMENT0,i.__webglTexture,e||0,n)}D=-1},this.readRenderTargetPixels=function(A,t,e,i,n,g,o){if(!A||!A.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let s=sA.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&void 0!==o&&(s=s[o]),s){gA.bindFramebuffer(GA.FRAMEBUFFER,s);try{const o=A.texture,s=o.format,a=o.type;if(s!==nA&&RA.convert(s)!==GA.getParameter(GA.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const r=a===eA&&(O.has("EXT_color_buffer_half_float")||z.isWebGL2&&O.has("EXT_color_buffer_float"));if(!(a===j||RA.convert(a)===GA.getParameter(GA.IMPLEMENTATION_COLOR_READ_TYPE)||a===tA&&(z.isWebGL2||O.has("OES_texture_float")||O.has("WEBGL_color_buffer_float"))||r))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=A.width-i&&e>=0&&e<=A.height-n&&GA.readPixels(t,e,i,n,RA.convert(s),RA.convert(a),g)}finally{const A=null!==w?sA.get(w).__webglFramebuffer:null;gA.bindFramebuffer(GA.FRAMEBUFFER,A)}}},this.copyFramebufferToTexture=function(A,t,e=0){const i=Math.pow(2,-e),n=Math.floor(t.image.width*i),g=Math.floor(t.image.height*i);aA.setTexture2D(t,0),GA.copyTexSubImage2D(GA.TEXTURE_2D,e,0,0,A.x,A.y,n,g),gA.unbindTexture()},this.copyTextureToTexture=function(A,t,e,i=0){const n=t.image.width,g=t.image.height,o=RA.convert(e.format),s=RA.convert(e.type);aA.setTexture2D(e,0),GA.pixelStorei(GA.UNPACK_FLIP_Y_WEBGL,e.flipY),GA.pixelStorei(GA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.premultiplyAlpha),GA.pixelStorei(GA.UNPACK_ALIGNMENT,e.unpackAlignment),t.isDataTexture?GA.texSubImage2D(GA.TEXTURE_2D,i,A.x,A.y,n,g,o,s,t.image.data):t.isCompressedTexture?GA.compressedTexSubImage2D(GA.TEXTURE_2D,i,A.x,A.y,t.mipmaps[0].width,t.mipmaps[0].height,o,t.mipmaps[0].data):GA.texSubImage2D(GA.TEXTURE_2D,i,A.x,A.y,o,s,t.image),0===i&&e.generateMipmaps&&GA.generateMipmap(GA.TEXTURE_2D),gA.unbindTexture()},this.copyTextureToTexture3D=function(A,t,e,i,n=0){if(u.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const g=A.max.x-A.min.x+1,o=A.max.y-A.min.y+1,s=A.max.z-A.min.z+1,a=RA.convert(i.format),r=RA.convert(i.type);let B;if(i.isData3DTexture)aA.setTexture3D(i,0),B=GA.TEXTURE_3D;else{if(!i.isDataArrayTexture&&!i.isCompressedArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");aA.setTexture2DArray(i,0),B=GA.TEXTURE_2D_ARRAY}GA.pixelStorei(GA.UNPACK_FLIP_Y_WEBGL,i.flipY),GA.pixelStorei(GA.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),GA.pixelStorei(GA.UNPACK_ALIGNMENT,i.unpackAlignment);const I=GA.getParameter(GA.UNPACK_ROW_LENGTH),Q=GA.getParameter(GA.UNPACK_IMAGE_HEIGHT),E=GA.getParameter(GA.UNPACK_SKIP_PIXELS),C=GA.getParameter(GA.UNPACK_SKIP_ROWS),c=GA.getParameter(GA.UNPACK_SKIP_IMAGES),l=e.isCompressedTexture?e.mipmaps[n]:e.image;GA.pixelStorei(GA.UNPACK_ROW_LENGTH,l.width),GA.pixelStorei(GA.UNPACK_IMAGE_HEIGHT,l.height),GA.pixelStorei(GA.UNPACK_SKIP_PIXELS,A.min.x),GA.pixelStorei(GA.UNPACK_SKIP_ROWS,A.min.y),GA.pixelStorei(GA.UNPACK_SKIP_IMAGES,A.min.z),e.isDataTexture||e.isData3DTexture?GA.texSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,r,l.data):e.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),GA.compressedTexSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,l.data)):GA.texSubImage3D(B,n,t.x,t.y,t.z,g,o,s,a,r,l),GA.pixelStorei(GA.UNPACK_ROW_LENGTH,I),GA.pixelStorei(GA.UNPACK_IMAGE_HEIGHT,Q),GA.pixelStorei(GA.UNPACK_SKIP_PIXELS,E),GA.pixelStorei(GA.UNPACK_SKIP_ROWS,C),GA.pixelStorei(GA.UNPACK_SKIP_IMAGES,c),0===n&&i.generateMipmaps&&GA.generateMipmap(B),gA.unbindTexture()},this.initTexture=function(A){A.isCubeTexture?aA.setTextureCube(A,0):A.isData3DTexture?aA.setTexture3D(A,0):A.isDataArrayTexture||A.isCompressedArrayTexture?aA.setTexture2DArray(A,0):aA.setTexture2D(A,0),gA.unbindTexture()},this.resetState=function(){f=0,m=0,w=null,gA.reset(),FA.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return LA}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(A){this._outputColorSpace=A;const t=this.getContext();t.drawingBufferColorSpace=A===uA?"display-p3":"srgb",t.unpackColorSpace=st.workingColorSpace===pA?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===hA?cA:3e3}set outputEncoding(A){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=A===cA?hA:dA}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(A){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=A}}(class extends Fo{}).prototype.isWebGL1Renderer=!0;class Mo extends We{constructor(A){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Je(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.rotation=A.rotation,this.sizeAttenuation=A.sizeAttenuation,this.fog=A.fog,this}}class Go extends We{constructor(A){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new Je(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.linewidth=A.linewidth,this.linecap=A.linecap,this.linejoin=A.linejoin,this.fog=A.fog,this}}class So extends We{constructor(A){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new Je(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.size=A.size,this.sizeAttenuation=A.sizeAttenuation,this.fog=A.fog,this}}class Uo extends We{constructor(A){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new Je(0),this.transparent=!0,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.fog=A.fog,this}}class bo extends Si{constructor(A){super(A),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class xo extends We{constructor(A){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Je(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 Je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(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(A)}copy(A){return super.copy(A),this.defines={STANDARD:""},this.color.copy(A.color),this.roughness=A.roughness,this.metalness=A.metalness,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.roughnessMap=A.roughnessMap,this.metalnessMap=A.metalnessMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapIntensity=A.envMapIntensity,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class No extends xo{constructor(A){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new OA(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return VA(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(A){this.ior=(1+.4*A)/(1-.4*A)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new Je(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new Je(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new Je(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(A)}get anisotropy(){return this._anisotropy}set anisotropy(A){this._anisotropy>0!=A>0&&this.version++,this._anisotropy=A}get clearcoat(){return this._clearcoat}set clearcoat(A){this._clearcoat>0!=A>0&&this.version++,this._clearcoat=A}get iridescence(){return this._iridescence}set iridescence(A){this._iridescence>0!=A>0&&this.version++,this._iridescence=A}get sheen(){return this._sheen}set sheen(A){this._sheen>0!=A>0&&this.version++,this._sheen=A}get transmission(){return this._transmission}set transmission(A){this._transmission>0!=A>0&&this.version++,this._transmission=A}copy(A){return super.copy(A),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=A.anisotropy,this.anisotropyRotation=A.anisotropyRotation,this.anisotropyMap=A.anisotropyMap,this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.ior=A.ior,this.iridescence=A.iridescence,this.iridescenceMap=A.iridescenceMap,this.iridescenceIOR=A.iridescenceIOR,this.iridescenceThicknessRange=[...A.iridescenceThicknessRange],this.iridescenceThicknessMap=A.iridescenceThicknessMap,this.sheen=A.sheen,this.sheenColor.copy(A.sheenColor),this.sheenColorMap=A.sheenColorMap,this.sheenRoughness=A.sheenRoughness,this.sheenRoughnessMap=A.sheenRoughnessMap,this.transmission=A.transmission,this.transmissionMap=A.transmissionMap,this.thickness=A.thickness,this.thicknessMap=A.thicknessMap,this.attenuationDistance=A.attenuationDistance,this.attenuationColor.copy(A.attenuationColor),this.specularIntensity=A.specularIntensity,this.specularIntensityMap=A.specularIntensityMap,this.specularColor.copy(A.specularColor),this.specularColorMap=A.specularColorMap,this}}class Ho extends We{constructor(A){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Je(16777215),this.specular=new Je(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=S,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Lo extends We{constructor(A){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Je(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.fog=A.fog,this}}class ko extends We{constructor(A){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(A)}copy(A){return super.copy(A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.flatShading=A.flatShading,this}}class vo extends We{constructor(A){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Je(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Je(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=S,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(A)}copy(A){return super.copy(A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.flatShading=A.flatShading,this.fog=A.fog,this}}class Yo extends We{constructor(A){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Je(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new OA(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(A)}copy(A){return super.copy(A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.flatShading=A.flatShading,this.fog=A.fog,this}}class To extends Go{constructor(A){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}copy(A){return super.copy(A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this}}function Jo(A,t,e){return!A||!e&&A.constructor===t?A:"number"==typeof t.BYTES_PER_ELEMENT?new t(A):Array.prototype.slice.call(A)}class _o{constructor(A,t,e,i){this.parameterPositions=A,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new t.constructor(e),this.sampleValues=t,this.valueSize=e,this.settings=null,this.DefaultSettings_={}}evaluate(A){const t=this.parameterPositions;let e=this._cachedIndex,i=t[e],n=t[e-1];A:{t:{let g;e:{i:if(!(A=n)break A;{const o=t[1];A=n)break t}g=e,e=0}}for(;e>>1;At;)--g;if(++g,0!==n||g!==i){n>=g&&(g=Math.max(g,1),n=g-1);const A=this.getValueSize();this.times=e.slice(n,g),this.values=this.values.slice(n*A,g*A)}return this}validate(){let A=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);const e=this.times,i=this.values,n=e.length;0===n&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);let g=null;for(let t=0;t!==n;t++){const i=e[t];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,i),A=!1;break}if(null!==g&&g>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,i,g),A=!1;break}g=i}if(void 0!==i&&(o=i,ArrayBuffer.isView(o)&&!(o instanceof DataView)))for(let t=0,e=i.length;t!==e;++t){const e=i[t];if(isNaN(e)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,e),A=!1;break}}var o;return A}optimize(){const A=this.times.slice(),t=this.values.slice(),e=this.getValueSize(),i=this.getInterpolation()===CA,n=A.length-1;let g=1;for(let o=1;o0){A[g]=A[n];for(let A=n*e,i=g*e,o=0;o!==e;++o)t[i+o]=t[A+o];++g}return g!==A.length?(this.times=A.slice(0,g),this.values=t.slice(0,g*e)):(this.times=A,this.values=t),this}clone(){const A=this.times.slice(),t=this.values.slice(),e=new(0,this.constructor)(this.name,A,t);return e.createInterpolant=this.createInterpolant,e}}Zo.prototype.TimeBufferType=Float32Array,Zo.prototype.ValueBufferType=Float32Array,Zo.prototype.DefaultInterpolation=EA;class Xo extends Zo{}Xo.prototype.ValueTypeName="bool",Xo.prototype.ValueBufferType=Array,Xo.prototype.DefaultInterpolation=QA,Xo.prototype.InterpolantFactoryMethodLinear=void 0,Xo.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Zo{}).prototype.ValueTypeName="color";(class extends Zo{}).prototype.ValueTypeName="number";class Po extends _o{constructor(A,t,e,i){super(A,t,e,i)}interpolate_(A,t,e,i){const n=this.resultBuffer,g=this.sampleValues,o=this.valueSize,s=(e-t)/(i-t);let a=A*o;for(let A=a+o;a!==A;a+=4)mt.slerpFlat(n,0,g,a-o,g,a,s);return n}}class Oo extends Zo{InterpolantFactoryMethodLinear(A){return new Po(this.times,this.values,this.getValueSize(),A)}}Oo.prototype.ValueTypeName="quaternion",Oo.prototype.DefaultInterpolation=EA,Oo.prototype.InterpolantFactoryMethodSmooth=void 0;class zo extends Zo{}zo.prototype.ValueTypeName="string",zo.prototype.ValueBufferType=Array,zo.prototype.DefaultInterpolation=QA,zo.prototype.InterpolantFactoryMethodLinear=void 0,zo.prototype.InterpolantFactoryMethodSmooth=void 0;(class extends Zo{}).prototype.ValueTypeName="vector";const qo={enabled:!1,files:{},add:function(A,t){!1!==this.enabled&&(this.files[A]=t)},get:function(A){if(!1!==this.enabled)return this.files[A]},remove:function(A){delete this.files[A]},clear:function(){this.files={}}};class jo{constructor(A,t,e){const i=this;let n,g=!1,o=0,s=0;const a=[];this.onStart=void 0,this.onLoad=A,this.onProgress=t,this.onError=e,this.itemStart=function(A){s++,!1===g&&void 0!==i.onStart&&i.onStart(A,o,s),g=!0},this.itemEnd=function(A){o++,void 0!==i.onProgress&&i.onProgress(A,o,s),o===s&&(g=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(A){void 0!==i.onError&&i.onError(A)},this.resolveURL=function(A){return n?n(A):A},this.setURLModifier=function(A){return n=A,this},this.addHandler=function(A,t){return a.push(A,t),this},this.removeHandler=function(A){const t=a.indexOf(A);return-1!==t&&a.splice(t,2),this},this.getHandler=function(A){for(let t=0,e=a.length;t{t&&t(n),this.manager.itemEnd(A)}),0),n;if(void 0!==ts[A])return void ts[A].push({onLoad:t,onProgress:e,onError:i});ts[A]=[],ts[A].push({onLoad:t,onProgress:e,onError:i});const g=new Request(A,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),o=this.mimeType,s=this.responseType;fetch(g).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const e=ts[A],i=t.body.getReader(),n=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),g=n?parseInt(n):0,o=0!==g;let s=0;const a=new ReadableStream({start(A){!function t(){i.read().then((({done:i,value:n})=>{if(i)A.close();else{s+=n.byteLength;const i=new ProgressEvent("progress",{lengthComputable:o,loaded:s,total:g});for(let A=0,t=e.length;A{switch(s){case"arraybuffer":return A.arrayBuffer();case"blob":return A.blob();case"document":return A.text().then((A=>(new DOMParser).parseFromString(A,o)));case"json":return A.json();default:if(void 0===o)return A.text();{const t=/charset="?([^;"\s]*)"?/i.exec(o),e=t&&t[1]?t[1].toLowerCase():void 0,i=new TextDecoder(e);return A.arrayBuffer().then((A=>i.decode(A)))}}})).then((t=>{qo.add(A,t);const e=ts[A];delete ts[A];for(let A=0,i=e.length;A{const e=ts[A];if(void 0===e)throw this.manager.itemError(A),t;delete ts[A];for(let A=0,i=e.length;A{this.manager.itemEnd(A)})),this.manager.itemStart(A)}setResponseType(A){return this.responseType=A,this}setMimeType(A){return this.mimeType=A,this}}class ns extends As{constructor(A){super(A),this.textures={}}load(A,t,e,i){const n=this,g=new is(n.manager);g.setPath(n.path),g.setRequestHeader(n.requestHeader),g.setWithCredentials(n.withCredentials),g.load(A,(function(e){try{t(n.parse(JSON.parse(e)))}catch(t){i?i(t):console.error(t),n.manager.itemError(A)}}),e,i)}parse(A){const t=this.textures;function e(A){return void 0===t[A]&&console.warn("THREE.MaterialLoader: Undefined texture",A),t[A]}const i=ns.createMaterialFromType(A.type);if(void 0!==A.uuid&&(i.uuid=A.uuid),void 0!==A.name&&(i.name=A.name),void 0!==A.color&&void 0!==i.color&&i.color.setHex(A.color),void 0!==A.roughness&&(i.roughness=A.roughness),void 0!==A.metalness&&(i.metalness=A.metalness),void 0!==A.sheen&&(i.sheen=A.sheen),void 0!==A.sheenColor&&(i.sheenColor=(new Je).setHex(A.sheenColor)),void 0!==A.sheenRoughness&&(i.sheenRoughness=A.sheenRoughness),void 0!==A.emissive&&void 0!==i.emissive&&i.emissive.setHex(A.emissive),void 0!==A.specular&&void 0!==i.specular&&i.specular.setHex(A.specular),void 0!==A.specularIntensity&&(i.specularIntensity=A.specularIntensity),void 0!==A.specularColor&&void 0!==i.specularColor&&i.specularColor.setHex(A.specularColor),void 0!==A.shininess&&(i.shininess=A.shininess),void 0!==A.clearcoat&&(i.clearcoat=A.clearcoat),void 0!==A.clearcoatRoughness&&(i.clearcoatRoughness=A.clearcoatRoughness),void 0!==A.iridescence&&(i.iridescence=A.iridescence),void 0!==A.iridescenceIOR&&(i.iridescenceIOR=A.iridescenceIOR),void 0!==A.iridescenceThicknessRange&&(i.iridescenceThicknessRange=A.iridescenceThicknessRange),void 0!==A.transmission&&(i.transmission=A.transmission),void 0!==A.thickness&&(i.thickness=A.thickness),void 0!==A.attenuationDistance&&(i.attenuationDistance=A.attenuationDistance),void 0!==A.attenuationColor&&void 0!==i.attenuationColor&&i.attenuationColor.setHex(A.attenuationColor),void 0!==A.anisotropy&&(i.anisotropy=A.anisotropy),void 0!==A.anisotropyRotation&&(i.anisotropyRotation=A.anisotropyRotation),void 0!==A.fog&&(i.fog=A.fog),void 0!==A.flatShading&&(i.flatShading=A.flatShading),void 0!==A.blending&&(i.blending=A.blending),void 0!==A.combine&&(i.combine=A.combine),void 0!==A.side&&(i.side=A.side),void 0!==A.shadowSide&&(i.shadowSide=A.shadowSide),void 0!==A.opacity&&(i.opacity=A.opacity),void 0!==A.transparent&&(i.transparent=A.transparent),void 0!==A.alphaTest&&(i.alphaTest=A.alphaTest),void 0!==A.alphaHash&&(i.alphaHash=A.alphaHash),void 0!==A.depthFunc&&(i.depthFunc=A.depthFunc),void 0!==A.depthTest&&(i.depthTest=A.depthTest),void 0!==A.depthWrite&&(i.depthWrite=A.depthWrite),void 0!==A.colorWrite&&(i.colorWrite=A.colorWrite),void 0!==A.blendSrc&&(i.blendSrc=A.blendSrc),void 0!==A.blendDst&&(i.blendDst=A.blendDst),void 0!==A.blendEquation&&(i.blendEquation=A.blendEquation),void 0!==A.blendSrcAlpha&&(i.blendSrcAlpha=A.blendSrcAlpha),void 0!==A.blendDstAlpha&&(i.blendDstAlpha=A.blendDstAlpha),void 0!==A.blendEquationAlpha&&(i.blendEquationAlpha=A.blendEquationAlpha),void 0!==A.blendColor&&void 0!==i.blendColor&&i.blendColor.setHex(A.blendColor),void 0!==A.blendAlpha&&(i.blendAlpha=A.blendAlpha),void 0!==A.stencilWriteMask&&(i.stencilWriteMask=A.stencilWriteMask),void 0!==A.stencilFunc&&(i.stencilFunc=A.stencilFunc),void 0!==A.stencilRef&&(i.stencilRef=A.stencilRef),void 0!==A.stencilFuncMask&&(i.stencilFuncMask=A.stencilFuncMask),void 0!==A.stencilFail&&(i.stencilFail=A.stencilFail),void 0!==A.stencilZFail&&(i.stencilZFail=A.stencilZFail),void 0!==A.stencilZPass&&(i.stencilZPass=A.stencilZPass),void 0!==A.stencilWrite&&(i.stencilWrite=A.stencilWrite),void 0!==A.wireframe&&(i.wireframe=A.wireframe),void 0!==A.wireframeLinewidth&&(i.wireframeLinewidth=A.wireframeLinewidth),void 0!==A.wireframeLinecap&&(i.wireframeLinecap=A.wireframeLinecap),void 0!==A.wireframeLinejoin&&(i.wireframeLinejoin=A.wireframeLinejoin),void 0!==A.rotation&&(i.rotation=A.rotation),void 0!==A.linewidth&&(i.linewidth=A.linewidth),void 0!==A.dashSize&&(i.dashSize=A.dashSize),void 0!==A.gapSize&&(i.gapSize=A.gapSize),void 0!==A.scale&&(i.scale=A.scale),void 0!==A.polygonOffset&&(i.polygonOffset=A.polygonOffset),void 0!==A.polygonOffsetFactor&&(i.polygonOffsetFactor=A.polygonOffsetFactor),void 0!==A.polygonOffsetUnits&&(i.polygonOffsetUnits=A.polygonOffsetUnits),void 0!==A.dithering&&(i.dithering=A.dithering),void 0!==A.alphaToCoverage&&(i.alphaToCoverage=A.alphaToCoverage),void 0!==A.premultipliedAlpha&&(i.premultipliedAlpha=A.premultipliedAlpha),void 0!==A.forceSinglePass&&(i.forceSinglePass=A.forceSinglePass),void 0!==A.visible&&(i.visible=A.visible),void 0!==A.toneMapped&&(i.toneMapped=A.toneMapped),void 0!==A.userData&&(i.userData=A.userData),void 0!==A.vertexColors&&("number"==typeof A.vertexColors?i.vertexColors=A.vertexColors>0:i.vertexColors=A.vertexColors),void 0!==A.uniforms)for(const t in A.uniforms){const n=A.uniforms[t];switch(i.uniforms[t]={},n.type){case"t":i.uniforms[t].value=e(n.value);break;case"c":i.uniforms[t].value=(new Je).setHex(n.value);break;case"v2":i.uniforms[t].value=(new OA).fromArray(n.value);break;case"v3":i.uniforms[t].value=(new wt).fromArray(n.value);break;case"v4":i.uniforms[t].value=(new ht).fromArray(n.value);break;case"m3":i.uniforms[t].value=(new zA).fromArray(n.value);break;case"m4":i.uniforms[t].value=(new $t).fromArray(n.value);break;default:i.uniforms[t].value=n.value}}if(void 0!==A.defines&&(i.defines=A.defines),void 0!==A.vertexShader&&(i.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(i.fragmentShader=A.fragmentShader),void 0!==A.glslVersion&&(i.glslVersion=A.glslVersion),void 0!==A.extensions)for(const t in A.extensions)i.extensions[t]=A.extensions[t];if(void 0!==A.lights&&(i.lights=A.lights),void 0!==A.clipping&&(i.clipping=A.clipping),void 0!==A.size&&(i.size=A.size),void 0!==A.sizeAttenuation&&(i.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(i.map=e(A.map)),void 0!==A.matcap&&(i.matcap=e(A.matcap)),void 0!==A.alphaMap&&(i.alphaMap=e(A.alphaMap)),void 0!==A.bumpMap&&(i.bumpMap=e(A.bumpMap)),void 0!==A.bumpScale&&(i.bumpScale=A.bumpScale),void 0!==A.normalMap&&(i.normalMap=e(A.normalMap)),void 0!==A.normalMapType&&(i.normalMapType=A.normalMapType),void 0!==A.normalScale){let t=A.normalScale;!1===Array.isArray(t)&&(t=[t,t]),i.normalScale=(new OA).fromArray(t)}return void 0!==A.displacementMap&&(i.displacementMap=e(A.displacementMap)),void 0!==A.displacementScale&&(i.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(i.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(i.roughnessMap=e(A.roughnessMap)),void 0!==A.metalnessMap&&(i.metalnessMap=e(A.metalnessMap)),void 0!==A.emissiveMap&&(i.emissiveMap=e(A.emissiveMap)),void 0!==A.emissiveIntensity&&(i.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(i.specularMap=e(A.specularMap)),void 0!==A.specularIntensityMap&&(i.specularIntensityMap=e(A.specularIntensityMap)),void 0!==A.specularColorMap&&(i.specularColorMap=e(A.specularColorMap)),void 0!==A.envMap&&(i.envMap=e(A.envMap)),void 0!==A.envMapIntensity&&(i.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(i.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(i.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(i.lightMap=e(A.lightMap)),void 0!==A.lightMapIntensity&&(i.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(i.aoMap=e(A.aoMap)),void 0!==A.aoMapIntensity&&(i.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(i.gradientMap=e(A.gradientMap)),void 0!==A.clearcoatMap&&(i.clearcoatMap=e(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=e(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(i.clearcoatNormalMap=e(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(i.clearcoatNormalScale=(new OA).fromArray(A.clearcoatNormalScale)),void 0!==A.iridescenceMap&&(i.iridescenceMap=e(A.iridescenceMap)),void 0!==A.iridescenceThicknessMap&&(i.iridescenceThicknessMap=e(A.iridescenceThicknessMap)),void 0!==A.transmissionMap&&(i.transmissionMap=e(A.transmissionMap)),void 0!==A.thicknessMap&&(i.thicknessMap=e(A.thicknessMap)),void 0!==A.anisotropyMap&&(i.anisotropyMap=e(A.anisotropyMap)),void 0!==A.sheenColorMap&&(i.sheenColorMap=e(A.sheenColorMap)),void 0!==A.sheenRoughnessMap&&(i.sheenRoughnessMap=e(A.sheenRoughnessMap)),i}setTextures(A){return this.textures=A,this}static createMaterialFromType(A){return new{ShadowMaterial:Uo,SpriteMaterial:Mo,RawShaderMaterial:bo,ShaderMaterial:Si,PointsMaterial:So,MeshPhysicalMaterial:No,MeshStandardMaterial:xo,MeshPhongMaterial:Ho,MeshToonMaterial:Lo,MeshNormalMaterial:ko,MeshLambertMaterial:vo,MeshDepthMaterial:Eo,MeshDistanceMaterial:Co,MeshBasicMaterial:Ke,MeshMatcapMaterial:Yo,LineDashedMaterial:To,LineBasicMaterial:Go,Material:We}[A]}}const gs="\\[\\]\\.:\\/",os=new RegExp("["+gs+"]","g"),ss="[^"+gs+"]",as="[^"+gs.replace("\\.","")+"]",rs=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",ss)+/(WCOD+)?/.source.replace("WCOD",as)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ss)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ss)+"$"),Bs=["material","materials","bones","map"];class Is{constructor(A,t,e){this.path=t,this.parsedPath=e||Is.parseTrackName(t),this.node=Is.findNode(A,this.parsedPath.nodeName),this.rootNode=A,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(A,t,e){return A&&A.isAnimationObjectGroup?new Is.Composite(A,t,e):new Is(A,t,e)}static sanitizeNodeName(A){return A.replace(/\s/g,"_").replace(os,"")}static parseTrackName(A){const t=rs.exec(A);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+A);const e={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=e.nodeName&&e.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const A=e.nodeName.substring(i+1);-1!==Bs.indexOf(A)&&(e.nodeName=e.nodeName.substring(0,i),e.objectName=A)}if(null===e.propertyName||0===e.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return e}static findNode(A,t){if(void 0===t||""===t||"."===t||-1===t||t===A.name||t===A.uuid)return A;if(A.skeleton){const e=A.skeleton.getBoneByName(t);if(void 0!==e)return e}if(A.children){const e=function(A){for(let i=0;i0)for(const e of A.entries())n.addMaterial(this.materials,e[0],e[1],!0===t)}addMaterialsFromObject(A,t){if(A&&null!==A&&Object.keys(A).length>0)for(const[e,i]of Object.entries(A))n.addMaterial(this.materials,e,i,!0===t)}getMaterials(){return this.materials}getMaterial(A){return this.materials.get(A)}clearMaterials(){this.materials.clear()}}var Es,Cs,cs,ls,hs,ds,us,ps;(ls=Es||(Es={})).INIT="init",ls.INIT_CHANNEL="initChannel",ls.INTERMEDIATE="intermediate",ls.EXECUTE="execute",ls.INTERCOM_INIT="interComInit",ls.INTERCOM_INTERMEDIATE="interComIntermediate",ls.INTERCOM_EXECUTE="interComExecute",(cs=Cs||(Cs={})).INIT_COMPLETE="initComplete",cs.INIT_CHANNEL_COMPLETE="initChannelComplete",cs.INTERMEDIATE_CONFIRM="intermediateConfirm",cs.EXECUTE_COMPLETE="executeComplete",cs.INTERCOM_INIT_COMPLETE="interComInitComplete",cs.INTERCOM_INTERMEDIATE_CONFIRM="interComIntermediateConfirm",cs.INTERCOM_EXECUTE_COMPLETE="interComExecuteComplete",(ps=hs||(hs={})).INIT_OFFSCREEN_CANVAS="initOffscreenCanvas",ps.PROXY_START="proxyStart",ps.PROXY_EVENT="proxyEvent",ps.RESIZE="resize",(us=ds||(ds={})).INIT_OFFSCREEN_CANVAS_COMPLETE="initOffscreenCanvasComplete",us.PROXY_START_COMPLETE="proxyStartComplete",us.PROXY_EVENT_COMPLETE="proxyEventComplete",us.RESIZE_COMPLETE="resizeComplete";class fs{static handler=new Map}const ms=(A,t,e)=>{for(const i of A){const A=e?i.slice(0):i,n=A.buffer;n?t.push(n):t.push(A)}};class ws{$type="DataPayload";message={buffers:new Map,params:{}};progress=0}class Ds{pack(A,t,e){const i=A;return i.message.buffers&&ms(i.message.buffers?.values(),t,e),t}unpack(A,t){const e=A,i=Object.assign(new ws,A);if(e.message.buffers)for(const[A,n]of e.message.buffers.entries())i.message.buffers&&i.message.buffers.set(A,t?n.slice(0):n);return i}}fs.handler.set("DataPayload",new Ds);class ys{$type="MaterialsPayload";message={buffers:new Map,params:{},materials:new Map,materialsJson:new Map,multiMaterialNames:new Map,cloneInstructions:[]};setMaterials(A){for(const[t,e]of A.entries())this.message.materials.set(t,e)}cleanMaterials(){const A=new Map;for(const t of this.message.materials.values())if("function"==typeof t.clone){const e=t.clone();A.set(e.name,this.cleanMaterial(e))}this.message.materials=A}cleanMaterial(A){const t=A;for(const[e,i]of Object.entries(t))(i instanceof lt||null===i)&&Object.prototype.hasOwnProperty.call(A,e)&&(t[e]=void 0);return A}hasMultiMaterial(){return this.message.multiMaterialNames.size>0}getSingleMaterial(){return this.message.materials.size>0?this.message.materials.values().next().value:void 0}processMaterialTransport(A,t){for(const e of this.message.cloneInstructions)n.cloneMaterial(A,e,t);if(this.hasMultiMaterial()){const t=[];for(const[e,i]of this.message.multiMaterialNames.entries()){const n=A.get(i);n&&(t[e]=n)}return t}{const t=this.getSingleMaterial();if(t){return A.get(t.name)||t}}}}var Rs;fs.handler.set("MaterialsPayload",new class{pack(A,t,e){const i=A;return i.message.buffers&&ms(i.message.buffers.values(),t,e),i.message.materialsJson=n.getMaterialsJSON(i.message.materials),t}unpack(A,t){const e=A,i=Object.assign(new ys,A);(new Ds).unpack(e,t);for(const[A,t]of e.message.multiMaterialNames.entries())i.message.multiMaterialNames.set(A,t);const n=new ns;for(const[A,t]of e.message.materialsJson.entries())i.message.materials.set(A,n.parse(t));return i}}),function(A){A[A.MESH=0]="MESH",A[A.LINE=1]="LINE",A[A.POINT=2]="POINT"}(Rs||(Rs={}));class Fs{$type="MeshPayload";message={params:{},buffers:new Map,geometryType:Rs.MESH,bufferGeometry:new gi,meshName:""};setBufferGeometry(A,t){this.message.bufferGeometry=A,this.message.geometryType=t}setMesh(A,t){this.message.meshName=A.name,this.setBufferGeometry(A.geometry,t)}}const Ms=(A,t,e,i)=>{if(t&&null!==t){const n=t.array;i.set(A,e?n.slice(0):n)}},Gs=(A,t,e,i)=>{if(t){const n=i?t.array.slice(0):t.array;A.setAttribute(e,new Pe(n,t.itemSize,t.normalized))}};fs.handler.set("MeshPayload",new class{pack(A,t,e){const i=A;return i.message.buffers&&(((A,t,e)=>{if(!(t instanceof gi))return;const i=t.getAttribute("position"),n=t.getAttribute("normal"),g=t.getAttribute("uv"),o=t.getAttribute("color"),s=t.getAttribute("skinIndex"),a=t.getAttribute("skinWeight"),r=t.getIndex();Ms("position",i,A,e),Ms("normal",n,A,e),Ms("uv",g,A,e),Ms("color",o,A,e),Ms("skinIndex",s,A,e),Ms("skinWeight",a,A,e),Ms("index",r,A,e)})(e,i.message.bufferGeometry,i.message.buffers),ms(i.message.buffers.values(),t,e)),t}unpack(A,t){const e=A,i=Object.assign(new Fs,e);return i.message.bufferGeometry&&(i.message.bufferGeometry=((A,t)=>{const e=new gi;if(!t)return e;if(t instanceof gi)return t;if(t.attributes){const i=t.attributes;Gs(e,i.position,"position",A),Gs(e,i.normal,"normal",A),Gs(e,i.uv,"uv",A),Gs(e,i.color,"color",A),Gs(e,i.skinIndex,"skinIndex",A),Gs(e,i.skinWeight,"skinWeight",A)}if(null!==t.index){const i=t.index;if(i){const t=A?i.array.slice(0):i.array;e.setIndex(new Pe(t,i.itemSize,i.normalized))}}const i=t.boundingBox;null!==i&&(e.boundingBox=Object.assign(new Rt,i));const n=t.boundingSphere;return null!==n&&(e.boundingSphere=Object.assign(new Wt,n)),e.uuid=t.uuid,e.name=t.name,e.groups=t.groups,e.drawRange=t.drawRange,e.userData=t.userData,e})(t,i.message.bufferGeometry)),i}});class Ss{logging;usedBefore=!1;contentRef="";legacyMode=!1;materialNames=new Set;modelName="noname";materialPerSmoothingGroup=!1;useOAsMesh=!1;useIndices=!1;disregardNormals=!1;vertices=[];colors=[];normals=[];uvs=[];rawMesh;inputObjectCount=1;outputObjectCount=1;globalCounts;constructor(){this.logging=this.buildDefaultLogging(),this.rawMesh=this.buildDefaultRawMesh(),this.globalCounts=this.buildDefaultGlobalsCount()}buildDefaultLogging(){return{enabled:!1,debug:!1}}buildDefaultRawMesh(){return{objectName:"",groupName:"",activeMtlName:"",mtllibName:"",faceType:-1,subGroups:new Map,subGroupInUse:void 0,smoothingGroup:{splitMaterials:!1,normalized:-1,real:-1},counts:{doubleIndicesCount:0,faceCount:0,mtlCount:0,smoothingGroupCount:0}}}buildDefaultGlobalsCount(){return{vertices:0,faces:0,doubleIndicesCount:0,lineByte:0,currentByte:0,totalBytes:0}}setBulkConfig(A){this.materialPerSmoothingGroup=A.materialPerSmoothingGroup,this.useOAsMesh=A.useOAsMesh,this.useIndices=A.useIndices,this.disregardNormals=A.disregardNormals,this.modelName=A.modelName,this.materialNames=A.materialNames}setLogging(A,t){this.logging.enabled=!0===A,this.logging.debug=!0===t}setMaterialNames(A){this.materialNames=A}isLoggingEnabled(){return this.logging.enabled}isDebugLoggingEnabled(){return this.logging.enabled&&this.logging.debug}isUsedBefore(){return this.usedBefore}configure(){if(this.usedBefore=!0,this.pushSmoothingGroup("1"),this.logging.enabled){const A="OBJLoader2 Parser configuration:"+(this.materialNames.size>0?"\n\tmaterialNames:\n\t\t- "+Array.from(this.materialNames).join("\n\t\t- "):"\n\tmaterialNames: None")+"\n\tmaterialPerSmoothingGroup: "+this.materialPerSmoothingGroup+"\n\tuseOAsMesh: "+this.useOAsMesh+"\n\tuseIndices: "+this.useIndices+"\n\tdisregardNormals: "+this.disregardNormals;console.info(A)}}execute(A){this.logging.enabled&&console.time("OBJLoader2Parser.execute"),this.configure();const t=new Uint8Array(A);this.contentRef=t;const e=t.byteLength;this.globalCounts.totalBytes=e;const i=new Array(128);let n=0,g=0,o="",s=0;for(let A;s0&&(i[n++]=o),o="";break;case 47:o.length>0&&(i[n++]=o),g++,o="";break;case 10:this.processLine(i,n,g,o,s),o="",n=0,g=0;break;case 13:break;default:o+=String.fromCharCode(A)}this.processLine(i,n,g,o,s),this.finalizeParsing(),this.logging.enabled&&console.timeEnd("OBJLoader2Parser.execute")}executeLegacy(A){this.logging.enabled&&console.time("OBJLoader2Parser.executeLegacy"),this.configure(),this.legacyMode=!0,this.contentRef=A;const t=A.length;this.globalCounts.totalBytes=t;const e=new Array(128);let i=0,n=0,g="",o=0;for(let s;o0&&(e[i++]=g),g="";break;case"/":g.length>0&&(e[i++]=g),n++,g="";break;case"\n":this.processLine(e,i,n,g,o),g="",i=0,n=0;break;case"\r":break;default:g+=s}this.processLine(e,i,n,g,o),this.finalizeParsing(),this.logging.enabled&&console.timeEnd("OBJLoader2Parser.executeLegacy")}processLine(A,t,e,n,g){if(this.globalCounts.lineByte=this.globalCounts.currentByte,this.globalCounts.currentByte=g,t<1)return;n.length>0&&(A[t++]=n);const o=(A,t,e,i)=>{let n="";if(i>e){let g;if(t)for(g=e;g4){const t=new i.Color;t.setRGB(parseFloat(A[4]),parseFloat(A[5]),parseFloat(A[6])).convertSRGBToLinear(),this.colors.push(t.r),this.colors.push(t.g),this.colors.push(t.b)}break;case"vt":this.uvs.push(parseFloat(A[1])),this.uvs.push(parseFloat(A[2]));break;case"vn":this.normals.push(parseFloat(A[1])),this.normals.push(parseFloat(A[2])),this.normals.push(parseFloat(A[3]));break;case"f":if(s=t-1,0===e)for(this.checkFaceType(0),r=2,a=s;r{const n=parseInt(A);let g=3*(n>0?n-1:n+this.vertices.length/3),o=this.colors.length>0?g:null;const s=i.vertices;if(s.push(this.vertices[g++]),s.push(this.vertices[g++]),s.push(this.vertices[g]),null!==o){const A=i.colors;A.push(this.colors[o++]),A.push(this.colors[o++]),A.push(this.colors[o])}if(t){const A=parseInt(t);let e=2*(A>0?A-1:A+this.uvs.length/2);const n=i.uvs;n.push(this.uvs[e++]),n.push(this.uvs[e])}if(e&&!this.disregardNormals){const A=parseInt(e);let t=3*(A>0?A-1:A+this.normals.length/3);const n=i.normals;n.push(this.normals[t++]),n.push(this.normals[t++]),n.push(this.normals[t])}};if(this.useIndices){this.disregardNormals&&(e=void 0);const g=A+(t?"_"+t:"_n")+(e?"_"+e:"_n");let o=i.indexMappings.get(g);null==o?(o=this.rawMesh.subGroupInUse.vertices.length/3,n(),i.indexMappings.set(g,o),i.indexMappingsCount++):this.rawMesh.counts.doubleIndicesCount++,i.indices.push(o)}else n();this.rawMesh.counts.faceCount++}createRawMeshReport(A){return`Input Object number: ${A}\n\tObject name: ${this.rawMesh.objectName}\n\tGroup name: ${this.rawMesh.groupName}\n\tMtllib name: ${this.rawMesh.mtllibName}\n\tVertex count: ${this.vertices.length/3}\n\tNormal count: ${this.normals.length/3}\n\tUV count: ${this.uvs.length/2}\n\tSmoothingGroup count: ${this.rawMesh.counts.smoothingGroupCount}\n\tMaterial count: ${this.rawMesh.counts.mtlCount}\n\tReal MeshOutputGroup count: ${this.rawMesh.subGroups.size}`}finalizeRawMesh(){const A=[];let t,e,i=0,n=0,g=0,o=0,s=0,a=0;for(const r of this.rawMesh.subGroups.entries())if(t=this.rawMesh.subGroups.get(r[0]),t&&t.vertices.length>0){if(e=t.indices,e.length>0&&n>0)for(let A=0;A0?{name:""!==this.rawMesh.groupName?this.rawMesh.groupName:this.rawMesh.objectName,subGroups:A,absoluteVertexCount:i,absoluteIndexCount:g,absoluteColorCount:o,absoluteNormalCount:s,absoluteUvCount:a,faceCount:this.rawMesh.counts.faceCount,doubleIndicesCount:this.rawMesh.counts.doubleIndicesCount}:void 0}processCompletedMesh(){const A=this.finalizeRawMesh();if(A){this.colors.length>0&&this.colors.length!==this.vertices.length&&this._onError("Vertex Colors were detected, but vertex count and color count do not match!"),this.logging.enabled&&this.logging.debug&&console.debug(this.createRawMeshReport(this.inputObjectCount)),this.inputObjectCount++;const t=this.createPreparedMesh(A);this._onAssetAvailable(t);const e=this.globalCounts.currentByte/this.globalCounts.totalBytes;return this._onProgress("Completed [o: "+this.rawMesh.objectName+" g:"+this.rawMesh.groupName+"] Total progress: "+(100*e).toFixed(2)+"%"),this.resetRawMesh(),!0}return!1}resetRawMesh(){this.rawMesh.subGroups=new Map,this.rawMesh.subGroupInUse=void 0,this.rawMesh.smoothingGroup.normalized=-1,this.rawMesh.smoothingGroup.real=-1,this.pushSmoothingGroup("1"),this.rawMesh.counts.doubleIndicesCount=0,this.rawMesh.counts.faceCount=0,this.rawMesh.counts.mtlCount=0,this.rawMesh.counts.smoothingGroupCount=0}createPreparedMesh(A){const t=A.subGroups;if(this.globalCounts.vertices+=A.absoluteVertexCount/3,this.globalCounts.faces+=A.faceCount,this.globalCounts.doubleIndicesCount+=A.doubleIndicesCount,A.absoluteVertexCount<=0)throw new Error(`Invalid vertex count: ${A.absoluteVertexCount}`);const e=new Float32Array(A.absoluteVertexCount),i=A.absoluteIndexCount>0?new Uint32Array(A.absoluteIndexCount):null,n=A.absoluteColorCount>0?new Float32Array(A.absoluteColorCount):null,g=A.absoluteNormalCount>0?new Float32Array(A.absoluteNormalCount):null,o=A.absoluteUvCount>0?new Float32Array(A.absoluteUvCount):null;let s,a=0,r=0,B=0,I=0,Q=0;const E=[];let C=0,c=0;const l=t.length>1,h=[],d=null!==n;let u=0;const p={materialCloneInstructions:[],materialName:"",multiMaterialNames:new Map,modelName:this.modelName,geometryType:this.rawMesh.faceType<4?0:6===this.rawMesh.faceType?2:1};for(const A in t){if(!Object.prototype.hasOwnProperty.call(t,A))continue;let f;s=t[A];const m=s.materialName,w=0===s.smoothingGroup;this.rawMesh.faceType<4?(f=m,d&&(f+="_vertexColor"),w&&(f+="_flat")):f=6===this.rawMesh.faceType?"defaultPointMaterial":"defaultLineMaterial",p.materialName=f;const D=this.materialNames.has(m),y=this.materialNames.has(f),R=!D&&!y,F=!R&&!y;if(R&&(f=d?"defaultVertexColorMaterial":"defaultMaterial",this.logging.enabled&&console.info('object_group "'+s.objectName+"_"+s.groupName+'" was defined with unresolvable material "'+m+'"! Assigning "'+f+'".'),p.materialName=f),F){const A={materialNameOrg:m,materialProperties:{name:f,vertexColors:d?2:0,flatShading:w}};p.materialCloneInstructions.push(A)}if(l&&(c=this.useIndices?s.indices.length:s.vertices.length/3,E.push({materialGroupOffset:C,materialGroupLength:c,materialIndex:u}),h[u]=f,p.multiMaterialNames.set(u,f),C+=c,u++),null!==e&&(e.set(s.vertices,a),a+=s.vertices.length),null!==i&&(i.set(s.indices,r),r+=s.indices.length),null!==n&&(n.set(s.colors,B),B+=s.colors.length),null!==g&&(g.set(s.normals,I),I+=s.normals.length),null!==o&&(o.set(s.uvs,Q),Q+=s.uvs.length),this.logging.enabled&&this.logging.debug){let A="";u>0&&(A="\n\t\tmaterialIndex: "+u);const t="\tOutput Object no.: "+this.outputObjectCount+"\n\t\tgroupName: "+s.groupName+"\n\t\tIndex: "+s.index+"\n\t\tfaceType: "+this.rawMesh.faceType+"\n\t\tmaterialName: "+s.materialName+"\n\t\tsmoothingGroup: "+s.smoothingGroup+A+"\n\t\tobjectName: "+s.objectName+"\n\t\t#vertices: "+s.vertices.length/3+"\n\t\t#indices: "+s.indices.length+"\n\t\t#colors: "+s.colors.length/3+"\n\t\t#uvs: "+s.uvs.length/2+"\n\t\t#normals: "+s.normals.length/3;console.debug(t)}}return this.outputObjectCount++,{meshName:A.name,vertexFA:e,normalFA:g,uvFA:o,colorFA:n,indexUA:i,createMultiMaterial:l,geometryGroups:E,multiMaterial:h,materialMetaInfo:p,progress:this.globalCounts.currentByte/this.globalCounts.totalBytes}}finalizeParsing(){if(this.logging.enabled&&console.info("Global output object count: "+this.outputObjectCount),this.processCompletedMesh()&&this.logging.enabled){const A="Overall counts: \n\tVertices: "+this.globalCounts.vertices+"\n\tFaces: "+this.globalCounts.faces+"\n\tMultiple definitions: "+this.globalCounts.doubleIndicesCount;console.info(A)}this._onLoad()}_onProgress(A){const t=A||"";this.logging.enabled&&this.logging.debug&&console.log(t)}_onError(A){this.logging.enabled&&this.logging.debug&&console.error(A)}_onAssetAvailable(A,t){}_onLoad(){}}class Us extends i.Loader{static OBJLOADER2_VERSION="6.0.0";parser=new Ss;baseObject3d=new i.Object3D;materialStore=new Qs(!0);materialPerSmoothingGroup=!1;useOAsMesh=!1;useIndices=!1;disregardNormals=!1;modelName="noname";callbacks;constructor(A){super(A),this.callbacks={onLoad:void 0,onError:void 0,onProgress:void 0,onMeshAlter:void 0}}setLogging(A,t){return this.parser.setLogging(A,t),this}setMaterialPerSmoothingGroup(A){return this.materialPerSmoothingGroup=!0===A,this}setUseOAsMesh(A){return this.useOAsMesh=!0===A,this}setUseIndices(A){return this.useIndices=!0===A,this}setDisregardNormals(A){return this.disregardNormals=!0===A,this}setModelName(A){return A.length>0&&(this.modelName=A),this}getModelName(){return this.modelName}setBaseObject3d(A){return this.baseObject3d=A,this}setMaterials(A){return this.materialStore.addMaterialsFromObject(A,!1),this}setCallbackOnLoad(A){return this.callbacks.onLoad=A,this}setCallbackOnProgress(A){return this.callbacks.onProgress=A,this}setCallbackOnError(A){return this.callbacks.onError=A,this}setCallbackOnMeshAlter(A){return this.callbacks.onMeshAlter=A,this}load(A,t,e,n,g){if(!(t instanceof Function)){const A=new Error("onLoad is not a function! Aborting...");throw this._onError(A),A}this.setCallbackOnLoad(t),n&&n instanceof Function||(n=A=>{if(Object.hasOwn(A,"currentTarget")){const t="Error occurred while downloading!\nurl: "+A.currentTarget;this._onError(new Error(t))}}),void 0===A&&n(new ErrorEvent("An invalid url was provided. Unable to continue!"));let o="";try{o=new URL(A).href}catch(t){o=new URL(A,window.location.href).href}let s=o;const a=o.split("/");if(a.length>2){s=a[a.length-1];const A=a.slice(0,a.length-1).join("/")+"/";void 0!==A&&(this.path=A)}if(!(e&&e instanceof Function)){let t=0,i=0;e=e=>{if(e.lengthComputable&&(i=e.loaded/e.total,i>t)){t=i;const e=`Download of "${A}": ${(100*i).toFixed(2)}%`;this._onProgress(e)}}}g&&this.setCallbackOnMeshAlter(g);const r=new i.FileLoader(this.manager);r.setPath(this.path||this.resourcePath),r.setResponseType("arraybuffer"),r.load(s,(A=>{this.parse(A)}),e,n)}loadAsync(A,t,e){return new Promise(((i,n)=>{this.load(A,i,t,n,e)}))}parse(A){return this.parser.isLoggingEnabled()&&(console.info("Using OBJLoader2 version: "+Us.OBJLOADER2_VERSION),console.time("OBJLoader parse: "+this.modelName)),A instanceof ArrayBuffer?(this.parser.isLoggingEnabled()&&console.info("Parsing arrayBuffer..."),this.configure(),this.parser.execute(A)):"string"==typeof A?(this.parser.isLoggingEnabled()&&console.info("Parsing text..."),this.configure(),this.parser.executeLegacy(A)):this._onError(new Error("Provided objToParse was neither of type String nor Uint8Array! Aborting...")),this.parser.isLoggingEnabled()&&console.timeEnd("OBJLoader parse: "+this.modelName),this.baseObject3d}configure(){this.parser.setBulkConfig({materialPerSmoothingGroup:this.materialPerSmoothingGroup,useOAsMesh:this.useOAsMesh,useIndices:this.useIndices,disregardNormals:this.disregardNormals,modelName:this.modelName,materialNames:new Set(Array.from(this.materialStore.getMaterials().keys()))}),this.parser._onAssetAvailable=A=>{const t=Us.buildThreeMesh(A,this.materialStore.getMaterials(),this.parser.isDebugLoggingEnabled());t&&(this._onMeshAlter(t,A.materialMetaInfo),this.baseObject3d.add(t))},this.parser._onLoad=()=>{this._onLoad()},this.printCallbackConfig()}printCallbackConfig(){if(this.parser.isLoggingEnabled()){let A="OBJLoader2 callback configuration:";null!==this.callbacks.onProgress&&(A+=`\n\tcallbacks.onProgress: ${this.callbacks.onProgress?.name??void 0}`),null!==this.callbacks.onError&&(A+=`\n\tcallbacks.onError: ${this.callbacks.onError?.name??void 0}`),null!==this.callbacks.onMeshAlter&&(A+=`\n\tcallbacks.onMeshAlter: ${this.callbacks.onMeshAlter?.name??void 0}`),null!==this.callbacks.onLoad&&(A+=`\n\tcallbacks.onLoad: ${this.callbacks.onLoad?.name??void 0}`),console.info(A)}}static buildThreeMesh({meshName:A,vertexFA:t,normalFA:e,uvFA:g,colorFA:o,indexUA:s,createMultiMaterial:a,geometryGroups:r,multiMaterial:B,materialMetaInfo:I},Q,E){const C=new i.BufferGeometry;if(C.setAttribute("position",new i.BufferAttribute(t,3,!1)),null!==e&&C.setAttribute("normal",new i.BufferAttribute(e,3,!1)),null!==g&&C.setAttribute("uv",new i.BufferAttribute(g,2,!1)),null!==o&&C.setAttribute("color",new i.BufferAttribute(o,3,!1)),null!==s&&C.setIndex(new i.BufferAttribute(s,1,!1)),r.length>0)for(const A of r)C.addGroup(A.materialGroupOffset,A.materialGroupLength,A.materialIndex);let c;if(null===e&&C.computeVertexNormals(),I.materialCloneInstructions.length>0)for(const A of I.materialCloneInstructions)c=n.cloneMaterial(Q,A,E);else c=Q.get(I.materialName);const l=[];if(a)for(let A=0;A{for(var e in t)__webpack_require__.o(t,e)&&!__webpack_require__.o(A,e)&&Object.defineProperty(A,e,{enumerable:!0,get:t[e]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),__webpack_require__.o=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),__webpack_require__.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},__webpack_require__.nmd=A=>(A.paths=[],A.children||(A.children=[]),A),__webpack_require__.b=document.baseURI||self.location.href;var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{THREE:()=>three__WEBPACK_IMPORTED_MODULE_1__,Viewer:()=>Viewer,msgpack:()=>msgpack});var three__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(477),three_examples_jsm_utils_BufferGeometryUtils_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(140),wwobjloader2__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(793),three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(976),three_examples_jsm_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(854),three_examples_jsm_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(217),three_examples_jsm_loaders_KTX2Loader_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(92),three_examples_jsm_loaders_MTLLoader_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(23),three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(476),three_examples_jsm_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(365),three_examples_jsm_webxr_VRButton_js__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(18),three_examples_jsm_webxr_XRButton_js__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(904),three_examples_jsm_webxr_XRControllerModelFactory__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(925),msgpack=__webpack_require__(676),dat=__webpack_require__(376).ZP;__webpack_require__(583);const meshcat_inline_assets={"basis_transcoder.js":new URL(__webpack_require__(896),__webpack_require__.b).href,"basis_transcoder.wasm":new URL(__webpack_require__(657),__webpack_require__.b).href,"draco_decoder.wasm":new URL(__webpack_require__(112),__webpack_require__.b).href,"draco_wasm_wrapper.js":new URL(__webpack_require__(201),__webpack_require__.b).href},meshcat_loading_manager=new three__WEBPACK_IMPORTED_MODULE_1__.LoadingManager;meshcat_loading_manager.setURLModifier((A=>A in meshcat_inline_assets?meshcat_inline_assets[A]:MeshCat.THREE.DefaultLoadingManager.resolveURL(A)));const extensionCodec=new msgpack.ExtensionCodec;function merge_geometries(A,t=!1){let e=[],i=[],n=A.matrix.clone();!function A(t,n){let g=n.clone().multiply(t.matrix);"Mesh"===t.type&&(t.geometry.applyMatrix4(g),i.push(t.geometry),e.push(t.material));for(let e of t.children)A(e,g)}(A,n);let g=null;if(1==i.length)g=i[0],t&&(g.material=e[0]);else if(i.length>1){g=(0,three_examples_jsm_utils_BufferGeometryUtils_js__WEBPACK_IMPORTED_MODULE_2__.n4)(i,!0);const A=g.groups.length;let n=[];if(t){for(let t=0;tt.width;)i--,e.font=i+"px "+A.font_face;e.fillText(A.text,t.width/2,t.height/2);let n=new three__WEBPACK_IMPORTED_MODULE_1__.CanvasTexture(t);return n.uuid=A.uuid,n}return null}function handle_special_geometry(A){if("_meshfile"==A.type&&(console.warn("_meshfile is deprecated. Please use _meshfile_geometry for geometries and _meshfile_object for objects with geometry and material"),A.type="_meshfile_geometry"),"_meshfile_geometry"==A.type){if("obj"==A.format){let t=merge_geometries((new wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.oe).parse(A.data+"\n"));return t.uuid=A.uuid,t}if("dae"==A.format){let t=merge_geometries((new three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__.G).parse(A.data).scene);return t.uuid=A.uuid,t}if("stl"==A.format){let t=(new three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__.j).parse(A.data.buffer);return t.uuid=A.uuid,t}return console.error("Unsupported mesh type:",A),null}return null}extensionCodec.register({type:18,encode:A=>(console.error("Uint8Array encode not implemented"),null),decode:A=>{const t=new Uint8Array(A.byteLength);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Int32Array encode not implemented"),null),decode:A=>{const t=new Int32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Uint32Array encode not implemented"),null),decode:A=>{const t=new Uint32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A(console.error("Float32Array encode not implemented"),null),decode:A=>{const t=new Float32Array(A.byteLength/4);let e=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;Avoid 0!==A.resources[t]?A.resources[t]:t)),"obj"==A.format){let g=new wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.oe(i);if(A.mtl_library){let t=new three_examples_jsm_loaders_MTLLoader_js__WEBPACK_IMPORTED_MODULE_5__.v(i).parse(A.mtl_library+"\n",""),e=wwobjloader2__WEBPACK_IMPORTED_MODULE_0__.eW.addMaterialsFromMtlLoader(t);g.setMaterials(e),this.onTextureLoad()}t=merge_geometries(g.parse(A.data+"\n",n),!0),t.uuid=A.uuid,e=t.material}else if("dae"==A.format){let g=new three_examples_jsm_loaders_ColladaLoader_js__WEBPACK_IMPORTED_MODULE_3__.G(i);g.onTextureLoad=this.onTextureLoad,t=merge_geometries(g.parse(A.data,n).scene,!0),t.uuid=A.uuid,e=t.material}else{if("stl"!=A.format)return console.error("Unsupported mesh type:",A),null;t=(new three_examples_jsm_loaders_STLLoader_js__WEBPACK_IMPORTED_MODULE_4__.j).parse(A.data.buffer,n),t.uuid=A.uuid,e=t.material}let g=new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(t,e);return g.uuid=A.uuid,void 0!==A.name&&(g.name=A.name),void 0!==A.matrix?(g.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(g.matrixAutoUpdate=A.matrixAutoUpdate),g.matrixAutoUpdate&&g.matrix.decompose(g.position,g.quaternion,g.scale)):(void 0!==A.position&&g.position.fromArray(A.position),void 0!==A.rotation&&g.rotation.fromArray(A.rotation),void 0!==A.quaternion&&g.quaternion.fromArray(A.quaternion),void 0!==A.scale&&g.scale.fromArray(A.scale)),void 0!==A.castShadow&&(g.castShadow=A.castShadow),void 0!==A.receiveShadow&&(g.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(g.shadow.bias=A.shadow.bias),void 0!==A.shadow.radius&&(g.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&g.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(g.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(g.visible=A.visible),void 0!==A.frustumCulled&&(g.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(g.renderOrder=A.renderOrder),void 0!==A.userjson&&(g.userjson=A.userData),void 0!==A.layers&&(g.layers.mask=A.layers),g}return super.parseObject(A,t,e)}}class Background extends three__WEBPACK_IMPORTED_MODULE_1__.Object3D{constructor(){super(),this.isBackground=!0,this.type="Background",this.top_color=new dat.color.Color(135,206,250),this.bottom_color=new dat.color.Color(25,25,112),this.render_environment_map=!0,this.environment_map=null,this.visible=!0,this.use_ar_background=!1,this.textures={env_map:null,round:{gradient:env_texture(this.top_color,this.bottom_color,!0),white:env_texture([255,255,255],[255,255,255],!0)},flat:{gradient:env_texture(this.top_color,this.bottom_color,!1),white:env_texture([255,255,255],[255,255,255],!1)}},this.state={top_color:null,bottom_color:null,environment_map:null,render_map:null,visible:!0}}update(A,t,e){this.state.visible=t,this.state.render_map=this.render_environment_map,this.environment_map!==this.state.environment_map&&(""==this.environment_map||null==this.environment_map?(this.environment_map=this.state.environment_map=null,this.textures.env_map=null):(this.textures.env_map=load_env_texture(this.environment_map,this,A,t,e),null==this.textures.env_map?this.state.environment_map=this.environment_map=null:this.state.environment_map=this.environment_map));let i=!e||!this.render_environment_map||null==this.textures.env_map;if(t&&i&&(this.top_color!==this.state.top_color||this.bottom_color!==this.state.bottom_color)){this.state.top_color=this.top_color,this.state.bottom_color=this.bottom_color;let A=[this.state.top_color.r,this.state.top_color.g,this.state.top_color.b],t=[this.state.bottom_color.r,this.state.bottom_color.g,this.state.bottom_color.b];this.textures.flat.gradient=env_texture(A,t,!1),this.textures.round.gradient=env_texture(A,t,!0)}let n=e?"round":"flat";A.background=this.use_ar_background?null:this.state.visible?this.state.render_map&&null!=this.textures.env_map&&e?this.textures.env_map:this.textures[n].gradient:this.textures[n].white,A.environment=this.state.visible?null!=this.textures.env_map?this.textures.env_map:this.textures.round.gradient:this.textures.round.white}}class SceneNode{constructor(A,t,e){this.object=A,this.folder=t,this.children={},this.controllers=[],this.on_update=e,this.create_controls();for(let A of this.object.children)this.add_child(A)}add_child(A){let t=this.folder.addFolder(A.name),e=new SceneNode(A,t,this.on_update);return this.children[A.name]=e,e}create_child(A){let t=new three__WEBPACK_IMPORTED_MODULE_1__.Group;return t.name=A,this.object.add(t),this.add_child(t)}find(A){if(0==A.length)return this;{let t=A[0],e=this.children[t];return void 0===e&&(e=this.create_child(t)),e.find(A.slice(1))}}create_controls(){for(let A of this.controllers)this.folder.remove(A);if(this.controllers=[],void 0!==this.vis_controller&&this.folder.domElement.removeChild(this.vis_controller.domElement),this.vis_controller=new dat.controllers.BooleanController(this.object,"visible"),this.vis_controller.onChange((()=>this.on_update())),this.folder.domElement.prepend(this.vis_controller.domElement),this.vis_controller.domElement.style.height="0",this.vis_controller.domElement.style.float="right",this.vis_controller.domElement.classList.add("meshcat-visibility-checkbox"),this.vis_controller.domElement.children[0].addEventListener("change",(A=>{A.target.checked?this.folder.domElement.classList.remove("meshcat-hidden-scene-element"):this.folder.domElement.classList.add("meshcat-hidden-scene-element")})),this.object.isLight){let A=this.folder.add(this.object,"intensity").min(0).step(.01).name("intensity (cd)");if(A.onChange((()=>this.on_update())),this.controllers.push(A),void 0!==this.object.castShadow){let A=this.folder.add(this.object,"castShadow");if(A.onChange((()=>this.on_update())),this.controllers.push(A),void 0!==this.object.shadow){let A=this.folder.add(this.object.shadow,"radius").min(0).step(.05).max(3);A.onChange((()=>this.on_update())),this.controllers.push(A)}}if(void 0!==this.object.distance){let A=this.folder.add(this.object,"distance").min(0).step(.1).max(100);A.onChange((()=>this.on_update())),this.controllers.push(A)}}if(this.object.isCamera){let A=this.folder.add(this.object,"zoom").min(0).step(.1);A.onChange((()=>{this.on_update()})),this.controllers.push(A)}if(this.object.isEnvironment){let A=this.folder.add(this.object,"intensity").min(0).step(.1).max(100);A.onChange((()=>this.on_update())),this.controllers.push(A)}if(this.object.isBackground){let A=this.folder.addColor(this.object,"top_color");A.onChange((()=>this.on_update())),this.controllers.push(A);let t=this.folder.addColor(this.object,"bottom_color");t.onChange((()=>this.on_update())),this.controllers.push(t);let e=this.folder.add(this.object,"render_environment_map");e.onChange((()=>this.on_update())),this.controllers.push(e)}}cache_original_opacity(A){void 0===A.meshcat_base_opacity&&(A.meshcat_base_opacity=A.opacity)}set_opacity(A,t){this.cache_original_opacity(A),A.opacity=t,A.transparent=t<1,A.depthWrite=!0,A.needsUpdate=!0}visit_materials(A,t){A.isMaterial?t(A):A.material&&t(A.material);for(let e of A.children)this.visit_materials(e,t)}set_property(A,t,e){if("position"===A)this.object.position.set(t[0],t[1],t[2]);else if("quaternion"===A)this.object.quaternion.set(t[0],t[1],t[2],t[3]);else if("scale"===A)this.object.scale.set(t[0],t[1],t[2]);else if("color"===A){var i=this;function n(A){A.color.setRGB(t[0],t[1],t[2]),i.set_opacity(A,t[3])}this.visit_materials(this.object,n)}else if("opacity"==A){function g(A){i.set_opacity(A,t)}i=this,this.visit_materials(this.object,g)}else if("modulated_opacity"==A){function o(A){i.cache_original_opacity(A),i.set_opacity(A,A.meshcat_base_opacity*t)}i=this,this.visit_materials(this.object,o)}else"top_color"==A||"bottom_color"==A?this.object[A]=new dat.color.Color(t.map((A=>255*A))):this.set_property_chain(A,t,e);this.object.isBackground&&this.on_update(),this.vis_controller.updateDisplay(),this.controllers.forEach((A=>A.updateDisplay()))}set_property_chain(A,t,e){var i=(A=(A=A.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split(".");const n=i.pop();var g=null,o=this.object,s=this.folder.name;for(const A of i){if(A in o){if(s+="."+A,"object"==typeof o[A]){o=o[A];continue}g=`'${s}' is not an Object and has no properties`}else g=`'${s}' has no property '${A}'`;break}if(null!==g||n in o||(g=`'${s}' has no property '${n}'`),null==g)o[n]=t;else{const i="/"+e.join("/"),n=JSON.stringify(t);console.error(`Error in set_property("${i}", "${A}", ${n})\n${g}. The value will not be set.`)}}set_transform(A){let t=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;t.fromArray(A),t.decompose(this.object.position,this.object.quaternion,this.object.scale)}set_object(A){let t=this.object.parent;this.dispose_recursive(),this.object.parent.remove(this.object),this.object=A,t.add(A),this.create_controls()}dispose_recursive(){for(let A of Object.keys(this.children))this.children[A].dispose_recursive();dispose(this.object)}delete(A){if(0==A.length)console.error("Can't delete an empty path");else{let t=this.find(A.slice(0,A.length-1)),e=A[A.length-1],i=t.children[e];void 0!==i&&(i.dispose_recursive(),t.object.remove(i.object),remove_folders(i.folder),t.folder.removeFolder(i.folder),delete t.children[e])}}}function remove_folders(A){for(let t of Object.keys(A.__folders)){let e=A.__folders[t];remove_folders(e),dat.dom.dom.unbind(window,"resize",e.__resizeHandler),A.removeFolder(e)}}function dispose(A){if(A&&(A.geometry&&A.geometry.dispose(),A.material))if(Array.isArray(A.material))for(let t of A.material)t.map&&t.map.dispose(),t.dispose();else A.material.map&&A.material.map.dispose(),A.material.dispose()}function create_default_scene(){var A=new three__WEBPACK_IMPORTED_MODULE_1__.Scene;return A.name="Scene",A.rotateX(-Math.PI/2),A}function download_data_uri(A,t){let e=document.createElement("a");e.download=A,e.href=t,document.body.appendChild(e),e.click(),document.body.removeChild(e)}function download_file(A,t,e){e=e||"text/plain";let i=new Blob([t],{type:e}),n=document.createElement("a");document.body.appendChild(n),n.download=A,n.href=window.URL.createObjectURL(i),n.onclick=function(A){let t=this;setTimeout((function(){window.URL.revokeObjectURL(t.href)}),1500)},n.click(),n.remove()}class Animator{constructor(A){this.viewer=A,this.folder=this.viewer.gui.addFolder("Animations"),this.mixer=new three__WEBPACK_IMPORTED_MODULE_1__.AnimationMixer,this.loader=new three__WEBPACK_IMPORTED_MODULE_1__.ObjectLoader,this.clock=new three__WEBPACK_IMPORTED_MODULE_1__.Clock,this.actions=[],this.playing=!1,this.time=0,this.time_scrubber=null,this.setup_capturer("png"),this.duration=0}setup_capturer(A){this.capturer=new window.CCapture({format:A,name:"meshcat_"+String(Date.now())}),this.capturer.format=A}play(){this.clock.start();for(let A of this.actions)A.play();this.playing=!0}record(){this.reset(),this.play(),this.recording=!0,this.capturer.start()}pause(){this.clock.stop(),this.playing=!1,this.recording&&(this.stop_capture(),this.save_capture())}stop_capture(){this.recording=!1,this.capturer.stop(),this.viewer.animate()}save_capture(){this.capturer.save(),"png"===this.capturer.format?alert("To convert the still frames into a video, extract the `.tar` file and run: \nffmpeg -r 60 -i %07d.png \\\n\t -vcodec libx264 \\\n\t -preset slow \\\n\t -crf 18 \\\n\t output.mp4"):"jpg"===this.capturer.format&&alert("To convert the still frames into a video, extract the `.tar` file and run: \nffmpeg -r 60 -i %07d.jpg \\\n\t -vcodec libx264 \\\n\t -preset slow \\\n\t -crf 18 \\\n\t output.mp4")}display_progress(A){this.time=A,null!==this.time_scrubber&&this.time_scrubber.updateDisplay()}seek(A){this.actions.forEach((t=>{t.time=Math.max(0,Math.min(t._clip.duration,A))})),this.mixer.update(0),this.viewer.set_dirty()}reset(){for(let A of this.actions)A.reset();this.display_progress(0),this.mixer.update(0),this.setup_capturer(this.capturer.format),this.viewer.set_dirty()}clear(){remove_folders(this.folder),this.mixer.stopAllAction(),this.actions=[],this.duration=0,this.display_progress(0),this.mixer=new three__WEBPACK_IMPORTED_MODULE_1__.AnimationMixer}load(A,t){this.clear(),this.folder.open();let e=this.folder.addFolder("default");e.open(),e.add(this,"play"),e.add(this,"pause"),e.add(this,"reset"),this.time_scrubber=e.add(this,"time",0,1e9,.001),this.time_scrubber.onChange((A=>this.seek(A))),e.add(this.mixer,"timeScale").step(.01).min(0);let i=e.addFolder("Recording");i.add(this,"record"),i.add({format:"png"},"format",["png","jpg"]).onChange((A=>{this.setup_capturer(A)})),void 0===t.play&&(t.play=!0),void 0===t.loopMode&&(t.loopMode=three__WEBPACK_IMPORTED_MODULE_1__.LoopRepeat),void 0===t.repetitions&&(t.repetitions=1),void 0===t.clampWhenFinished&&(t.clampWhenFinished=!0),this.duration=0,this.progress=0;for(let e of A){let A=this.viewer.scene_tree.find(e.path).object,i=three__WEBPACK_IMPORTED_MODULE_1__.AnimationClip.parse(e.clip);i.uuid=three__WEBPACK_IMPORTED_MODULE_1__.MathUtils.generateUUID();let n=this.mixer.clipAction(i,A);n.clampWhenFinished=t.clampWhenFinished,n.setLoop(t.loopMode,t.repetitions),this.actions.push(n),this.duration=Math.max(this.duration,i.duration)}this.time_scrubber.min(0),this.time_scrubber.max(this.duration),this.reset(),t.play&&this.play()}update(){if(this.playing){if(this.mixer.update(this.clock.getDelta()),this.viewer.set_dirty(),0!=this.duration){let A=this.actions.reduce(((A,t)=>Math.max(A,t.time)),0);this.display_progress(A)}else this.display_progress(0);if(this.actions.every((A=>A.paused))){this.pause();for(let A of this.actions)A.reset()}}}after_render(){this.recording&&this.capturer.capture(this.viewer.renderer.domElement)}}function env_texture(A,t,e){if(null==A||null==t)return null;let i=new Uint8Array(512),n=0,g=256;for(let e=0;e<64;++e){for(let e=0;e<3;++e)i[n+e]=t[e],i[g+e]=A[e];i[n+3]=255,i[g+3]=255,n+=4,g+=4}let o=e?three__WEBPACK_IMPORTED_MODULE_1__.EquirectangularReflectionMapping:three__WEBPACK_IMPORTED_MODULE_1__.UVMapping,s=new three__WEBPACK_IMPORTED_MODULE_1__.DataTexture(i,64,2,three__WEBPACK_IMPORTED_MODULE_1__.RGBAFormat,three__WEBPACK_IMPORTED_MODULE_1__.UnsignedByteType,o,three__WEBPACK_IMPORTED_MODULE_1__.RepeatWrapping,three__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping,three__WEBPACK_IMPORTED_MODULE_1__.LinearFilter,three__WEBPACK_IMPORTED_MODULE_1__.LinearFilter,1,three__WEBPACK_IMPORTED_MODULE_1__.SRGBColorSpace);return e||(s.matrixAutoUpdate=!1,s.matrix.set(.5,0,.25,0,.5,.25,0,0,1),s.needsUpdate=!0),s.needsUpdate=!0,s}function load_env_texture(A,t,e,i,n){let g=(new three__WEBPACK_IMPORTED_MODULE_1__.TextureLoader).load(A,void 0,void 0,(()=>{console.error("Failure to load the requested environment map; reverting to none.",t.environment_map),t.environment_map=null,t.update(e,i,n)}));return null!=g&&(g.colorSpace=three__WEBPACK_IMPORTED_MODULE_1__.SRGBColorSpace,g.mapping=three__WEBPACK_IMPORTED_MODULE_1__.EquirectangularReflectionMapping),g}function wait_for_property(A,t,e){return new Promise((i=>{const n=new MutationObserver((()=>{var g=A[t];null!=g&&e(g)&&(n.disconnect(),i())}));n.observe(A,{childList:!0});var g=A[t];if(null!=g&&e(g))return n.disconnect(),i()}))}class Viewer{constructor(A,t,e){this.dom_element=A,void 0===e?(this.renderer=new three__WEBPACK_IMPORTED_MODULE_1__.WebGLRenderer({antialias:!0,alpha:!0}),this.renderer.shadowMap.enabled=!0,this.renderer.shadowMap.type=three__WEBPACK_IMPORTED_MODULE_1__.PCFSoftShadowMap,this.dom_element.appendChild(this.renderer.domElement)):this.renderer=e,this.renderer.setPixelRatio(window.devicePixelRatio),this.webxr_session_active=!1,this.xr_button=null,this.scene=create_default_scene(),this.gui_controllers={},this.keydown_callbacks={},this.render_callback=()=>{},this.create_scene_tree(),this.add_default_scene_elements(),this.set_dirty(),this.create_camera(),this.num_messages_received=0,this.draco_loader=new three_examples_jsm_loaders_DRACOLoader_js__WEBPACK_IMPORTED_MODULE_6__._(meshcat_loading_manager),this.ktx2_loader=new three_examples_jsm_loaders_KTX2Loader_js__WEBPACK_IMPORTED_MODULE_7__.a(meshcat_loading_manager),this.ktx2_loader.detectSupport(this.renderer),window.onload=A=>this.set_3d_pane_size(),window.addEventListener("resize",(A=>this.set_3d_pane_size()),!1),window.addEventListener("keydown",(A=>{this.on_keydown(A)})),requestAnimationFrame((()=>this.set_3d_pane_size())),(t||void 0===t)&&this.animate()}on_keydown(A){if(A.code in this.keydown_callbacks)for(const t of this.keydown_callbacks[A.code])t.callback(A)}update_background(){let A=this.scene_tree.find(["Background"]),t=this.scene_tree.find(["Background",""]),e=A.object.visible&&t.object.visible;t.object.update(this.scene,e,this.is_perspective()),this.set_dirty()}is_perspective(){return this.camera&&this.camera.isPerspectiveCamera}hide_background(){this.set_property(["Background"],"visible",!1)}show_background(){this.set_property(["Background"],"visible",!0),this.set_property(["Background",""],"visible",!0)}set_dirty(){this.needs_render=!0}create_camera(){let A=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;A.makeRotationX(Math.PI/2),this.set_transform(["Cameras","default","rotated"],A.toArray());let t=new three__WEBPACK_IMPORTED_MODULE_1__.PerspectiveCamera(75,1,.01,100);this.set_camera(t),this.set_object(["Cameras","default","rotated"],t),t.position.set(3,1,0)}upgrade_intensity(A){return A*Math.PI}create_default_spot_light(){var A=new three__WEBPACK_IMPORTED_MODULE_1__.SpotLight(16777215,this.upgrade_intensity(.8));return A.position.set(1.5,1.5,2),A.castShadow=!1,A.shadow.mapSize.width=1024,A.shadow.mapSize.height=1024,A.shadow.camera.near=.5,A.shadow.camera.far=50,A.shadow.bias=-.001,A}add_default_scene_elements(){var A=this.create_default_spot_light();this.set_object(["Lights","SpotLight"],A),this.set_property(["Lights","SpotLight"],"visible",!1);var t=new three__WEBPACK_IMPORTED_MODULE_1__.PointLight(16777215,this.upgrade_intensity(.4));t.position.set(1.5,1.5,2),t.castShadow=!1,t.distance=10,t.shadow.mapSize.width=1024,t.shadow.mapSize.height=1024,t.shadow.camera.near=.5,t.shadow.camera.far=10,t.shadow.bias=-.001,this.set_object(["Lights","PointLightNegativeX"],t);var e=new three__WEBPACK_IMPORTED_MODULE_1__.PointLight(16777215,this.upgrade_intensity(.4));e.position.set(-1.5,-1.5,2),e.castShadow=!1,e.distance=10,e.shadow.mapSize.width=1024,e.shadow.mapSize.height=1024,e.shadow.camera.near=.5,e.shadow.camera.far=10,e.shadow.bias=-.001,this.set_object(["Lights","PointLightPositiveX"],e);var i=new three__WEBPACK_IMPORTED_MODULE_1__.AmbientLight(16777215,this.upgrade_intensity(.3));i.intensity=.6,this.set_object(["Lights","AmbientLight"],i);var n=new three__WEBPACK_IMPORTED_MODULE_1__.DirectionalLight(16777215,this.upgrade_intensity(.4));n.position.set(-10,-10,0),this.set_object(["Lights","FillLight"],n);var g=new three__WEBPACK_IMPORTED_MODULE_1__.GridHelper(20,40);g.rotateX(Math.PI/2),this.set_object(["Grid"],g);var o=new three__WEBPACK_IMPORTED_MODULE_1__.AxesHelper(.5);this.set_object(["Axes"],o)}create_scene_tree(){this.gui&&this.gui.destroy(),this.gui=new dat.GUI({autoPlace:!1,resizable:!0}),this.dom_element.parentElement.appendChild(this.gui.domElement),this.gui.domElement.style.position="absolute",this.gui.domElement.style.right=0,this.gui.domElement.style.top=0;let A=this.gui.addFolder("Scene");A.open(),this.scene_tree=new SceneNode(this.scene,A,(()=>this.set_dirty()));let t=this.gui.addFolder("Save / Load / Capture");t.add(this,"save_scene"),t.add(this,"load_scene"),t.add(this,"save_image"),this.animator=new Animator(this),this.gui.close(),this.set_object(["Background"],new Background);let e=this.scene_tree.find(["Background"]);e.object.isBackground=!0,e.on_update=()=>{this.update_background()},this.scene_tree.find(["Background",""]).on_update=()=>{this.update_background()},this.update_background()}set_3d_pane_size(A,t){void 0===A&&(A=this.dom_element.offsetWidth),void 0===t&&(t=this.dom_element.offsetHeight),"OrthographicCamera"==this.camera.type?this.camera.right=this.camera.left+A*(this.camera.top-this.camera.bottom)/t:this.camera.aspect=A/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(A,t),this.set_dirty()}render(){this.controls.update(),this.camera.updateProjectionMatrix(),this.render_callback(),this.renderer.render(this.scene,this.camera),this.animator.after_render(),this.needs_render=!1}animate(){requestAnimationFrame((()=>this.animate())),this.animator.update(),this.needs_render&&this.render()}capture_image(A,t){let e=this.dom_element.offsetWidth,i=this.dom_element.offsetHeight;this.set_3d_pane_size(A,t),this.render();let n=this.renderer.domElement.toDataURL();return this.set_3d_pane_size(e,i),n}save_image(){download_data_uri("meshcat.png",this.capture_image())}set_camera(A){this.webxr_session_active?console.warn("Can't set camera during an active WebXR session."):(this.camera=A,this.controls=new three_examples_jsm_controls_OrbitControls_js__WEBPACK_IMPORTED_MODULE_8__.z(A,this.dom_element),this.controls.enableKeys=!1,this.controls.addEventListener("start",(()=>{this.set_dirty()})),this.controls.addEventListener("change",(()=>{this.set_dirty()})),this.update_webxr_buttons(),this.update_background())}set_render_callback(callback){var my_callback=eval(callback);this.render_callback=null==my_callback?()=>{}:my_callback}set_camera_target(A){this.controls.target.set(A[0],A[1],A[2])}set_camera_from_json(A){(new ExtensibleObjectLoader).parse(A,(A=>{this.set_camera(A)}))}set_transform(A,t){this.scene_tree.find(A).set_transform(t)}set_object(A,t){this.scene_tree.find(A.concat([""])).set_object(t)}set_object_from_json(A,t){let e=A=>{"Mesh"===A.type&&(A.castShadow=!0,A.receiveShadow=!0);for(let t=0;t{e(t),this.set_object(A,t),this.set_dirty()};if("_meshfile_object"==t.object.type&&"gltf"==t.object.format){let A=new three_examples_jsm_loaders_GLTFLoader_js__WEBPACK_IMPORTED_MODULE_9__.E;A.setDRACOLoader(this.draco_loader),A.setKTX2Loader(this.ktx2_loader),A.parse(t.object.data,null,(A=>{let e=A.scene;if(null===e)console.error("Gltf parsed with no scene!");else{let A=t.object;if(void 0!==A.matrix){e.matrix.fromArray(A.matrix);let t=new three__WEBPACK_IMPORTED_MODULE_1__.Matrix4;t=t.makeRotationX(Math.PI/2),e.matrix.multiply(t),void 0!==A.matrixAutoUpdate&&(e.matrixAutoUpdate=A.matrixAutoUpdate),e.matrixAutoUpdate&&e.matrix.decompose(e.position,e.quaternion,e.scale)}i(e)}}))}else{let A=new ExtensibleObjectLoader;A.onTextureLoad=()=>{this.set_dirty()},A.parse(t,(A=>{void 0!==A.geometry&&"BufferGeometry"==A.geometry.type?void 0!==A.geometry.attributes.normal&&0!==A.geometry.attributes.normal.count||A.geometry.computeVertexNormals():A.type.includes("Camera")&&(this.set_camera(A),this.set_3d_pane_size()),i(A)}))}}delete_path(A){0==A.length?console.error("Deleting the entire scene is not implemented"):this.scene_tree.delete(A)}set_property(A,t,e){1===A.length&&"Background"===A[0]&&"visible"!==t&&(console.warn("To set the Background property "+t+', use the path "/Background/" instead of just "/Background".'),A=[A[0],""]),this.scene_tree.find(A).set_property(t,e,A)}set_animation(A,t){t=t||{},this.animator.load(A,t)}set_control(name,callback,value,min,max,step,keycode1,keycode2){let my_callback=eval(callback),handler={};if(name in this.gui_controllers&&this.gui.remove(this.gui_controllers[name]),void 0!==value){function A(A,t,e){if(null!=t){let i={name,callback:()=>{value=A.gui_controllers[name].getValue();let t=Math.min(Math.max(value+e,min),max);A.gui_controllers[name].setValue(t)}};t in A.keydown_callbacks?A.keydown_callbacks[t].push(i):A.keydown_callbacks[t]=[i]}}handler[name]=value,this.gui_controllers[name]=this.gui.add(handler,name,min,max,step),this.gui_controllers[name].onChange(my_callback),A(this,keycode1,-step),A(this,keycode2,+step)}else if(handler[name]=my_callback,this.gui_controllers[name]=this.gui.add(handler,name),this.gui_controllers[name].domElement.parentElement.querySelector(".property-name").style.width="100%",null!=keycode1){let t={name,callback:my_callback};keycode1 in this.keydown_callbacks?this.keydown_callbacks[keycode1].push(t):this.keydown_callbacks[keycode1]=[t]}}set_control_value(A,t,e=!0){A in this.gui_controllers&&this.gui_controllers[A]instanceof dat.controllers.NumberController&&(e?this.gui_controllers[A].setValue(t):(this.gui_controllers[A].object[A]=t,this.gui_controllers[A].updateDisplay()))}delete_control(A){A in this.gui_controllers&&(this.gui.remove(this.gui_controllers[A]),delete this.gui_controllers[A]);for(let t in this.keydown_callbacks){let e=this.keydown_callbacks[t].length;for(;e--;)this.keydown_callbacks[t][e].name==A&&this.keydown_callbacks[t].splice(e,1)}}handle_command(A){if("set_transform"==A.type){let t=split_path(A.path);this.set_transform(t,A.matrix)}else if("delete"==A.type){let t=split_path(A.path);this.delete_path(t)}else if("set_object"==A.type){let t=split_path(A.path);this.set_object_from_json(t,A.object)}else if("set_property"==A.type){let t=split_path(A.path);this.set_property(t,A.property,A.value)}else if("set_animation"==A.type)A.animations.forEach((A=>{A.path=split_path(A.path)})),this.set_animation(A.animations,A.options);else if("set_target"==A.type)this.set_camera_target(A.value);else if("set_control"==A.type)this.set_control(A.name,A.callback,A.value,A.min,A.max,A.step,A.keycode1,A.keycode2);else if("set_control_value"==A.type)this.set_control_value(A.name,A.value,A.invoke_callback);else if("delete_control"==A.type)this.delete_control(A.name);else if("capture_image"==A.type){let t=A.xres||1920,e=A.yres||1080;t/=this.renderer.getPixelRatio(),e/=this.renderer.getPixelRatio();let i=this.capture_image(t,e);this.connection.send(JSON.stringify({type:"img",data:i}))}else"save_image"==A.type?this.save_image():"enable_webxr"==A.type?this.enable_webxr(A.mode):"visualize_vr_controller"==A.type?this.visualize_vr_controllers():"set_render_callback"==A.type&&this.set_render_callback(A.callback);this.set_dirty()}decode(A){return msgpack.decode(new Uint8Array(A.data),{extensionCodec})}handle_command_bytearray(A){let t=msgpack.decode(A,{extensionCodec});this.handle_command(t)}handle_command_message(A){this.num_messages_received++;let t=this.decode(A);this.handle_command(t)}connect(A){void 0===A&&(A=`ws://${location.host}`),"https:"==location.protocol&&(A=A.replace("ws:","wss:")),this.connection=new WebSocket(A),this.connection.binaryType="arraybuffer",this.connection.onmessage=A=>this.handle_command_message(A),this.connection.onclose=function(A){console.log("onclose:",A)}}save_scene(){download_file("scene.json",JSON.stringify(this.scene.toJSON()))}load_scene_from_json(A){let t=new ExtensibleObjectLoader;t.onTextureLoad=()=>{this.set_dirty()},this.scene_tree.dispose_recursive(),this.scene=t.parse(A),this.show_background(),this.create_scene_tree();let e=this.scene_tree.find(["Cameras","default","rotated",""]);e.object.isCamera?this.set_camera(e.object):this.create_camera()}handle_load_file(A){let t=A.files[0];if(!t)return;let e=new FileReader,i=this;e.onload=function(A){let t=this.result,e=JSON.parse(t);i.load_scene_from_json(e)},e.readAsText(t)}load_scene(){let A=document.createElement("input");A.type="file",document.body.appendChild(A);let t=this;A.addEventListener("change",(function(){console.log(this,t),t.handle_load_file(this)}),!1),A.click(),A.remove()}update_webxr_buttons(){const A=document.getElementById("XRButton"),t=document.getElementById("VRButton"),e=A||t;null!=e&&null!=e.textContent&&0!=e.textContent.length&&(null==e.original_content&&(e.original_content=e.textContent,e.original_disabled=e.disabled),this.is_perspective()?null!=e.original_content&&(e.textContent=e.original_content,e.disabled=e.original_disabled,e.original_content=null,e.original_disabled=null):(e.disabled=!0,e.textContent="AR/VR Disabled for Orthographic Cameras"))}visualize_vr_controllers(){const A=new three_examples_jsm_webxr_XRControllerModelFactory__WEBPACK_IMPORTED_MODULE_10__.i,t=(new three__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry).setFromPoints([new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,0),new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,-1)]),e=new three__WEBPACK_IMPORTED_MODULE_1__.Line(t);e.scale.z=5;const i=[];for(let t=0;t<2;t++){const n=this.renderer.xr.getController(t);n.add(e.clone());const g=new three__WEBPACK_IMPORTED_MODULE_1__.Group;g.rotation.x=Math.PI/2,g.add(n),this.scene.add(g),i.push(g);const o=this.renderer.xr.getControllerGrip(t),s=new three__WEBPACK_IMPORTED_MODULE_1__.Group;s.rotation.x=Math.PI/2,s.add(o),this.scene.add(s);const a=A.createControllerModel(o);o.add(a)}return i}enable_webxr(A="ar"){if(this.renderer.xr.enabled)console.warn("WebXR/VR has already been enabled.");else{if("vr"==A)this.xr_button=three_examples_jsm_webxr_VRButton_js__WEBPACK_IMPORTED_MODULE_11__.N.createButton(this.renderer);else{if("ar"!=A)return void console.error(`enable_webxr takes either "ar" or "vr" as arguments. Given "${A}".`);this.xr_button=three_examples_jsm_webxr_XRButton_js__WEBPACK_IMPORTED_MODULE_12__.v.createButton(this.renderer)}this.renderer.xr.enabled=!0,document.body.appendChild(this.xr_button),wait_for_property(this.xr_button,"textContent",(A=>A.length>0)).then((()=>{this.update_webxr_buttons()}));var t=null;this.renderer.xr.addEventListener("sessionstart",(()=>{t=this.camera.updateProjectionMatrix,"ar"==A&&this.set_property(["Background"],"use_ar_background",!0),this.webxr_session_active=!0,console.info("Immersive session starting, controls are being removed."),this.renderer.xr.getSession().requestReferenceSpace("local").then((A=>{let t=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3;t.setFromMatrixColumn(this.camera.matrixWorld,2),Math.abs(t.y)>.5&&console.warn("The view camera was pointed up or down a significant amount when entering XR mode. Tilt the headset the same amount to see the camera's original target.");let e=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(t.x,0,t.z);e.normalize();let i=new three__WEBPACK_IMPORTED_MODULE_1__.Vector3(0,0,1),n=new three__WEBPACK_IMPORTED_MODULE_1__.Quaternion;n.setFromUnitVectors(e,i);const g=this.camera.position.clone().negate();g.applyQuaternion(n);let o=new XRRigidTransform(g,n);this.renderer.xr.setReferenceSpace(A.getOffsetReferenceSpace(o))})),this.camera.updateProjectionMatrix=()=>{console.warn("Updating the camera projection matrix is disallowed in immersive mode.")},this.renderer.setAnimationLoop((()=>{this.renderer.render(this.scene,this.camera)}))})),this.renderer.xr.addEventListener("sessionend",(()=>{this.webxr_session_active=!1,"ar"==A&&this.set_property(["Background"],"use_ar_background",!1),this.renderer.setAnimationLoop(null),this.camera.updateProjectionMatrix=t}))}}}function split_path(A){return A.split("/").filter((A=>A.length>0))}let style=document.createElement("style");style.appendChild(document.createTextNode("")),document.head.appendChild(style),style.sheet.insertRule("\n .meshcat-visibility-checkbox > input {\n float: right;\n }"),style.sheet.insertRule("\n .meshcat-hidden-scene-element li .meshcat-visibility-checkbox {\n opacity: 0.25;\n pointer-events: none;\n }"),style.sheet.insertRule("\n .meshcat-visibility-checkbox > input[type=checkbox] {\n height: 16px;\n width: 16px;\n display:inline-block;\n padding: 0 0 0 0px;\n }")})(),__webpack_exports__})())); \ No newline at end of file diff --git a/dist/main.min.js.THIRD_PARTY_LICENSES.json b/dist/main.min.js.THIRD_PARTY_LICENSES.json index 7a306f5..73b2409 100644 --- a/dist/main.min.js.THIRD_PARTY_LICENSES.json +++ b/dist/main.min.js.THIRD_PARTY_LICENSES.json @@ -35,6 +35,15 @@ "license": "MIT", "licenseText": "The MIT License\n\nCopyright © 2010-2024 three.js authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n" }, + { + "name": "three", + "version": "0.160.1", + "author": "mrdoob", + "repository": "https://github.com/mrdoob/three.js", + "source": "https://registry.npmjs.org/three/-/three-0.160.1.tgz", + "license": "MIT", + "licenseText": "The MIT License\n\nCopyright © 2010-2023 three.js authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n" + }, { "name": "wtd-core", "version": "3.0.0", diff --git a/src/index.js b/src/index.js index d42d1aa..3823154 100644 --- a/src/index.js +++ b/src/index.js @@ -143,8 +143,19 @@ function merge_geometries(object, preserve_materials = false) { } } else if (geometries.length > 1) { result = mergeGeometries(geometries, true); + const ngeom = result.groups.length; + let mts = []; if (preserve_materials) { - result.material = materials; + for (let i = 0; i < ngeom; i++) { + const group = result.groups[i]; + let m = materials[i]; + if (Array.isArray(m)) { + mts.push(m[m.length - 1]); + } else { + mts.push(m); + } + } + result.material = mts; } } else { result = new THREE.BufferGeometry();