@realsee/five 5.0.0-alpha.13 → 5.0.0-alpha.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/README.md +21 -11
  2. package/docs/.nojekyll +1 -0
  3. package/docs/assets/highlight.css +134 -0
  4. package/docs/assets/icons.css +1043 -0
  5. package/docs/assets/{images/icons.png → icons.png} +0 -0
  6. package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  7. package/docs/assets/main.js +52 -0
  8. package/docs/assets/search.js +1 -0
  9. package/docs/assets/style.css +1413 -0
  10. package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  11. package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  12. package/docs/classes/five.AnimationFrameLoop.html +15 -0
  13. package/docs/classes/five.BVH.html +10 -0
  14. package/docs/classes/five.BVHIntersect.html +1 -0
  15. package/docs/classes/five.BVHNode.html +7 -0
  16. package/docs/classes/five.BVHVector3.html +1 -0
  17. package/docs/classes/five.Camera.html +11 -0
  18. package/docs/classes/five.Five.html +303 -0
  19. package/docs/classes/five.InternalWebGLRenderer.html +1 -0
  20. package/docs/classes/five.IntersectMesh.html +1 -0
  21. package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
  22. package/docs/classes/five.Model.html +87 -0
  23. package/docs/classes/five.NetworkSubscribe.html +50 -0
  24. package/docs/classes/five.PBMContainer.html +17 -0
  25. package/docs/classes/five.PBMGroup.html +19 -0
  26. package/docs/classes/five.PBMMaterial.html +17 -0
  27. package/docs/classes/five.PBMMesh.html +7 -0
  28. package/docs/classes/five.PanoCircleMesh.html +7 -0
  29. package/docs/classes/five.Scene.html +3 -0
  30. package/docs/classes/five.Subscribe.html +56 -0
  31. package/docs/classes/five.Tile3DModel.html +15 -0
  32. package/docs/classes/five.Work.html +30 -0
  33. package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
  34. package/docs/classes/gltf_loader.GLTFObject.html +7 -0
  35. package/docs/classes/line.Line.html +1 -0
  36. package/docs/classes/line.LineGeometry.html +1 -0
  37. package/docs/classes/line.LineMaterial.html +1 -0
  38. package/docs/classes/line.LineSegmentsGeometry.html +1 -0
  39. package/docs/classes/line.THREE_Line2.html +1 -0
  40. package/docs/classes/line.THREE_LineSegments2.html +1 -0
  41. package/docs/classes/react.Store.html +29 -0
  42. package/docs/classes/server.BVH.html +10 -0
  43. package/docs/classes/server.BVHIntersect.html +1 -0
  44. package/docs/classes/server.BVHNode.html +7 -0
  45. package/docs/classes/server.BVHVector3.html +1 -0
  46. package/docs/classes/server.Model.html +63 -0
  47. package/docs/classes/server.PBMGroup.html +9 -0
  48. package/docs/classes/server.PBMMesh.html +7 -0
  49. package/docs/classes/sticker.Sticker.html +32 -0
  50. package/docs/index.html +166 -422
  51. package/docs/interfaces/five.AddableObject.html +1 -0
  52. package/docs/interfaces/five.AnimationFrame.html +1 -0
  53. package/docs/interfaces/five.CameraPose.html +1 -0
  54. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
  55. package/docs/interfaces/five.EventCallback.html +391 -0
  56. package/docs/interfaces/five.FiveInitArgs.html +105 -0
  57. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +15 -0
  58. package/docs/interfaces/five.ImageOptions.html +18 -0
  59. package/docs/interfaces/five.ImageURLMappings.html +1 -0
  60. package/docs/interfaces/five.ImageURLOptions.html +17 -0
  61. package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
  62. package/docs/interfaces/five.Intersection.html +7 -0
  63. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +15 -0
  64. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
  65. package/docs/interfaces/five.ModelEventCallback.html +22 -0
  66. package/docs/interfaces/five.MovePanoOptions.html +42 -0
  67. package/docs/interfaces/five.PBMPanoPicture.html +7 -0
  68. package/docs/interfaces/five.PBMParameters.html +17 -0
  69. package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
  70. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +33 -0
  71. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
  72. package/docs/interfaces/five.Pose.html +37 -0
  73. package/docs/interfaces/five.Scissor.html +14 -0
  74. package/docs/interfaces/five.State.html +21 -0
  75. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
  76. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
  77. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
  78. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
  79. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
  80. package/docs/interfaces/five.TextureOptions.html +20 -0
  81. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -0
  82. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +29 -0
  83. package/docs/interfaces/five.WorkCubeImage.html +13 -0
  84. package/docs/interfaces/five.WorkImage.html +21 -0
  85. package/docs/interfaces/five.WorkInitial.html +13 -0
  86. package/docs/interfaces/five.WorkModel.html +11 -0
  87. package/docs/interfaces/five.WorkModelTiles.html +3 -0
  88. package/docs/interfaces/five.WorkObserver.html +25 -0
  89. package/docs/interfaces/five.WorkTile.html +1 -0
  90. package/docs/interfaces/five.WorkVideo.html +9 -0
  91. package/docs/interfaces/gltf_loader.GLTF.html +7 -0
  92. package/docs/interfaces/react.FiveActionReactCallbacks.html +62 -0
  93. package/docs/interfaces/react.FiveInjectionTypes.html +191 -0
  94. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
  95. package/docs/interfaces/server.Intersection.html +7 -0
  96. package/docs/interfaces/server.ModelEventCallback.html +18 -0
  97. package/docs/interfaces/sticker.IntersectionLike.html +8 -0
  98. package/docs/interfaces/vue.FiveActionVueCallbacks.html +62 -0
  99. package/docs/modules/five.SubscribeMixinType.html +1 -0
  100. package/docs/modules/five.html +482 -0
  101. package/docs/modules/gltf_loader.html +1 -0
  102. package/docs/modules/line.html +1 -0
  103. package/docs/modules/react.html +130 -1178
  104. package/docs/modules/server.html +18 -0
  105. package/docs/modules/sticker.html +1 -0
  106. package/docs/modules/vue.html +112 -0
  107. package/docs/modules.html +1 -120
  108. package/exporters/staticify.js +210 -0
  109. package/{index.d.ts → five/index.d.ts} +1196 -322
  110. package/five/index.js +372 -0
  111. package/gltf-loader/index.d.ts +75 -0
  112. package/gltf-loader/index.js +260 -0
  113. package/line/index.d.ts +68 -0
  114. package/line/index.js +260 -0
  115. package/package.json +25 -17
  116. package/react/index.d.ts +160 -92
  117. package/react/index.js +260 -1
  118. package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
  119. package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
  120. package/resource/gltf/draco_decoder.js +31 -0
  121. package/resource/gltf/draco_decoder.wasm +0 -0
  122. package/resource/gltf/draco_wasm_wrapper.js +119 -0
  123. package/scripts/five-staticify.js +26 -0
  124. package/server/index.d.ts +194 -25
  125. package/server/index.js +367 -1
  126. package/sticker/index.d.ts +70 -0
  127. package/sticker/index.js +260 -0
  128. package/templates/quick-start/README.md +1 -1
  129. package/templates/quick-start/package.json +1 -1
  130. package/templates/react-component/lib/index.tsx +3 -3
  131. package/umd/five-gltf-loader.js +2 -0
  132. package/umd/five-gltf-loader.js.LICENSE.txt +14 -0
  133. package/umd/five-line.js +2 -0
  134. package/umd/five-line.js.LICENSE.txt +14 -0
  135. package/umd/five-react.js +2 -0
  136. package/umd/five-react.js.LICENSE.txt +14 -0
  137. package/umd/five-sticker.js +2 -0
  138. package/umd/five-sticker.js.LICENSE.txt +14 -0
  139. package/umd/five-vue.js +1 -0
  140. package/umd/five.js +2 -0
  141. package/umd/five.js.LICENSE.txt +116 -0
  142. package/vue/index.d.ts +433 -0
  143. package/vue/index.js +260 -0
  144. package/bundles/five.js +0 -2
  145. package/bundles/five.js.LICENSE.txt +0 -160
  146. package/docs/assets/css/main.css +0 -2660
  147. package/docs/assets/js/main.js +0 -248
  148. package/docs/assets/js/search.js +0 -1
  149. package/docs/classes/index.five.html +0 -2498
  150. package/docs/classes/index.fivecamera.html +0 -311
  151. package/docs/classes/index.fivehashcubetexture.html +0 -240
  152. package/docs/classes/index.fiveline.html +0 -342
  153. package/docs/classes/index.fivelinegeometry.html +0 -500
  154. package/docs/classes/index.fivelinematerial.html +0 -276
  155. package/docs/classes/index.fivelinesegmentsgeometry.html +0 -447
  156. package/docs/classes/index.fivescene.html +0 -186
  157. package/docs/classes/index.internalwebglrenderer.html +0 -200
  158. package/docs/classes/index.model.html +0 -883
  159. package/docs/classes/index.pbmgroup.html +0 -415
  160. package/docs/classes/index.pbmmaterial.html +0 -521
  161. package/docs/classes/index.pbmmesh.html +0 -242
  162. package/docs/classes/index.subscribe.html +0 -556
  163. package/docs/classes/react.store.html +0 -584
  164. package/docs/interfaces/index.depthpanoramacontrollercustominitargs.html +0 -408
  165. package/docs/interfaces/index.eventcallback.html +0 -2452
  166. package/docs/interfaces/index.fiveinitargs.html +0 -695
  167. package/docs/interfaces/index.floorplancontrollercustominitargs.html +0 -283
  168. package/docs/interfaces/index.imageoptions.html +0 -320
  169. package/docs/interfaces/index.intersection.html +0 -215
  170. package/docs/interfaces/index.intersectmeshinterface.html +0 -176
  171. package/docs/interfaces/index.modelcontrollercustominitargs.html +0 -354
  172. package/docs/interfaces/index.modeleventcallback.html +0 -316
  173. package/docs/interfaces/index.movepanooptions.html +0 -457
  174. package/docs/interfaces/index.panocirclemeshinterface.html +0 -349
  175. package/docs/interfaces/index.panoramacontrollercustominitargs.html +0 -433
  176. package/docs/interfaces/index.panoramalikecontrollercustominitargs.html +0 -352
  177. package/docs/interfaces/index.pbmparameters.html +0 -462
  178. package/docs/interfaces/index.pose.html +0 -258
  179. package/docs/interfaces/index.scissor.html +0 -240
  180. package/docs/interfaces/index.state.html +0 -288
  181. package/docs/interfaces/index.subscribemixintype.emit.html +0 -180
  182. package/docs/interfaces/index.subscribemixintype.haslistener.html +0 -171
  183. package/docs/interfaces/index.subscribemixintype.off.html +0 -198
  184. package/docs/interfaces/index.subscribemixintype.on.html +0 -213
  185. package/docs/interfaces/index.subscribemixintype.once.html +0 -210
  186. package/docs/interfaces/index.topviewcontrollercustominitargs.html +0 -214
  187. package/docs/interfaces/index.vrpanoramacontrollercustominitargs.html +0 -420
  188. package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -559
  189. package/docs/interfaces/react.fiveinjectiontypes.html +0 -1473
  190. package/docs/interfaces/react.injectfivetoprops.html +0 -259
  191. package/docs/modules/index.html +0 -3027
  192. package/docs/modules/index.subscribemixintype.html +0 -143
  193. package/five.js.LICENSE.txt +0 -160
  194. package/index.js +0 -1
  195. package/scripts/export-five-resource/chfs.exe +0 -0
  196. package/scripts/export-five-resource/fileify.js +0 -192
  197. package/scripts/export-five-resource/format-work.js +0 -71
  198. package/scripts/export-five-resource/staticify.js +0 -327
  199. package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
  200. package/scripts/transcode-model/LoaderSupport.js +0 -1545
  201. package/scripts/transcode-model/MTLLoader.js +0 -602
  202. package/scripts/transcode-model/OBJLoader2.js +0 -1470
  203. package/scripts/transcode-model/obj2pbm.js +0 -65
package/bundles/five.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see five.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Five=t():e.Five=t()}(self,(function(){return(()=>{var __webpack_modules__={168:e=>{if(!("THREE"in window))throw new Error('"THREE" is not available. "Five" requires it. Please include "THREE.js" in your HTML.');const t=Number(THREE.REVISION);if(t<115||t>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');e.exports=window.THREE},6781:e=>{"use strict";e.exports=function(e,t){for(var i=new Array(arguments.length-1),n=0,r=2,o=!0;r<arguments.length;)i[n++]=arguments[r++];return new Promise((function(r,s){i[n]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),i=0;i<t.length;)t[i++]=arguments[i];r.apply(null,t)}};try{e.apply(t||null,i)}catch(e){o&&(o=!1,s(e))}}))}},7026:(e,t)=>{"use strict";var i=t;i.length=function(e){var t=e.length;if(!t)return 0;for(var i=0;--t%4>1&&"="===e.charAt(t);)++i;return Math.ceil(3*e.length)/4-i};for(var n=new Array(64),r=new Array(123),o=0;o<64;)r[n[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;i.encode=function(e,t,i){for(var r,o=null,s=[],a=0,u=0;t<i;){var c=e[t++];switch(u){case 0:s[a++]=n[c>>2],r=(3&c)<<4,u=1;break;case 1:s[a++]=n[r|c>>4],r=(15&c)<<2,u=2;break;case 2:s[a++]=n[r|c>>6],s[a++]=n[63&c],u=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return u&&(s[a++]=n[r],s[a++]=61,1===u&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";i.decode=function(e,t,i){for(var n,o=i,a=0,u=0;u<e.length;){var c=e.charCodeAt(u++);if(61===c&&a>1)break;if(void 0===(c=r[c]))throw Error(s);switch(a){case 0:n=c,a=1;break;case 1:t[i++]=n<<2|(48&c)>>4,n=c,a=2;break;case 2:t[i++]=(15&n)<<4|(60&c)>>2,n=c,a=3;break;case 3:t[i++]=(3&n)<<6|c,a=0}}if(1===a)throw Error(s);return i-o},i.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},1706:e=>{"use strict";function t(e,i){"string"==typeof e&&(i=e,e=void 0);var n=[];function r(e){if("string"!=typeof e){var i=o();if(t.verbose&&console.log("codegen: "+i),i="return "+i,e){for(var s=Object.keys(e),a=new Array(s.length+1),u=new Array(s.length),c=0;c<s.length;)a[c]=s[c],u[c]=e[s[c++]];return a[c]=i,Function.apply(null,a).apply(null,u)}return Function(i)()}for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d]=arguments[++d];if(d=0,e=e.replace(/%([%dfijs])/g,(function(e,t){var i=l[d++];switch(t){case"d":case"f":return String(Number(i));case"i":return String(Math.floor(i));case"j":return JSON.stringify(i);case"s":return String(i)}return"%"})),d!==l.length)throw Error("parameter count mismatch");return n.push(e),r}function o(t){return"function "+(t||i||"")+"("+(e&&e.join(",")||"")+"){\n "+n.join("\n ")+"\n}"}return r.toString=o,r}e.exports=t,t.verbose=!1},5570:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,i){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:i||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var i=this._listeners[e],n=0;n<i.length;)i[n].fn===t?i.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var i=[],n=1;n<arguments.length;)i.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,i)}return this}},4641:(e,t,i)=>{"use strict";e.exports=o;var n=i(6781),r=i(6116)("fs");function o(e,t,i){return"function"==typeof t?(i=t,t={}):t||(t={}),i?!t.xhr&&r&&r.readFile?r.readFile(e,(function(n,r){return n&&"undefined"!=typeof XMLHttpRequest?o.xhr(e,t,i):n?i(n):i(null,t.binary?r:r.toString("utf8"))})):o.xhr(e,t,i):n(o,this,e,t)}o.xhr=function(e,t,i){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===n.readyState){if(0!==n.status&&200!==n.status)return i(Error("status "+n.status));if(t.binary){var e=n.response;if(!e){e=[];for(var r=0;r<n.responseText.length;++r)e.push(255&n.responseText.charCodeAt(r))}return i(null,"undefined"!=typeof Uint8Array?new Uint8Array(e):e)}return i(null,n.responseText)}},t.binary&&("overrideMimeType"in n&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.responseType="arraybuffer"),n.open("GET",e),n.send()}},5298:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),i=new Uint8Array(t.buffer),n=128===i[3];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3]}function o(e,n,r){t[0]=e,n[r]=i[3],n[r+1]=i[2],n[r+2]=i[1],n[r+3]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],t[0]}function a(e,n){return i[3]=e[n],i[2]=e[n+1],i[1]=e[n+2],i[0]=e[n+3],t[0]}e.writeFloatLE=n?r:o,e.writeFloatBE=n?o:r,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,i,n){var r=t<0?1:0;if(r&&(t=-t),0===t)e(1/t>0?0:2147483648,i,n);else if(isNaN(t))e(2143289344,i,n);else if(t>34028234663852886e22)e((r<<31|2139095040)>>>0,i,n);else if(t<11754943508222875e-54)e((r<<31|Math.round(t/1401298464324817e-60))>>>0,i,n);else{var o=Math.floor(Math.log(t)/Math.LN2);e((r<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,i,n)}}function s(e,t,i){var n=e(t,i),r=2*(n>>31)+1,o=n>>>23&255,s=8388607&n;return 255===o?s?NaN:r*(1/0):0===o?1401298464324817e-60*r*s:r*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,r),e.readFloatBE=s.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),i=new Uint8Array(t.buffer),n=128===i[7];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3],n[r+4]=i[4],n[r+5]=i[5],n[r+6]=i[6],n[r+7]=i[7]}function o(e,n,r){t[0]=e,n[r]=i[7],n[r+1]=i[6],n[r+2]=i[5],n[r+3]=i[4],n[r+4]=i[3],n[r+5]=i[2],n[r+6]=i[1],n[r+7]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],t[0]}function a(e,n){return i[7]=e[n],i[6]=e[n+1],i[5]=e[n+2],i[4]=e[n+3],i[3]=e[n+4],i[2]=e[n+5],i[1]=e[n+6],i[0]=e[n+7],t[0]}e.writeDoubleLE=n?r:o,e.writeDoubleBE=n?o:r,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,i,n,r,o){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,r,o+t),e(1/n>0?0:2147483648,r,o+i);else if(isNaN(n))e(0,r,o+t),e(2146959360,r,o+i);else if(n>17976931348623157e292)e(0,r,o+t),e((s<<31|2146435072)>>>0,r,o+i);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,r,o+t),e((s<<31|a/4294967296)>>>0,r,o+i);else{var u=Math.floor(Math.log(n)/Math.LN2);1024===u&&(u=1023),e(4503599627370496*(a=n*Math.pow(2,-u))>>>0,r,o+t),e((s<<31|u+1023<<20|1048576*a&1048575)>>>0,r,o+i)}}}function s(e,t,i,n,r){var o=e(n,r+t),s=e(n,r+i),a=2*(s>>31)+1,u=s>>>20&2047,c=4294967296*(1048575&s)+o;return 2047===u?c?NaN:a*(1/0):0===u?5e-324*a*c:a*Math.pow(2,u-1075)*(c+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,r,0,4),e.readDoubleBE=s.bind(null,o,4,0)}(),e}function i(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}function n(e,t,i){t[i]=e>>>24,t[i+1]=e>>>16&255,t[i+2]=e>>>8&255,t[i+3]=255&e}function r(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},6116:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},2659:(e,t)=>{"use strict";var i=t,n=i.isAbsolute=function(e){return/^(?:\/|\w+:)/.test(e)},r=i.normalize=function(e){var t=(e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),i=n(e),r="";i&&(r=t.shift()+"/");for(var o=0;o<t.length;)".."===t[o]?o>0&&".."!==t[o-1]?t.splice(--o,2):i?t.splice(o,1):++o:"."===t[o]?t.splice(o,1):++o;return r+t.join("/")};i.resolve=function(e,t,i){return i||(t=r(t)),n(t)?t:(i||(e=r(e)),(e=e.replace(/(?:\/|^)[^/]+$/,"")).length?r(e+"/"+t):t)}},804:e=>{"use strict";e.exports=function(e,t,i){var n=i||8192,r=n>>>1,o=null,s=n;return function(i){if(i<1||i>r)return e(i);s+i>n&&(o=e(n),s=0);var a=t.call(o,s,s+=i);return 7&s&&(s=1+(7|s)),a}}},7958:(e,t)=>{"use strict";var i=t;i.length=function(e){for(var t=0,i=0,n=0;n<e.length;++n)(i=e.charCodeAt(n))<128?t+=1:i<2048?t+=2:55296==(64512&i)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},i.read=function(e,t,i){if(i-t<1)return"";for(var n,r=null,o=[],s=0;t<i;)(n=e[t++])<128?o[s++]=n:n>191&&n<224?o[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(n>>10),o[s++]=56320+(1023&n)):o[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,o)),s=0);return r?(s&&r.push(String.fromCharCode.apply(String,o.slice(0,s))),r.join("")):String.fromCharCode.apply(String,o.slice(0,s))},i.write=function(e,t,i){for(var n,r,o=i,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[i++]=n:n<2048?(t[i++]=n>>6|192,t[i++]=63&n|128):55296==(64512&n)&&56320==(64512&(r=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&r),++s,t[i++]=n>>18|240,t[i++]=n>>12&63|128,t[i++]=n>>6&63|128,t[i++]=63&n|128):(t[i++]=n>>12|224,t[i++]=n>>6&63|128,t[i++]=63&n|128);return i-o}},9629:(e,t,i)=>{var n;!function(r,o,s,a){"use strict";var u,c=["","webkit","Moz","MS","ms","o"],l=o.createElement("div"),d=Math.round,h=Math.abs,M=Date.now;function p(e,t,i){return setTimeout(v(e,i),t)}function f(e,t,i){return!!Array.isArray(e)&&(A(e,i[t],i),!0)}function A(e,t,i){var n;if(e)if(e.forEach)e.forEach(t,i);else if(e.length!==a)for(n=0;n<e.length;)t.call(i,e[n],n,e),n++;else for(n in e)e.hasOwnProperty(n)&&t.call(i,e[n],n,e)}function y(e,t,i){var n="DEPRECATED METHOD: "+t+"\n"+i+" AT \n";return function(){var t=new Error("get-stack-trace"),i=t&&t.stack?t.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,n,i),e.apply(this,arguments)}}u="function"!=typeof Object.assign?function(e){if(e===a||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i<arguments.length;i++){var n=arguments[i];if(n!==a&&null!==n)for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}:Object.assign;var g=y((function(e,t,i){for(var n=Object.keys(t),r=0;r<n.length;)(!i||i&&e[n[r]]===a)&&(e[n[r]]=t[n[r]]),r++;return e}),"extend","Use `assign`."),N=y((function(e,t){return g(e,t,!0)}),"merge","Use `assign`.");function m(e,t,i){var n,r=t.prototype;(n=e.prototype=Object.create(r)).constructor=e,n._super=r,i&&u(n,i)}function v(e,t){return function(){return e.apply(t,arguments)}}function D(e,t){return"function"==typeof e?e.apply(t&&t[0]||a,t):e}function T(e,t){return e===a?t:e}function w(e,t,i){A(E(t),(function(t){e.addEventListener(t,i,!1)}))}function z(e,t,i){A(E(t),(function(t){e.removeEventListener(t,i,!1)}))}function j(e,t){for(;e;){if(e==t)return!0;e=e.parentNode}return!1}function I(e,t){return e.indexOf(t)>-1}function E(e){return e.trim().split(/\s+/g)}function x(e,t,i){if(e.indexOf&&!i)return e.indexOf(t);for(var n=0;n<e.length;){if(i&&e[n][i]==t||!i&&e[n]===t)return n;n++}return-1}function L(e){return Array.prototype.slice.call(e,0)}function O(e,t,i){for(var n=[],r=[],o=0;o<e.length;){var s=t?e[o][t]:e[o];x(r,s)<0&&n.push(e[o]),r[o]=s,o++}return i&&(n=t?n.sort((function(e,i){return e[t]>i[t]})):n.sort()),n}function b(e,t){for(var i,n,r=t[0].toUpperCase()+t.slice(1),o=0;o<c.length;){if((n=(i=c[o])?i+r:t)in e)return n;o++}return a}var S=1;function C(e){var t=e.ownerDocument||e;return t.defaultView||t.parentWindow||r}var _="ontouchstart"in r,k=b(r,"PointerEvent")!==a,U=_&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),Q="touch",B="mouse",P=["x","y"],Y=["clientX","clientY"];function R(e,t){var i=this;this.manager=e,this.callback=t,this.element=e.element,this.target=e.options.inputTarget,this.domHandler=function(t){D(e.options.enable,[e])&&i.handler(t)},this.init()}function F(e,t,i){var n=i.pointers.length,r=i.changedPointers.length,o=1&t&&n-r==0,s=12&t&&n-r==0;i.isFirst=!!o,i.isFinal=!!s,o&&(e.session={}),i.eventType=t,function(e,t){var i=e.session,n=t.pointers,r=n.length;i.firstInput||(i.firstInput=V(t)),r>1&&!i.firstMultiple?i.firstMultiple=V(t):1===r&&(i.firstMultiple=!1);var o=i.firstInput,s=i.firstMultiple,u=s?s.center:o.center,c=t.center=G(n);t.timeStamp=M(),t.deltaTime=t.timeStamp-o.timeStamp,t.angle=Z(u,c),t.distance=q(u,c),function(e,t){var i=t.center,n=e.offsetDelta||{},r=e.prevDelta||{},o=e.prevInput||{};1!==t.eventType&&4!==o.eventType||(r=e.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=e.offsetDelta={x:i.x,y:i.y}),t.deltaX=r.x+(i.x-n.x),t.deltaY=r.y+(i.y-n.y)}(i,t),t.offsetDirection=W(t.deltaX,t.deltaY);var l,d,p=H(t.deltaTime,t.deltaX,t.deltaY);t.overallVelocityX=p.x,t.overallVelocityY=p.y,t.overallVelocity=h(p.x)>h(p.y)?p.x:p.y,t.scale=s?(l=s.pointers,q((d=n)[0],d[1],Y)/q(l[0],l[1],Y)):1,t.rotation=s?function(e,t){return Z(t[1],t[0],Y)+Z(e[1],e[0],Y)}(s.pointers,n):0,t.maxPointers=i.prevInput?t.pointers.length>i.prevInput.maxPointers?t.pointers.length:i.prevInput.maxPointers:t.pointers.length,function(e,t){var i,n,r,o,s=e.lastInterval||t,u=t.timeStamp-s.timeStamp;if(8!=t.eventType&&(u>25||s.velocity===a)){var c=t.deltaX-s.deltaX,l=t.deltaY-s.deltaY,d=H(u,c,l);n=d.x,r=d.y,i=h(d.x)>h(d.y)?d.x:d.y,o=W(c,l),e.lastInterval=t}else i=s.velocity,n=s.velocityX,r=s.velocityY,o=s.direction;t.velocity=i,t.velocityX=n,t.velocityY=r,t.direction=o}(i,t);var f=e.element;j(t.srcEvent.target,f)&&(f=t.srcEvent.target),t.target=f}(e,i),e.emit("hammer.input",i),e.recognize(i),e.session.prevInput=i}function V(e){for(var t=[],i=0;i<e.pointers.length;)t[i]={clientX:d(e.pointers[i].clientX),clientY:d(e.pointers[i].clientY)},i++;return{timeStamp:M(),pointers:t,center:G(t),deltaX:e.deltaX,deltaY:e.deltaY}}function G(e){var t=e.length;if(1===t)return{x:d(e[0].clientX),y:d(e[0].clientY)};for(var i=0,n=0,r=0;r<t;)i+=e[r].clientX,n+=e[r].clientY,r++;return{x:d(i/t),y:d(n/t)}}function H(e,t,i){return{x:t/e||0,y:i/e||0}}function W(e,t){return e===t?1:h(e)>=h(t)?e<0?2:4:t<0?8:16}function q(e,t,i){i||(i=P);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return Math.sqrt(n*n+r*r)}function Z(e,t,i){i||(i=P);var n=t[i[0]]-e[i[0]],r=t[i[1]]-e[i[1]];return 180*Math.atan2(r,n)/Math.PI}R.prototype={handler:function(){},init:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(C(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&z(this.element,this.evEl,this.domHandler),this.evTarget&&z(this.target,this.evTarget,this.domHandler),this.evWin&&z(C(this.element),this.evWin,this.domHandler)}};var X={mousedown:1,mousemove:2,mouseup:4},J="mousedown",K="mousemove mouseup";function $(){this.evEl=J,this.evWin=K,this.pressed=!1,R.apply(this,arguments)}m($,R,{handler:function(e){var t=X[e.type];1&t&&0===e.button&&(this.pressed=!0),2&t&&1!==e.which&&(t=4),this.pressed&&(4&t&&(this.pressed=!1),this.callback(this.manager,t,{pointers:[e],changedPointers:[e],pointerType:B,srcEvent:e}))}});var ee={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},te={2:Q,3:"pen",4:B,5:"kinect"},ie="pointerdown",ne="pointermove pointerup pointercancel";function re(){this.evEl=ie,this.evWin=ne,R.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(ie="MSPointerDown",ne="MSPointerMove MSPointerUp MSPointerCancel"),m(re,R,{handler:function(e){var t=this.store,i=!1,n=e.type.toLowerCase().replace("ms",""),r=ee[n],o=te[e.pointerType]||e.pointerType,s=o==Q,a=x(t,e.pointerId,"pointerId");1&r&&(0===e.button||s)?a<0&&(t.push(e),a=t.length-1):12&r&&(i=!0),a<0||(t[a]=e,this.callback(this.manager,r,{pointers:t,changedPointers:[e],pointerType:o,srcEvent:e}),i&&t.splice(a,1))}});var oe={touchstart:1,touchmove:2,touchend:4,touchcancel:8},se="touchstart",ae="touchstart touchmove touchend touchcancel";function ue(){this.evTarget=se,this.evWin=ae,this.started=!1,R.apply(this,arguments)}function ce(e,t){var i=L(e.touches),n=L(e.changedTouches);return 12&t&&(i=O(i.concat(n),"identifier",!0)),[i,n]}m(ue,R,{handler:function(e){var t=oe[e.type];if(1===t&&(this.started=!0),this.started){var i=ce.call(this,e,t);12&t&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Q,srcEvent:e})}}});var le={touchstart:1,touchmove:2,touchend:4,touchcancel:8},de="touchstart touchmove touchend touchcancel";function he(){this.evTarget=de,this.targetIds={},R.apply(this,arguments)}function Me(e,t){var i=L(e.touches),n=this.targetIds;if(3&t&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,o,s=L(e.changedTouches),a=[],u=this.target;if(o=i.filter((function(e){return j(e.target,u)})),1===t)for(r=0;r<o.length;)n[o[r].identifier]=!0,r++;for(r=0;r<s.length;)n[s[r].identifier]&&a.push(s[r]),12&t&&delete n[s[r].identifier],r++;return a.length?[O(o.concat(a),"identifier",!0),a]:void 0}function pe(){R.apply(this,arguments);var e=v(this.handler,this);this.touch=new he(this.manager,e),this.mouse=new $(this.manager,e),this.primaryTouch=null,this.lastTouches=[]}function fe(e,t){1&e?(this.primaryTouch=t.changedPointers[0].identifier,Ae.call(this,t)):12&e&&Ae.call(this,t)}function Ae(e){var t=e.changedPointers[0];if(t.identifier===this.primaryTouch){var i={x:t.clientX,y:t.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var e=n.indexOf(i);e>-1&&n.splice(e,1)}),2500)}}function ye(e){for(var t=e.srcEvent.clientX,i=e.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],o=Math.abs(t-r.x),s=Math.abs(i-r.y);if(o<=25&&s<=25)return!0}return!1}m(he,R,{handler:function(e){var t=le[e.type],i=Me.call(this,e,t);i&&this.callback(this.manager,t,{pointers:i[0],changedPointers:i[1],pointerType:Q,srcEvent:e})}}),m(pe,R,{handler:function(e,t,i){var n=i.pointerType==Q,r=i.pointerType==B;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)fe.call(this,t,i);else if(r&&ye.call(this,i))return;this.callback(e,t,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ge=b(l.style,"touchAction"),Ne=ge!==a,me="compute",ve="auto",De="manipulation",Te="none",we="pan-x",ze="pan-y",je=function(){if(!Ne)return!1;var e={},t=r.CSS&&r.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){e[i]=!t||r.CSS.supports("touch-action",i)})),e}();function Ie(e,t){this.manager=e,this.set(t)}Ie.prototype={set:function(e){e==me&&(e=this.compute()),Ne&&this.manager.element.style&&je[e]&&(this.manager.element.style[ge]=e),this.actions=e.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var e=[];return A(this.manager.recognizers,(function(t){D(t.options.enable,[t])&&(e=e.concat(t.getTouchAction()))})),function(e){if(I(e,Te))return Te;var t=I(e,we),i=I(e,ze);return t&&i?Te:t||i?t?we:ze:I(e,De)?De:ve}(e.join(" "))},preventDefaults:function(e){var t=e.srcEvent,i=e.offsetDirection;if(this.manager.session.prevented)t.preventDefault();else{var n=this.actions,r=I(n,Te)&&!je.none,o=I(n,ze)&&!je["pan-y"],s=I(n,we)&&!je["pan-x"];if(r){var a=1===e.pointers.length,u=e.distance<2,c=e.deltaTime<250;if(a&&u&&c)return}if(!s||!o)return r||o&&6&i||s&&24&i?this.preventSrc(t):void 0}},preventSrc:function(e){this.manager.session.prevented=!0,e.preventDefault()}};var Ee=32;function xe(e){this.options=u({},this.defaults,e||{}),this.id=S++,this.manager=null,this.options.enable=T(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Le(e){return 16&e?"cancel":8&e?"end":4&e?"move":2&e?"start":""}function Oe(e){return 16==e?"down":8==e?"up":2==e?"left":4==e?"right":""}function be(e,t){var i=t.manager;return i?i.get(e):e}function Se(){xe.apply(this,arguments)}function Ce(){Se.apply(this,arguments),this.pX=null,this.pY=null}function _e(){Se.apply(this,arguments)}function ke(){xe.apply(this,arguments),this._timer=null,this._input=null}function Ue(){Se.apply(this,arguments)}function Qe(){Se.apply(this,arguments)}function Be(){xe.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Pe(e,t){return(t=t||{}).recognizers=T(t.recognizers,Pe.defaults.preset),new Ye(e,t)}function Ye(e,t){this.options=u({},Pe.defaults,t||{}),this.options.inputTarget=this.options.inputTarget||e,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=e,this.input=new(this.options.inputClass||(k?re:U?he:_?pe:$))(this,F),this.touchAction=new Ie(this,this.options.touchAction),Re(this,!0),A(this.options.recognizers,(function(e){var t=this.add(new e[0](e[1]));e[2]&&t.recognizeWith(e[2]),e[3]&&t.requireFailure(e[3])}),this)}function Re(e,t){var i,n=e.element;n.style&&(A(e.options.cssProps,(function(r,o){i=b(n.style,o),t?(e.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=e.oldCssProps[i]||""})),t||(e.oldCssProps={}))}xe.prototype={defaults:{},set:function(e){return u(this.options,e),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(e){if(f(e,"recognizeWith",this))return this;var t=this.simultaneous;return t[(e=be(e,this)).id]||(t[e.id]=e,e.recognizeWith(this)),this},dropRecognizeWith:function(e){return f(e,"dropRecognizeWith",this)||(e=be(e,this),delete this.simultaneous[e.id]),this},requireFailure:function(e){if(f(e,"requireFailure",this))return this;var t=this.requireFail;return-1===x(t,e=be(e,this))&&(t.push(e),e.requireFailure(this)),this},dropRequireFailure:function(e){if(f(e,"dropRequireFailure",this))return this;e=be(e,this);var t=x(this.requireFail,e);return t>-1&&this.requireFail.splice(t,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(e){return!!this.simultaneous[e.id]},emit:function(e){var t=this,i=this.state;function n(i){t.manager.emit(i,e)}i<8&&n(t.options.event+Le(i)),n(t.options.event),e.additionalEvent&&n(e.additionalEvent),i>=8&&n(t.options.event+Le(i))},tryEmit:function(e){if(this.canEmit())return this.emit(e);this.state=Ee},canEmit:function(){for(var e=0;e<this.requireFail.length;){if(!(33&this.requireFail[e].state))return!1;e++}return!0},recognize:function(e){var t=u({},e);if(!D(this.options.enable,[this,t]))return this.reset(),void(this.state=Ee);56&this.state&&(this.state=1),this.state=this.process(t),30&this.state&&this.tryEmit(t)},process:function(e){},getTouchAction:function(){},reset:function(){}},m(Se,xe,{defaults:{pointers:1},attrTest:function(e){var t=this.options.pointers;return 0===t||e.pointers.length===t},process:function(e){var t=this.state,i=e.eventType,n=6&t,r=this.attrTest(e);return n&&(8&i||!r)?16|t:n||r?4&i?8|t:2&t?4|t:2:Ee}}),m(Ce,Se,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var e=this.options.direction,t=[];return 6&e&&t.push(ze),24&e&&t.push(we),t},directionTest:function(e){var t=this.options,i=!0,n=e.distance,r=e.direction,o=e.deltaX,s=e.deltaY;return r&t.direction||(6&t.direction?(r=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(e.deltaX)):(r=0===s?1:s<0?8:16,i=s!=this.pY,n=Math.abs(e.deltaY))),e.direction=r,i&&n>t.threshold&&r&t.direction},attrTest:function(e){return Se.prototype.attrTest.call(this,e)&&(2&this.state||!(2&this.state)&&this.directionTest(e))},emit:function(e){this.pX=e.deltaX,this.pY=e.deltaY;var t=Oe(e.direction);t&&(e.additionalEvent=this.options.event+t),this._super.emit.call(this,e)}}),m(_e,Se,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Te]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},emit:function(e){if(1!==e.scale){var t=e.scale<1?"in":"out";e.additionalEvent=this.options.event+t}this._super.emit.call(this,e)}}),m(ke,xe,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ve]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime>t.time;if(this._input=e,!n||!i||12&e.eventType&&!r)this.reset();else if(1&e.eventType)this.reset(),this._timer=p((function(){this.state=8,this.tryEmit()}),t.time,this);else if(4&e.eventType)return 8;return Ee},reset:function(){clearTimeout(this._timer)},emit:function(e){8===this.state&&(e&&4&e.eventType?this.manager.emit(this.options.event+"up",e):(this._input.timeStamp=M(),this.manager.emit(this.options.event,this._input)))}}),m(Ue,Se,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Te]},attrTest:function(e){return this._super.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)}}),m(Qe,Se,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ce.prototype.getTouchAction.call(this)},attrTest:function(e){var t,i=this.options.direction;return 30&i?t=e.overallVelocity:6&i?t=e.overallVelocityX:24&i&&(t=e.overallVelocityY),this._super.attrTest.call(this,e)&&i&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers==this.options.pointers&&h(t)>this.options.velocity&&4&e.eventType},emit:function(e){var t=Oe(e.offsetDirection);t&&this.manager.emit(this.options.event+t,e),this.manager.emit(this.options.event,e)}}),m(Be,xe,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[De]},process:function(e){var t=this.options,i=e.pointers.length===t.pointers,n=e.distance<t.threshold,r=e.deltaTime<t.time;if(this.reset(),1&e.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=e.eventType)return this.failTimeout();var o=!this.pTime||e.timeStamp-this.pTime<t.interval,s=!this.pCenter||q(this.pCenter,e.center)<t.posThreshold;if(this.pTime=e.timeStamp,this.pCenter=e.center,s&&o?this.count+=1:this.count=1,this._input=e,0==this.count%t.taps)return this.hasRequireFailures()?(this._timer=p((function(){this.state=8,this.tryEmit()}),t.interval,this),2):8}return Ee},failTimeout:function(){return this._timer=p((function(){this.state=Ee}),this.options.interval,this),Ee},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Pe.VERSION="2.0.7",Pe.defaults={domEvents:!1,touchAction:me,enable:!0,inputTarget:null,inputClass:null,preset:[[Ue,{enable:!1}],[_e,{enable:!1},["rotate"]],[Qe,{direction:6}],[Ce,{direction:6},["swipe"]],[Be],[Be,{event:"doubletap",taps:2},["tap"]],[ke]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Ye.prototype={set:function(e){return u(this.options,e),e.touchAction&&this.touchAction.update(),e.inputTarget&&(this.input.destroy(),this.input.target=e.inputTarget,this.input.init()),this},stop:function(e){this.session.stopped=e?2:1},recognize:function(e){var t=this.session;if(!t.stopped){var i;this.touchAction.preventDefaults(e);var n=this.recognizers,r=t.curRecognizer;(!r||r&&8&r.state)&&(r=t.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===t.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(e),!r&&14&i.state&&(r=t.curRecognizer=i),o++}},get:function(e){if(e instanceof xe)return e;for(var t=this.recognizers,i=0;i<t.length;i++)if(t[i].options.event==e)return t[i];return null},add:function(e){if(f(e,"add",this))return this;var t=this.get(e.options.event);return t&&this.remove(t),this.recognizers.push(e),e.manager=this,this.touchAction.update(),e},remove:function(e){if(f(e,"remove",this))return this;if(e=this.get(e)){var t=this.recognizers,i=x(t,e);-1!==i&&(t.splice(i,1),this.touchAction.update())}return this},on:function(e,t){if(e!==a&&t!==a){var i=this.handlers;return A(E(e),(function(e){i[e]=i[e]||[],i[e].push(t)})),this}},off:function(e,t){if(e!==a){var i=this.handlers;return A(E(e),(function(e){t?i[e]&&i[e].splice(x(i[e],t),1):delete i[e]})),this}},emit:function(e,t){this.options.domEvents&&function(e,t){var i=o.createEvent("Event");i.initEvent(e,!0,!0),i.gesture=t,t.target.dispatchEvent(i)}(e,t);var i=this.handlers[e]&&this.handlers[e].slice();if(i&&i.length){t.type=e,t.preventDefault=function(){t.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](t),n++}},destroy:function(){this.element&&Re(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},u(Pe,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:Ee,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:Ye,Input:R,TouchAction:Ie,TouchInput:he,MouseInput:$,PointerEventInput:re,TouchMouseInput:pe,SingleTouchInput:ue,Recognizer:xe,AttrRecognizer:Se,Tap:Be,Pan:Ce,Swipe:Qe,Pinch:_e,Rotate:Ue,Press:ke,on:w,off:z,each:A,merge:N,extend:g,assign:u,inherit:m,bindFn:v,prefixed:b}),(void 0!==r?r:"undefined"!=typeof self?self:{}).Hammer=Pe,(n=function(){return Pe}.call(t,i,t,e))===a||(e.exports=n)}(window,document)},4717:(e,t,i)=>{"use strict";t.u=function(e){var t=void 0===arguments[1]?{}:arguments[1],i=t.algorithm,n=void 0===i?"sha1":i,s=t.inputEncoding,a=void 0===s?"utf8":s,u=t.outputEncoding,c=void 0===u?"hex":u,l=t.crypto,d=void 0===l?o:l,h=t.sets;return r(e,{algorithm:n,inputEncoding:a,outputEncoding:c,crypto:d,sets:h})};var n,r=i(6573).u,o=(n=i(9204))&&n.__esModule?n.default:n},9204:e=>{"use strict";var t=function(e,t){return e<<t|e>>>32-t};e.exports={createHash:function(e){var i=null;switch(e){case"sha1":i=function(){var e=[],i=[];return{update:function(t,i){!function(e,t,i){if(Array.isArray(t))for(var n=t.length,r=0;r<n;r++)e.push(t[r]);else if("utf8"===i){var o=unescape(encodeURIComponent(t));for(n=o.length,r=0;r<n;r++)e.push(o.charCodeAt(r))}else for(n=t.length,r=0;r<n;r++){var s=255&t.charCodeAt(r);e.push(0===s&&"ascii"===i?32:s)}}(e,t,i)},digest:function(n){for(var r=e.length,o=0;o<r-3;o+=4)i.push(e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]);switch(r%4){case 0:i.push(2147483648);break;case 1:i.push(e[r-1]<<24|8388608);break;case 2:i.push(e[r-2]<<24|e[r-1]<<16|32768);break;case 3:i.push(e[r-3]<<24|e[r-2]<<16|e[r-1]<<8|128)}for(;i.length%16!=14;)i.push(0);return i.push(r>>>29),i.push(r<<3&4294967295),function(e,t){var i=null,n=function(e){return String.fromCharCode(e)};switch(t){case"binary":i=e.map(n).join("");break;case"base64":i=atob(e.map(n).join(""));break;default:i=e.map((function(e){return e.toString(16)})).join("")}return i}(function(e){e.length;for(var i=4294967295,n=new Array(80),r=[1732584193,4023233417,2562383102,271733878,3285377520],o=0;o<e.length;o+=16){for(var s=r[0],a=r[1],u=r[2],c=r[3],l=r[4],d=0;d<16;d++)n[d]=e[o+d];for(d=16;d<=79;d++)n[d]=t(n[d-3]^n[d-8]^n[d-14]^n[d-16],1);for(d=0;d<=19;d++){var h=t(s,5)+(a&u|~a&c)+l+n[d]+1518500249&i;l=c,c=u,u=t(a,30),a=s,s=h}for(d=20;d<=39;d++)h=t(s,5)+(a^u^c)+l+n[d]+1859775393&i,l=c,c=u,u=t(a,30),a=s,s=h;for(d=40;d<=59;d++)h=t(s,5)+(a&u|a&c|u&c)+l+n[d]+2400959708&i,l=c,c=u,u=t(a,30),a=s,s=h;for(d=60;d<=79;d++)h=t(s,5)+(a^u^c)+l+n[d]+3395469782&i,l=c,c=u,u=t(a,30),a=s,s=h;r[0]=r[0]+s&i,r[1]=r[1]+a&i,r[2]=r[2]+u&i,r[3]=r[3]+c&i,r[4]=r[4]+l&i}return r}(i).reduce((function(e,t){for(var i=7;i>=0;--i)e.push(t>>>4*i&15);return e}),[]),n)}}}();break;default:throw new Error("Digest method not supported.")}return i}}},6573:(e,t)=>{"use strict";t.u=function e(t){var i=void 0===arguments[1]?{}:arguments[1],n=i.algorithm,r=void 0===n?"sha1":n,o=i.inputEncoding,s=void 0===o?"utf8":o,a=i.outputEncoding,u=void 0===a?"hex":a,c=i.crypto,l=i.sets,d=c.createHash(r),h=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return d.update(t.join(":"),s)},M=function(t){return e(t,{algorithm:r,inputEncoding:s,outputEncoding:u,crypto:c,sets:l})};switch(!0){case void 0===t:h("u");break;case null===t:h("n");break;case"boolean"==typeof t:case t instanceof Boolean:h("f",t.valueOf());break;case"number"==typeof t:case t instanceof Number:h("i",""+t);break;case"string"==typeof t:case t instanceof String:h("s",""+t);break;case"symbol"==typeof t:case t instanceof Symbol:h("S",""+t);break;case t instanceof Date:h("d",t.toISOString());break;case t instanceof RegExp:h("x",""+t);break;case t instanceof Function:h("F",t.toString());break;case Array.isArray(t):l?(h("<"),t.map(M).sort().forEach((function(e){return h("A",e)})),h(">")):(h("["),t.forEach((function(e){return h("a",M(e))})),h("]"));break;default:h("{"),Object.keys(t).sort().forEach((function(e){return h("k",M(e),"v",M(t[e]))})),h("}")}return d.digest(u)}},1168:(e,t,i)=>{"use strict";e.exports=i(6158)},5695:e=>{"use strict";e.exports=n;var t,i=/\/|\./;function n(e,t){i.test(e)||(e="google/protobuf/"+e+".proto",t={nested:{google:{nested:{protobuf:{nested:t}}}}}),n[e]=t}n("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),n("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),n("timestamp",{Timestamp:t}),n("empty",{Empty:{fields:{}}}),n("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),n("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),n("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),n.get=function(e){return n[e]||null}},3746:(e,t,i)=>{"use strict";var n=t,r=i(6901),o=i(8066);function s(e,t,i,n){if(t.resolvedType)if(t.resolvedType instanceof r){e("switch(d%s){",n);for(var o=t.resolvedType.values,s=Object.keys(o),a=0;a<s.length;++a)t.repeated&&o[s[a]]===t.typeDefault&&e("default:"),e("case%j:",s[a])("case %i:",o[s[a]])("m%s=%j",n,o[s[a]])("break");e("}")}else e('if(typeof d%s!=="object")',n)("throw TypeError(%j)",t.fullName+": object expected")("m%s=types[%i].fromObject(d%s)",n,i,n);else{var u=!1;switch(t.type){case"double":case"float":e("m%s=Number(d%s)",n,n);break;case"uint32":case"fixed32":e("m%s=d%s>>>0",n,n);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",n,n);break;case"uint64":u=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",n,n,u)('else if(typeof d%s==="string")',n)("m%s=parseInt(d%s,10)",n,n)('else if(typeof d%s==="number")',n)("m%s=d%s",n,n)('else if(typeof d%s==="object")',n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,u?"true":"");break;case"bytes":e('if(typeof d%s==="string")',n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length)",n)("m%s=d%s",n,n);break;case"string":e("m%s=String(d%s)",n,n);break;case"bool":e("m%s=Boolean(d%s)",n,n)}}return e}function a(e,t,i,n){if(t.resolvedType)t.resolvedType instanceof r?e("d%s=o.enums===String?types[%i].values[m%s]:m%s",n,i,n,n):e("d%s=types[%i].toObject(m%s,o)",n,i,n);else{var o=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,n,n,n);break;case"uint64":o=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',n)("d%s=o.longs===String?String(m%s):m%s",n,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,n,n,n,o?"true":"",n);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,n,n,n,n);break;default:e("d%s=m%s",n,n)}}return e}n.fromObject=function(e){var t=e.fieldsArray,i=o.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return i("return new this.ctor");i("var m=new this.ctor");for(var n=0;n<t.length;++n){var a=t[n].resolve(),u=o.safeProp(a.name);a.map?(i("if(d%s){",u)('if(typeof d%s!=="object")',u)("throw TypeError(%j)",a.fullName+": object expected")("m%s={}",u)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",u),s(i,a,n,u+"[ks[i]]")("}")("}")):a.repeated?(i("if(d%s){",u)("if(!Array.isArray(d%s))",u)("throw TypeError(%j)",a.fullName+": array expected")("m%s=[]",u)("for(var i=0;i<d%s.length;++i){",u),s(i,a,n,u+"[i]")("}")("}")):(a.resolvedType instanceof r||i("if(d%s!=null){",u),s(i,a,n,u),a.resolvedType instanceof r||i("}"))}return i("return m")},n.toObject=function(e){var t=e.fieldsArray.slice().sort(o.compareFieldsById);if(!t.length)return o.codegen()("return {}");for(var i=o.codegen(["m","o"],e.name+"$toObject")("if(!o)")("o={}")("var d={}"),n=[],s=[],u=[],c=0;c<t.length;++c)t[c].partOf||(t[c].resolve().repeated?n:t[c].map?s:u).push(t[c]);if(n.length){for(i("if(o.arrays||o.defaults){"),c=0;c<n.length;++c)i("d%s=[]",o.safeProp(n[c].name));i("}")}if(s.length){for(i("if(o.objects||o.defaults){"),c=0;c<s.length;++c)i("d%s={}",o.safeProp(s[c].name));i("}")}if(u.length){for(i("if(o.defaults){"),c=0;c<u.length;++c){var l=u[c],d=o.safeProp(l.name);if(l.resolvedType instanceof r)i("d%s=o.enums===String?%j:%j",d,l.resolvedType.valuesById[l.typeDefault],l.typeDefault);else if(l.long)i("if(util.Long){")("var n=new util.Long(%i,%i,%j)",l.typeDefault.low,l.typeDefault.high,l.typeDefault.unsigned)("d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n",d)("}else")("d%s=o.longs===String?%j:%i",d,l.typeDefault.toString(),l.typeDefault.toNumber());else if(l.bytes){var h="["+Array.prototype.slice.call(l.typeDefault).join(",")+"]";i("if(o.bytes===String)d%s=%j",d,String.fromCharCode.apply(String,l.typeDefault))("else{")("d%s=%s",d,h)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",d,d)("}")}else i("d%s=%j",d,l.typeDefault)}i("}")}var M=!1;for(c=0;c<t.length;++c){l=t[c];var p=e._fieldsArray.indexOf(l);d=o.safeProp(l.name),l.map?(M||(M=!0,i("var ks2")),i("if(m%s&&(ks2=Object.keys(m%s)).length){",d,d)("d%s={}",d)("for(var j=0;j<ks2.length;++j){"),a(i,l,p,d+"[ks2[j]]")("}")):l.repeated?(i("if(m%s&&m%s.length){",d,d)("d%s=[]",d)("for(var j=0;j<m%s.length;++j){",d),a(i,l,p,d+"[j]")("}")):(i("if(m%s!=null&&m.hasOwnProperty(%j)){",d,l.name),a(i,l,p,d),l.partOf&&i("if(o.oneofs)")("d%s=%j",o.safeProp(l.partOf.name),l.name)),i("}")}return i("return d")}},9847:(e,t,i)=>{"use strict";e.exports=function(e){var t=o.codegen(["r","l"],e.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(e.fieldsArray.filter((function(e){return e.map})).length?",k,value":""))("while(r.pos<c){")("var t=r.uint32()");e.group&&t("if((t&7)===4)")("break"),t("switch(t>>>3){");for(var i=0;i<e.fieldsArray.length;++i){var a=e._fieldsArray[i].resolve(),u=a.resolvedType instanceof n?"int32":a.type,c="m"+o.safeProp(a.name);t("case %i:",a.id),a.map?(t("if(%s===util.emptyObject)",c)("%s={}",c)("var c2 = r.uint32()+r.pos"),void 0!==r.defaults[a.keyType]?t("k=%j",r.defaults[a.keyType]):t("k=null"),void 0!==r.defaults[u]?t("value=%j",r.defaults[u]):t("value=null"),t("while(r.pos<c2){")("var tag2=r.uint32()")("switch(tag2>>>3){")("case 1: k=r.%s(); break",a.keyType)("case 2:"),void 0===r.basic[u]?t("value=types[%i].decode(r,r.uint32())",i):t("value=r.%s()",u),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==r.long[a.keyType]?t('%s[typeof k==="object"?util.longToHash(k):k]=value',c):t("%s[k]=value",c)):a.repeated?(t("if(!(%s&&%s.length))",c,c)("%s=[]",c),void 0!==r.packed[u]&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos<c2)")("%s.push(r.%s())",c,u)("}else"),void 0===r.basic[u]?t(a.resolvedType.group?"%s.push(types[%i].decode(r))":"%s.push(types[%i].decode(r,r.uint32()))",c,i):t("%s.push(r.%s())",c,u)):void 0===r.basic[u]?t(a.resolvedType.group?"%s=types[%i].decode(r)":"%s=types[%i].decode(r,r.uint32())",c,i):t("%s=r.%s()",c,u),t("break")}for(t("default:")("r.skipType(t&7)")("break")("}")("}"),i=0;i<e._fieldsArray.length;++i){var l=e._fieldsArray[i];l.required&&t("if(!m.hasOwnProperty(%j))",l.name)("throw util.ProtocolError(%j,{instance:m})",s(l))}return t("return m")};var n=i(6901),r=i(3970),o=i(8066);function s(e){return"missing required '"+e.name+"'"}},5191:(e,t,i)=>{"use strict";e.exports=function(e){for(var t,i=o.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),a=e.fieldsArray.slice().sort(o.compareFieldsById),u=0;u<a.length;++u){var c=a[u].resolve(),l=e._fieldsArray.indexOf(c),d=c.resolvedType instanceof n?"int32":c.type,h=r.basic[d];t="m"+o.safeProp(c.name),c.map?(i("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",t,c.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",t)("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(c.id<<3|2)>>>0,8|r.mapKey[c.keyType],c.keyType),void 0===h?i("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",l,t):i(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|h,d,t),i("}")("}")):c.repeated?(i("if(%s!=null&&%s.length){",t,t),c.packed&&void 0!==r.packed[d]?i("w.uint32(%i).fork()",(c.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",t)("w.%s(%s[i])",d,t)("w.ldelim()"):(i("for(var i=0;i<%s.length;++i)",t),void 0===h?s(i,c,l,t+"[i]"):i("w.uint32(%i).%s(%s[i])",(c.id<<3|h)>>>0,d,t)),i("}")):(c.optional&&i("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",t,c.name),void 0===h?s(i,c,l,t):i("w.uint32(%i).%s(%s)",(c.id<<3|h)>>>0,d,t))}return i("return w")};var n=i(6901),r=i(3970),o=i(8066);function s(e,t,i,n){return t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",i,n,(t.id<<3|3)>>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",i,n,(t.id<<3|2)>>>0)}},6901:(e,t,i)=>{"use strict";e.exports=s;var n=i(7641);((s.prototype=Object.create(n.prototype)).constructor=s).className="Enum";var r=i(9788),o=i(8066);function s(e,t,i,r,o){if(n.call(this,e,i),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=r,this.comments=o||{},this.reserved=void 0,t)for(var s=Object.keys(t),a=0;a<s.length;++a)"number"==typeof t[s[a]]&&(this.valuesById[this.values[s[a]]=t[s[a]]]=s[a])}s.fromJSON=function(e,t){var i=new s(e,t.values,t.options,t.comment,t.comments);return i.reserved=t.reserved,i},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["options",this.options,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"comment",t?this.comment:void 0,"comments",t?this.comments:void 0])},s.prototype.add=function(e,t,i){if(!o.isString(e))throw TypeError("name must be a string");if(!o.isInteger(t))throw TypeError("id must be an integer");if(void 0!==this.values[e])throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(t))throw Error("id "+t+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(void 0!==this.valuesById[t]){if(!this.options||!this.options.allow_alias)throw Error("duplicate id "+t+" in "+this);this.values[e]=t}else this.valuesById[this.values[e]=t]=e;return this.comments[e]=i||null,this},s.prototype.remove=function(e){if(!o.isString(e))throw TypeError("name must be a string");var t=this.values[e];if(null==t)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[t],delete this.values[e],delete this.comments[e],this},s.prototype.isReservedId=function(e){return r.isReservedId(this.reserved,e)},s.prototype.isReservedName=function(e){return r.isReservedName(this.reserved,e)}},797:(e,t,i)=>{"use strict";e.exports=c;var n=i(7641);((c.prototype=Object.create(n.prototype)).constructor=c).className="Field";var r,o=i(6901),s=i(3970),a=i(8066),u=/^required|optional|repeated$/;function c(e,t,i,r,o,c,l){if(a.isObject(r)?(l=o,c=r,r=o=void 0):a.isObject(o)&&(l=c,c=o,o=void 0),n.call(this,e,c),!a.isInteger(t)||t<0)throw TypeError("id must be a non-negative integer");if(!a.isString(i))throw TypeError("type must be a string");if(void 0!==r&&!u.test(r=r.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==o&&!a.isString(o))throw TypeError("extend must be a string");"proto3_optional"===r&&(r="optional"),this.rule=r&&"optional"!==r?r:void 0,this.type=i,this.id=t,this.extend=o||void 0,this.required="required"===r,this.optional=!this.required,this.repeated="repeated"===r,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!a.Long&&void 0!==s.long[i],this.bytes="bytes"===i,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=l}c.fromJSON=function(e,t){return new c(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(c.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),c.prototype.setOption=function(e,t,i){return"packed"===e&&(this._packed=null),n.prototype.setOption.call(this,e,t,i)},c.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return a.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},c.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=s.defaults[this.type])&&(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof r?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof o&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof o)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=a.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"==typeof this.typeDefault){var e;a.base64.test(this.typeDefault)?a.base64.decode(this.typeDefault,e=a.newBuffer(a.base64.length(this.typeDefault)),0):a.utf8.write(this.typeDefault,e=a.newBuffer(a.utf8.length(this.typeDefault)),0),this.typeDefault=e}return this.map?this.defaultValue=a.emptyObject:this.repeated?this.defaultValue=a.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof r&&(this.parent.ctor.prototype[this.name]=this.defaultValue),n.prototype.resolve.call(this)},c.d=function(e,t,i,n){return"function"==typeof t?t=a.decorateType(t).name:t&&"object"==typeof t&&(t=a.decorateEnum(t).name),function(r,o){a.decorateType(r.constructor).add(new c(o,e,t,i,{default:n}))}},c._configure=function(e){r=e}},9188:(e,t,i)=>{"use strict";var n=e.exports=i(536);n.build="light",n.load=function(e,t,i){return"function"==typeof t?(i=t,t=new n.Root):t||(t=new n.Root),t.load(e,i)},n.loadSync=function(e,t){return t||(t=new n.Root),t.loadSync(e)},n.encoder=i(5191),n.decoder=i(9847),n.verifier=i(2332),n.converter=i(3746),n.ReflectionObject=i(7641),n.Namespace=i(9788),n.Root=i(742),n.Enum=i(6901),n.Type=i(3138),n.Field=i(797),n.OneOf=i(6898),n.MapField=i(1981),n.Service=i(9355),n.Method=i(8820),n.Message=i(3611),n.wrappers=i(6423),n.types=i(3970),n.util=i(8066),n.ReflectionObject._configure(n.Root),n.Namespace._configure(n.Type,n.Service,n.Enum),n.Root._configure(n.Type),n.Field._configure(n.Type)},536:(e,t,i)=>{"use strict";var n=t;function r(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=i(123),n.BufferWriter=i(6673),n.Reader=i(9799),n.BufferReader=i(7038),n.util=i(4165),n.rpc=i(4963),n.roots=i(9009),n.configure=r,r()},6158:(e,t,i)=>{"use strict";var n=e.exports=i(9188);n.build="full",n.tokenize=i(9882),n.parse=i(2221),n.common=i(5695),n.Root._configure(n.Type,n.parse,n.common)},1981:(e,t,i)=>{"use strict";e.exports=s;var n=i(797);((s.prototype=Object.create(n.prototype)).constructor=s).className="MapField";var r=i(3970),o=i(8066);function s(e,t,i,r,s,a){if(n.call(this,e,t,r,void 0,void 0,s,a),!o.isString(i))throw TypeError("keyType must be a string");this.keyType=i,this.resolvedKeyType=null,this.map=!0}s.fromJSON=function(e,t){return new s(e,t.id,t.keyType,t.type,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},s.prototype.resolve=function(){if(this.resolved)return this;if(void 0===r.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return n.prototype.resolve.call(this)},s.d=function(e,t,i){return"function"==typeof i?i=o.decorateType(i).name:i&&"object"==typeof i&&(i=o.decorateEnum(i).name),function(n,r){o.decorateType(n.constructor).add(new s(r,e,t,i))}}},3611:(e,t,i)=>{"use strict";e.exports=r;var n=i(4165);function r(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)this[t[i]]=e[t[i]]}r.create=function(e){return this.$type.create(e)},r.encode=function(e,t){return this.$type.encode(e,t)},r.encodeDelimited=function(e,t){return this.$type.encodeDelimited(e,t)},r.decode=function(e){return this.$type.decode(e)},r.decodeDelimited=function(e){return this.$type.decodeDelimited(e)},r.verify=function(e){return this.$type.verify(e)},r.fromObject=function(e){return this.$type.fromObject(e)},r.toObject=function(e,t){return this.$type.toObject(e,t)},r.prototype.toJSON=function(){return this.$type.toObject(this,n.toJSONOptions)}},8820:(e,t,i)=>{"use strict";e.exports=o;var n=i(7641);((o.prototype=Object.create(n.prototype)).constructor=o).className="Method";var r=i(8066);function o(e,t,i,o,s,a,u,c,l){if(r.isObject(s)?(u=s,s=a=void 0):r.isObject(a)&&(u=a,a=void 0),void 0!==t&&!r.isString(t))throw TypeError("type must be a string");if(!r.isString(i))throw TypeError("requestType must be a string");if(!r.isString(o))throw TypeError("responseType must be a string");n.call(this,e,u),this.type=t||"rpc",this.requestType=i,this.requestStream=!!s||void 0,this.responseType=o,this.responseStream=!!a||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=c,this.parsedOptions=l}o.fromJSON=function(e,t){return new o(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},o.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return r.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",t?this.comment:void 0,"parsedOptions",this.parsedOptions])},o.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),n.prototype.resolve.call(this))}},9788:(e,t,i)=>{"use strict";e.exports=d;var n=i(7641);((d.prototype=Object.create(n.prototype)).constructor=d).className="Namespace";var r,o,s,a=i(797),u=i(6898),c=i(8066);function l(e,t){if(e&&e.length){for(var i={},n=0;n<e.length;++n)i[e[n].name]=e[n].toJSON(t);return i}}function d(e,t){n.call(this,e,t),this.nested=void 0,this._nestedArray=null}function h(e){return e._nestedArray=null,e}d.fromJSON=function(e,t){return new d(e,t.options).addJSON(t.nested)},d.arrayToJSON=l,d.isReservedId=function(e,t){if(e)for(var i=0;i<e.length;++i)if("string"!=typeof e[i]&&e[i][0]<=t&&e[i][1]>t)return!0;return!1},d.isReservedName=function(e,t){if(e)for(var i=0;i<e.length;++i)if(e[i]===t)return!0;return!1},Object.defineProperty(d.prototype,"nestedArray",{get:function(){return this._nestedArray||(this._nestedArray=c.toArray(this.nested))}}),d.prototype.toJSON=function(e){return c.toObject(["options",this.options,"nested",l(this.nestedArray,e)])},d.prototype.addJSON=function(e){if(e)for(var t,i=Object.keys(e),n=0;n<i.length;++n)t=e[i[n]],this.add((void 0!==t.fields?r.fromJSON:void 0!==t.values?s.fromJSON:void 0!==t.methods?o.fromJSON:void 0!==t.id?a.fromJSON:d.fromJSON)(i[n],t));return this},d.prototype.get=function(e){return this.nested&&this.nested[e]||null},d.prototype.getEnum=function(e){if(this.nested&&this.nested[e]instanceof s)return this.nested[e].values;throw Error("no such enum: "+e)},d.prototype.add=function(e){if(!(e instanceof a&&void 0!==e.extend||e instanceof r||e instanceof s||e instanceof o||e instanceof d||e instanceof u))throw TypeError("object must be a valid nested object");if(this.nested){var t=this.get(e.name);if(t){if(!(t instanceof d&&e instanceof d)||t instanceof r||t instanceof o)throw Error("duplicate name '"+e.name+"' in "+this);for(var i=t.nestedArray,n=0;n<i.length;++n)e.add(i[n]);this.remove(t),this.nested||(this.nested={}),e.setOptions(t.options,!0)}}else this.nested={};return this.nested[e.name]=e,e.onAdd(this),h(this)},d.prototype.remove=function(e){if(!(e instanceof n))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);return delete this.nested[e.name],Object.keys(this.nested).length||(this.nested=void 0),e.onRemove(this),h(this)},d.prototype.define=function(e,t){if(c.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&""===e[0])throw Error("path must be relative");for(var i=this;e.length>0;){var n=e.shift();if(i.nested&&i.nested[n]){if(!((i=i.nested[n])instanceof d))throw Error("path conflicts with non-namespace objects")}else i.add(i=new d(n))}return t&&i.addJSON(t),i},d.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t<e.length;)e[t]instanceof d?e[t++].resolveAll():e[t++].resolve();return this.resolve()},d.prototype.lookup=function(e,t,i){if("boolean"==typeof t?(i=t,t=void 0):t&&!Array.isArray(t)&&(t=[t]),c.isString(e)&&e.length){if("."===e)return this.root;e=e.split(".")}else if(!e.length)return this;if(""===e[0])return this.root.lookup(e.slice(1),t);var n=this.get(e[0]);if(n){if(1===e.length){if(!t||t.indexOf(n.constructor)>-1)return n}else if(n instanceof d&&(n=n.lookup(e.slice(1),t,!0)))return n}else for(var r=0;r<this.nestedArray.length;++r)if(this._nestedArray[r]instanceof d&&(n=this._nestedArray[r].lookup(e,t,!0)))return n;return null===this.parent||i?null:this.parent.lookup(e,t)},d.prototype.lookupType=function(e){var t=this.lookup(e,[r]);if(!t)throw Error("no such type: "+e);return t},d.prototype.lookupEnum=function(e){var t=this.lookup(e,[s]);if(!t)throw Error("no such Enum '"+e+"' in "+this);return t},d.prototype.lookupTypeOrEnum=function(e){var t=this.lookup(e,[r,s]);if(!t)throw Error("no such Type or Enum '"+e+"' in "+this);return t},d.prototype.lookupService=function(e){var t=this.lookup(e,[o]);if(!t)throw Error("no such Service '"+e+"' in "+this);return t},d._configure=function(e,t,i){r=e,o=t,s=i}},7641:(e,t,i)=>{"use strict";e.exports=o,o.className="ReflectionObject";var n,r=i(8066);function o(e,t){if(!r.isString(e))throw TypeError("name must be a string");if(t&&!r.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(o.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),o.prototype.toJSON=function(){throw Error()},o.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var t=e.root;t instanceof n&&t._handleAdd(this)},o.prototype.onRemove=function(e){var t=e.root;t instanceof n&&t._handleRemove(this),this.parent=null,this.resolved=!1},o.prototype.resolve=function(){return this.resolved||this.root instanceof n&&(this.resolved=!0),this},o.prototype.getOption=function(e){if(this.options)return this.options[e]},o.prototype.setOption=function(e,t,i){return i&&this.options&&void 0!==this.options[e]||((this.options||(this.options={}))[e]=t),this},o.prototype.setParsedOption=function(e,t,i){this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions;if(i){var o=n.find((function(t){return Object.prototype.hasOwnProperty.call(t,e)}));if(o){var s=o[e];r.setProperty(s,i,t)}else(o={})[e]=r.setProperty({},i,t),n.push(o)}else{var a={};a[e]=t,n.push(a)}return this},o.prototype.setOptions=function(e,t){if(e)for(var i=Object.keys(e),n=0;n<i.length;++n)this.setOption(i[n],e[i[n]],t);return this},o.prototype.toString=function(){var e=this.constructor.className,t=this.fullName;return t.length?e+" "+t:e},o._configure=function(e){n=e}},6898:(e,t,i)=>{"use strict";e.exports=s;var n=i(7641);((s.prototype=Object.create(n.prototype)).constructor=s).className="OneOf";var r=i(797),o=i(8066);function s(e,t,i,r){if(Array.isArray(t)||(i=t,t=void 0),n.call(this,e,i),void 0!==t&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=r}function a(e){if(e.parent)for(var t=0;t<e.fieldsArray.length;++t)e.fieldsArray[t].parent||e.parent.add(e.fieldsArray[t])}s.fromJSON=function(e,t){return new s(e,t.oneof,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["options",this.options,"oneof",this.oneof,"comment",t?this.comment:void 0])},s.prototype.add=function(e){if(!(e instanceof r))throw TypeError("field must be a Field");return e.parent&&e.parent!==this.parent&&e.parent.remove(e),this.oneof.push(e.name),this.fieldsArray.push(e),e.partOf=this,a(this),this},s.prototype.remove=function(e){if(!(e instanceof r))throw TypeError("field must be a Field");var t=this.fieldsArray.indexOf(e);if(t<0)throw Error(e+" is not a member of "+this);return this.fieldsArray.splice(t,1),(t=this.oneof.indexOf(e.name))>-1&&this.oneof.splice(t,1),e.partOf=null,this},s.prototype.onAdd=function(e){n.prototype.onAdd.call(this,e);for(var t=0;t<this.oneof.length;++t){var i=e.get(this.oneof[t]);i&&!i.partOf&&(i.partOf=this,this.fieldsArray.push(i))}a(this)},s.prototype.onRemove=function(e){for(var t,i=0;i<this.fieldsArray.length;++i)(t=this.fieldsArray[i]).parent&&t.parent.remove(t);n.prototype.onRemove.call(this,e)},s.d=function(){for(var e=new Array(arguments.length),t=0;t<arguments.length;)e[t]=arguments[t++];return function(t,i){o.decorateType(t.constructor).add(new s(i,e)),Object.defineProperty(t,i,{get:o.oneOfGetter(e),set:o.oneOfSetter(e)})}}},2221:(e,t,i)=>{"use strict";e.exports=w,w.filename=null,w.defaults={keepCase:!1};var n=i(9882),r=i(742),o=i(3138),s=i(797),a=i(1981),u=i(6898),c=i(6901),l=i(9355),d=i(8820),h=i(3970),M=i(8066),p=/^[1-9][0-9]*$/,f=/^-?[1-9][0-9]*$/,A=/^0[x][0-9a-fA-F]+$/,y=/^-?0[x][0-9a-fA-F]+$/,g=/^0[0-7]+$/,N=/^-?0[0-7]+$/,m=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,v=/^[a-zA-Z_][a-zA-Z_0-9]*$/,D=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,T=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;function w(e,t,i){t instanceof r||(i=t,t=new r),i||(i=w.defaults);var z,j,I,E,x,L=i.preferTrailingComment||!1,O=n(e,i.alternateCommentMode||!1),b=O.next,S=O.push,C=O.peek,_=O.skip,k=O.cmnt,U=!0,Q=!1,B=t,P=i.keepCase?function(e){return e}:M.camelCase;function Y(e,t,i){var n=w.filename;return i||(w.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(n?n+", ":"")+"line "+O.line+")")}function R(){var e,t=[];do{if('"'!==(e=b())&&"'"!==e)throw Y(e);t.push(b()),_(e),e=C()}while('"'===e||"'"===e);return t.join("")}function F(e){var t=b();switch(t){case"'":case'"':return S(t),R();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return function(e,t){var i=1;switch("-"===e.charAt(0)&&(i=-1,e=e.substring(1)),e){case"inf":case"INF":case"Inf":return i*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(p.test(e))return i*parseInt(e,10);if(A.test(e))return i*parseInt(e,16);if(g.test(e))return i*parseInt(e,8);if(m.test(e))return i*parseFloat(e);throw Y(e,"number",!0)}(t)}catch(i){if(e&&D.test(t))return t;throw Y(t,"value")}}function V(e,t){var i,n;do{!t||'"'!==(i=C())&&"'"!==i?e.push([n=G(b()),_("to",!0)?G(b()):n]):e.push(R())}while(_(",",!0));_(";")}function G(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!t&&"-"===e.charAt(0))throw Y(e,"id");if(f.test(e))return parseInt(e,10);if(y.test(e))return parseInt(e,16);if(N.test(e))return parseInt(e,8);throw Y(e,"id")}function H(){if(void 0!==z)throw Y("package");if(z=b(),!D.test(z))throw Y(z,"name");B=B.define(z),_(";")}function W(){var e,t=C();switch(t){case"weak":e=I||(I=[]),b();break;case"public":b();default:e=j||(j=[])}t=R(),_(";"),e.push(t)}function q(){if(_("="),E=R(),!(Q="proto3"===E)&&"proto2"!==E)throw Y(E,"syntax");_(";")}function Z(e,t){switch(t){case"option":return K(e,t),_(";"),!0;case"message":return function(e,t){if(!v.test(t=b()))throw Y(t,"type name");var i=new o(t);X(i,(function(e){if(!Z(i,e))switch(e){case"map":!function(e){_("<");var t=b();if(void 0===h.mapKey[t])throw Y(t,"type");_(",");var i=b();if(!D.test(i))throw Y(i,"type");_(">");var n=b();if(!v.test(n))throw Y(n,"name");_("=");var r=new a(P(n),G(b()),t,i);X(r,(function(e){if("option"!==e)throw Y(e);K(r,e),_(";")}),(function(){te(r)})),e.add(r)}(i);break;case"required":case"repeated":J(i,e);break;case"optional":J(i,Q?"proto3_optional":"optional");break;case"oneof":!function(e,t){if(!v.test(t=b()))throw Y(t,"name");var i=new u(P(t));X(i,(function(e){"option"===e?(K(i,e),_(";")):(S(e),J(i,"optional"))})),e.add(i)}(i,e);break;case"extensions":V(i.extensions||(i.extensions=[]));break;case"reserved":V(i.reserved||(i.reserved=[]),!0);break;default:if(!Q||!D.test(e))throw Y(e);S(e),J(i,"optional")}})),e.add(i)}(e,t),!0;case"enum":return function(e,t){if(!v.test(t=b()))throw Y(t,"name");var i=new c(t);X(i,(function(e){switch(e){case"option":K(i,e),_(";");break;case"reserved":V(i.reserved||(i.reserved=[]),!0);break;default:!function(e,t){if(!v.test(t))throw Y(t,"name");_("=");var i=G(b(),!0),n={};X(n,(function(e){if("option"!==e)throw Y(e);K(n,e),_(";")}),(function(){te(n)})),e.add(t,i,n.comment)}(i,e)}})),e.add(i)}(e,t),!0;case"service":return function(e,t){if(!v.test(t=b()))throw Y(t,"service name");var i=new l(t);X(i,(function(e){if(!Z(i,e)){if("rpc"!==e)throw Y(e);!function(e,t){var i=k(),n=t;if(!v.test(t=b()))throw Y(t,"name");var r,o,s,a,u=t;if(_("("),_("stream",!0)&&(o=!0),!D.test(t=b()))throw Y(t);if(r=t,_(")"),_("returns"),_("("),_("stream",!0)&&(a=!0),!D.test(t=b()))throw Y(t);s=t,_(")");var c=new d(u,n,r,s,o,a);c.comment=i,X(c,(function(e){if("option"!==e)throw Y(e);K(c,e),_(";")})),e.add(c)}(i,e)}})),e.add(i)}(e,t),!0;case"extend":return function(e,t){if(!D.test(t=b()))throw Y(t,"reference");var i=t;X(null,(function(t){switch(t){case"required":case"repeated":J(e,t,i);break;case"optional":J(e,Q?"proto3_optional":"optional",i);break;default:if(!Q||!D.test(t))throw Y(t);S(t),J(e,"optional",i)}}))}(e,t),!0}return!1}function X(e,t,i){var n=O.line;if(e&&("string"!=typeof e.comment&&(e.comment=k()),e.filename=w.filename),_("{",!0)){for(var r;"}"!==(r=b());)t(r);_(";",!0)}else i&&i(),_(";"),e&&("string"!=typeof e.comment||L)&&(e.comment=k(n)||e.comment)}function J(e,t,i){var n=b();if("group"!==n){if(!D.test(n))throw Y(n,"type");var r=b();if(!v.test(r))throw Y(r,"name");r=P(r),_("=");var a=new s(r,G(b()),n,t,i);if(X(a,(function(e){if("option"!==e)throw Y(e);K(a,e),_(";")}),(function(){te(a)})),"proto3_optional"===t){var c=new u("_"+r);a.setOption("proto3_optional",!0),c.add(a),e.add(c)}else e.add(a);Q||!a.repeated||void 0===h.packed[n]&&void 0!==h.basic[n]||a.setOption("packed",!1,!0)}else!function(e,t){var i=b();if(!v.test(i))throw Y(i,"name");var n=M.lcFirst(i);i===n&&(i=M.ucFirst(i)),_("=");var r=G(b()),a=new o(i);a.group=!0;var u=new s(n,r,i,t);u.filename=w.filename,X(a,(function(e){switch(e){case"option":K(a,e),_(";");break;case"required":case"repeated":J(a,e);break;case"optional":J(a,Q?"proto3_optional":"optional");break;default:throw Y(e)}})),e.add(a).add(u)}(e,t)}function K(e,t){var i=_("(",!0);if(!D.test(t=b()))throw Y(t,"name");var n,r=t,o=r;i&&(_(")"),o=r="("+r+")",t=C(),T.test(t)&&(n=t.substr(1),r+=t,b())),_("="),function(e,t,i,n){e.setParsedOption&&e.setParsedOption(t,i,n)}(e,o,$(e,r),n)}function $(e,t){if(_("{",!0)){for(var i={};!_("}",!0);){if(!v.test(x=b()))throw Y(x,"name");var n,r=x;"{"===C()?n=$(e,t+"."+x):(_(":"),"{"===C()?n=$(e,t+"."+x):(n=F(!0),ee(e,t+"."+x,n)));var o=i[r];o&&(n=[].concat(o).concat(n)),i[r]=n,_(",",!0)}return i}var s=F(!0);return ee(e,t,s),s}function ee(e,t,i){e.setOption&&e.setOption(t,i)}function te(e){if(_("[",!0)){do{K(e,"option")}while(_(",",!0));_("]")}return e}for(;null!==(x=b());)switch(x){case"package":if(!U)throw Y(x);H();break;case"import":if(!U)throw Y(x);W();break;case"syntax":if(!U)throw Y(x);q();break;case"option":K(B,x),_(";");break;default:if(Z(B,x)){U=!1;continue}throw Y(x)}return w.filename=null,{package:z,imports:j,weakImports:I,syntax:E,root:t}}},9799:(e,t,i)=>{"use strict";e.exports=u;var n,r=i(4165),o=r.LongBits,s=r.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function u(e){this.buf=e,this.pos=0,this.len=e.length}var c,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new u(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new u(e);throw Error("illegal buffer")},d=function(){return r.Buffer?function(e){return(u.create=function(e){return r.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function M(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw a(this,8);return new o(M(this.buf,this.pos+=4),M(this.buf,this.pos+=4))}u.create=d(),u.prototype._slice=r.Array.prototype.subarray||r.Array.prototype.slice,u.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return c;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return c}),u.prototype.int32=function(){return 0|this.uint32()},u.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},u.prototype.bool=function(){return 0!==this.uint32()},u.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return M(this.buf,this.pos+=4)},u.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|M(this.buf,this.pos+=4)},u.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=r.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},u.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=r.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},u.prototype.bytes=function(){var e=this.uint32(),t=this.pos,i=this.pos+e;if(i>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,i):t===i?new this.buf.constructor(0):this._slice.call(this.buf,t,i)},u.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},u.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},u.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},u._configure=function(e){n=e,u.create=d(),n._configure();var t=r.Long?"toLong":"toNumber";r.merge(u.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return p.call(this)[t](!0)},sfixed64:function(){return p.call(this)[t](!1)}})}},7038:(e,t,i)=>{"use strict";e.exports=o;var n=i(9799);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(4165);function o(e){n.call(this,e)}o._configure=function(){r.Buffer&&(o.prototype._slice=r.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},742:(e,t,i)=>{"use strict";e.exports=d;var n=i(9788);((d.prototype=Object.create(n.prototype)).constructor=d).className="Root";var r,o,s,a=i(797),u=i(6901),c=i(6898),l=i(8066);function d(e){n.call(this,"",e),this.deferred=[],this.files=[]}function h(){}d.fromJSON=function(e,t){return t||(t=new d),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},d.prototype.resolvePath=l.path.resolve,d.prototype.fetch=l.fetch,d.prototype.load=function e(t,i,n){"function"==typeof i&&(n=i,i=void 0);var r=this;if(!n)return l.asPromise(e,r,t,i);var a=n===h;function u(e,t){if(n){var i=n;if(n=null,a)throw e;i(e,t)}}function c(e){var t=e.lastIndexOf("google/protobuf/");if(t>-1){var i=e.substring(t);if(i in s)return i}return null}function d(e,t){try{if(l.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),l.isString(t)){o.filename=e;var n,s=o(t,r,i),d=0;if(s.imports)for(;d<s.imports.length;++d)(n=c(s.imports[d])||r.resolvePath(e,s.imports[d]))&&M(n);if(s.weakImports)for(d=0;d<s.weakImports.length;++d)(n=c(s.weakImports[d])||r.resolvePath(e,s.weakImports[d]))&&M(n,!0)}else r.setOptions(t.options).addJSON(t.nested)}catch(e){u(e)}a||p||u(null,r)}function M(e,t){if(!(r.files.indexOf(e)>-1))if(r.files.push(e),e in s)a?d(e,s[e]):(++p,setTimeout((function(){--p,d(e,s[e])})));else if(a){var i;try{i=l.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||u(e))}d(e,i)}else++p,r.fetch(e,(function(i,o){--p,n&&(i?t?p||u(null,r):u(i):d(e,o))}))}var p=0;l.isString(t)&&(t=[t]);for(var f,A=0;A<t.length;++A)(f=r.resolvePath("",t[A]))&&M(f);if(a)return r;p||u(null,r)},d.prototype.loadSync=function(e,t){if(!l.isNode)throw Error("not supported");return this.load(e,t,h)},d.prototype.resolveAll=function(){if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map((function(e){return"'extend "+e.extend+"' in "+e.parent.fullName})).join(", "));return n.prototype.resolveAll.call(this)};var M=/^[A-Z]/;function p(e,t){var i=t.parent.lookup(t.extend);if(i){var n=new a(t.fullName,t.id,t.type,t.rule,void 0,t.options);return n.declaringField=t,t.extensionField=n,i.add(n),!0}return!1}d.prototype._handleAdd=function(e){if(e instanceof a)void 0===e.extend||e.extensionField||p(0,e)||this.deferred.push(e);else if(e instanceof u)M.test(e.name)&&(e.parent[e.name]=e.values);else if(!(e instanceof c)){if(e instanceof r)for(var t=0;t<this.deferred.length;)p(0,this.deferred[t])?this.deferred.splice(t,1):++t;for(var i=0;i<e.nestedArray.length;++i)this._handleAdd(e._nestedArray[i]);M.test(e.name)&&(e.parent[e.name]=e)}},d.prototype._handleRemove=function(e){if(e instanceof a){if(void 0!==e.extend)if(e.extensionField)e.extensionField.parent.remove(e.extensionField),e.extensionField=null;else{var t=this.deferred.indexOf(e);t>-1&&this.deferred.splice(t,1)}}else if(e instanceof u)M.test(e.name)&&delete e.parent[e.name];else if(e instanceof n){for(var i=0;i<e.nestedArray.length;++i)this._handleRemove(e._nestedArray[i]);M.test(e.name)&&delete e.parent[e.name]}},d._configure=function(e,t,i){r=e,o=t,s=i}},9009:e=>{"use strict";e.exports={}},4963:(e,t,i)=>{"use strict";t.Service=i(9548)},9548:(e,t,i)=>{"use strict";e.exports=r;var n=i(4165);function r(e,t,i){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(i)}(r.prototype=Object.create(n.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,i,r,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,i,r,o);if(a.rpcImpl)try{return a.rpcImpl(t,i[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,i){if(e)return a.emit("error",e,t),s(e);if(null!==i){if(!(i instanceof r))try{i=r[a.responseDelimited?"decodeDelimited":"decode"](i)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",i,t),s(null,i)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){s(e)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},9355:(e,t,i)=>{"use strict";e.exports=a;var n=i(9788);((a.prototype=Object.create(n.prototype)).constructor=a).className="Service";var r=i(8820),o=i(8066),s=i(4963);function a(e,t){n.call(this,e,t),this.methods={},this._methodsArray=null}function u(e){return e._methodsArray=null,e}a.fromJSON=function(e,t){var i=new a(e,t.options);if(t.methods)for(var n=Object.keys(t.methods),o=0;o<n.length;++o)i.add(r.fromJSON(n[o],t.methods[n[o]]));return t.nested&&i.addJSON(t.nested),i.comment=t.comment,i},a.prototype.toJSON=function(e){var t=n.prototype.toJSON.call(this,e),i=!!e&&Boolean(e.keepComments);return o.toObject(["options",t&&t.options||void 0,"methods",n.arrayToJSON(this.methodsArray,e)||{},"nested",t&&t.nested||void 0,"comment",i?this.comment:void 0])},Object.defineProperty(a.prototype,"methodsArray",{get:function(){return this._methodsArray||(this._methodsArray=o.toArray(this.methods))}}),a.prototype.get=function(e){return this.methods[e]||n.prototype.get.call(this,e)},a.prototype.resolveAll=function(){for(var e=this.methodsArray,t=0;t<e.length;++t)e[t].resolve();return n.prototype.resolve.call(this)},a.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);return e instanceof r?(this.methods[e.name]=e,e.parent=this,u(this)):n.prototype.add.call(this,e)},a.prototype.remove=function(e){if(e instanceof r){if(this.methods[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.methods[e.name],e.parent=null,u(this)}return n.prototype.remove.call(this,e)},a.prototype.create=function(e,t,i){for(var n,r=new s.Service(e,t,i),a=0;a<this.methodsArray.length;++a){var u=o.lcFirst((n=this._methodsArray[a]).resolve().name).replace(/[^$\w_]/g,"");r[u]=o.codegen(["r","c"],o.isReserved(u)?u+"_":u)("return this.rpcCall(m,q,s,r,c)")({m:n,q:n.resolvedRequestType.ctor,s:n.resolvedResponseType.ctor})}return r}},9882:e=>{"use strict";e.exports=d;var t=/[\s{}=;:[\],'"()<>]/g,i=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,n=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,r=/^ *[*/]+ */,o=/^\s*\*?\/*/,s=/\n/g,a=/\s/,u=/\\(.?)/g,c={0:"\0",r:"\r",n:"\n",t:"\t"};function l(e){return e.replace(u,(function(e,t){switch(t){case"\\":case"":return t;default:return c[t]||""}}))}function d(e,u){e=e.toString();var c=0,d=e.length,h=1,M=null,p=null,f=0,A=!1,y=!1,g=[],N=null;function m(e){return Error("illegal "+e+" (line "+h+")")}function v(t){return e.charAt(t)}function D(t,i,n){M=e.charAt(t++),f=h,A=!1,y=n;var a,c=t-(u?2:3);do{if(--c<0||"\n"===(a=e.charAt(c))){A=!0;break}}while(" "===a||"\t"===a);for(var l=e.substring(t,i).split(s),d=0;d<l.length;++d)l[d]=l[d].replace(u?o:r,"").trim();p=l.join("\n").trim()}function T(t){var i=w(t),n=e.substring(t,i);return/^\s*\/{1,2}/.test(n)}function w(e){for(var t=e;t<d&&"\n"!==v(t);)t++;return t}function z(){if(g.length>0)return g.shift();if(N)return function(){var t="'"===N?n:i;t.lastIndex=c-1;var r=t.exec(e);if(!r)throw m("string");return c=t.lastIndex,j(N),N=null,l(r[1])}();var r,o,s,M,p,f=0===c;do{if(c===d)return null;for(r=!1;a.test(s=v(c));)if("\n"===s&&(f=!0,++h),++c===d)return null;if("/"===v(c)){if(++c===d)throw m("comment");if("/"===v(c))if(u){if(M=c,p=!1,T(c)){p=!0;do{if((c=w(c))===d)break;c++}while(T(c))}else c=Math.min(d,w(c)+1);p&&D(M,c,f),h++,r=!0}else{for(p="/"===v(M=c+1);"\n"!==v(++c);)if(c===d)return null;++c,p&&D(M,c-1,f),++h,r=!0}else{if("*"!==(s=v(c)))return"/";M=c+1,p=u||"*"===v(M);do{if("\n"===s&&++h,++c===d)throw m("comment");o=s,s=v(c)}while("*"!==o||"/"!==s);++c,p&&D(M,c-2,f),r=!0}}}while(r);var A=c;if(t.lastIndex=0,!t.test(v(A++)))for(;A<d&&!t.test(v(A));)++A;var y=e.substring(c,c=A);return'"'!==y&&"'"!==y||(N=y),y}function j(e){g.push(e)}function I(){if(!g.length){var e=z();if(null===e)return null;j(e)}return g[0]}return Object.defineProperty({next:z,peek:I,push:j,skip:function(e,t){var i=I();if(i===e)return z(),!0;if(!t)throw m("token '"+i+"', '"+e+"' expected");return!1},cmnt:function(e){var t=null;return void 0===e?f===h-1&&(u||"*"===M||A)&&(t=y?p:null):(f<e&&I(),f!==e||A||!u&&"/"!==M||(t=y?null:p)),t}},"line",{get:function(){return h}})}d.unescape=l},3138:(e,t,i)=>{"use strict";e.exports=g;var n=i(9788);((g.prototype=Object.create(n.prototype)).constructor=g).className="Type";var r=i(6901),o=i(6898),s=i(797),a=i(1981),u=i(9355),c=i(3611),l=i(9799),d=i(123),h=i(8066),M=i(5191),p=i(9847),f=i(2332),A=i(3746),y=i(6423);function g(e,t){n.call(this,e,t),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function N(e){return e._fieldsById=e._fieldsArray=e._oneofsArray=null,delete e.encode,delete e.decode,delete e.verify,e}Object.defineProperties(g.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var e=Object.keys(this.fields),t=0;t<e.length;++t){var i=this.fields[e[t]],n=i.id;if(this._fieldsById[n])throw Error("duplicate id "+n+" in "+this);this._fieldsById[n]=i}return this._fieldsById}},fieldsArray:{get:function(){return this._fieldsArray||(this._fieldsArray=h.toArray(this.fields))}},oneofsArray:{get:function(){return this._oneofsArray||(this._oneofsArray=h.toArray(this.oneofs))}},ctor:{get:function(){return this._ctor||(this.ctor=g.generateConstructor(this)())},set:function(e){var t=e.prototype;t instanceof c||((e.prototype=new c).constructor=e,h.merge(e.prototype,t)),e.$type=e.prototype.$type=this,h.merge(e,c,!0),this._ctor=e;for(var i=0;i<this.fieldsArray.length;++i)this._fieldsArray[i].resolve();var n={};for(i=0;i<this.oneofsArray.length;++i)n[this._oneofsArray[i].resolve().name]={get:h.oneOfGetter(this._oneofsArray[i].oneof),set:h.oneOfSetter(this._oneofsArray[i].oneof)};i&&Object.defineProperties(e.prototype,n)}}}),g.generateConstructor=function(e){for(var t,i=h.codegen(["p"],e.name),n=0;n<e.fieldsArray.length;++n)(t=e._fieldsArray[n]).map?i("this%s={}",h.safeProp(t.name)):t.repeated&&i("this%s=[]",h.safeProp(t.name));return i("if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)")("this[ks[i]]=p[ks[i]]")},g.fromJSON=function(e,t){var i=new g(e,t.options);i.extensions=t.extensions,i.reserved=t.reserved;for(var c=Object.keys(t.fields),l=0;l<c.length;++l)i.add((void 0!==t.fields[c[l]].keyType?a.fromJSON:s.fromJSON)(c[l],t.fields[c[l]]));if(t.oneofs)for(c=Object.keys(t.oneofs),l=0;l<c.length;++l)i.add(o.fromJSON(c[l],t.oneofs[c[l]]));if(t.nested)for(c=Object.keys(t.nested),l=0;l<c.length;++l){var d=t.nested[c[l]];i.add((void 0!==d.id?s.fromJSON:void 0!==d.fields?g.fromJSON:void 0!==d.values?r.fromJSON:void 0!==d.methods?u.fromJSON:n.fromJSON)(c[l],d))}return t.extensions&&t.extensions.length&&(i.extensions=t.extensions),t.reserved&&t.reserved.length&&(i.reserved=t.reserved),t.group&&(i.group=!0),t.comment&&(i.comment=t.comment),i},g.prototype.toJSON=function(e){var t=n.prototype.toJSON.call(this,e),i=!!e&&Boolean(e.keepComments);return h.toObject(["options",t&&t.options||void 0,"oneofs",n.arrayToJSON(this.oneofsArray,e),"fields",n.arrayToJSON(this.fieldsArray.filter((function(e){return!e.declaringField})),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:void 0,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"group",this.group||void 0,"nested",t&&t.nested||void 0,"comment",i?this.comment:void 0])},g.prototype.resolveAll=function(){for(var e=this.fieldsArray,t=0;t<e.length;)e[t++].resolve();var i=this.oneofsArray;for(t=0;t<i.length;)i[t++].resolve();return n.prototype.resolveAll.call(this)},g.prototype.get=function(e){return this.fields[e]||this.oneofs&&this.oneofs[e]||this.nested&&this.nested[e]||null},g.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof s&&void 0===e.extend){if(this._fieldsById?this._fieldsById[e.id]:this.fieldsById[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name))throw Error("name '"+e.name+"' is reserved in "+this);return e.parent&&e.parent.remove(e),this.fields[e.name]=e,e.message=this,e.onAdd(this),N(this)}return e instanceof o?(this.oneofs||(this.oneofs={}),this.oneofs[e.name]=e,e.onAdd(this),N(this)):n.prototype.add.call(this,e)},g.prototype.remove=function(e){if(e instanceof s&&void 0===e.extend){if(!this.fields||this.fields[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.fields[e.name],e.parent=null,e.onRemove(this),N(this)}if(e instanceof o){if(!this.oneofs||this.oneofs[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.oneofs[e.name],e.parent=null,e.onRemove(this),N(this)}return n.prototype.remove.call(this,e)},g.prototype.isReservedId=function(e){return n.isReservedId(this.reserved,e)},g.prototype.isReservedName=function(e){return n.isReservedName(this.reserved,e)},g.prototype.create=function(e){return new this.ctor(e)},g.prototype.setup=function(){for(var e=this.fullName,t=[],i=0;i<this.fieldsArray.length;++i)t.push(this._fieldsArray[i].resolve().resolvedType);this.encode=M(this)({Writer:d,types:t,util:h}),this.decode=p(this)({Reader:l,types:t,util:h}),this.verify=f(this)({types:t,util:h}),this.fromObject=A.fromObject(this)({types:t,util:h}),this.toObject=A.toObject(this)({types:t,util:h});var n=y[e];if(n){var r=Object.create(this);r.fromObject=this.fromObject,this.fromObject=n.fromObject.bind(r),r.toObject=this.toObject,this.toObject=n.toObject.bind(r)}return this},g.prototype.encode=function(e,t){return this.setup().encode(e,t)},g.prototype.encodeDelimited=function(e,t){return this.encode(e,t&&t.len?t.fork():t).ldelim()},g.prototype.decode=function(e,t){return this.setup().decode(e,t)},g.prototype.decodeDelimited=function(e){return e instanceof l||(e=l.create(e)),this.decode(e,e.uint32())},g.prototype.verify=function(e){return this.setup().verify(e)},g.prototype.fromObject=function(e){return this.setup().fromObject(e)},g.prototype.toObject=function(e,t){return this.setup().toObject(e,t)},g.d=function(e){return function(t){h.decorateType(t,e)}}},3970:(e,t,i)=>{"use strict";var n=t,r=i(8066),o=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function s(e,t){var i=0,n={};for(t|=0;i<e.length;)n[o[i+t]]=e[i++];return n}n.basic=s([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]),n.defaults=s([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",r.emptyArray,null]),n.long=s([0,0,0,1,1],7),n.mapKey=s([0,0,0,5,5,0,0,0,1,1,0,2],2),n.packed=s([1,5,0,0,0,5,5,0,0,0,1,1,0])},8066:(e,t,i)=>{"use strict";var n,r,o=e.exports=i(4165),s=i(9009);o.codegen=i(1706),o.fetch=i(4641),o.path=i(2659),o.fs=o.inquire("fs"),o.toArray=function(e){if(e){for(var t=Object.keys(e),i=new Array(t.length),n=0;n<t.length;)i[n]=e[t[n++]];return i}return[]},o.toObject=function(e){for(var t={},i=0;i<e.length;){var n=e[i++],r=e[i++];void 0!==r&&(t[n]=r)}return t};var a=/\\/g,u=/"/g;o.isReserved=function(e){return/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(e)},o.safeProp=function(e){return!/^[$\w_]+$/.test(e)||o.isReserved(e)?'["'+e.replace(a,"\\\\").replace(u,'\\"')+'"]':"."+e},o.ucFirst=function(e){return e.charAt(0).toUpperCase()+e.substring(1)};var c=/_([a-z])/g;o.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(c,(function(e,t){return t.toUpperCase()}))},o.compareFieldsById=function(e,t){return e.id-t.id},o.decorateType=function(e,t){if(e.$type)return t&&e.$type.name!==t&&(o.decorateRoot.remove(e.$type),e.$type.name=t,o.decorateRoot.add(e.$type)),e.$type;n||(n=i(3138));var r=new n(t||e.name);return o.decorateRoot.add(r),r.ctor=e,Object.defineProperty(e,"$type",{value:r,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:r,enumerable:!1}),r};var l=0;o.decorateEnum=function(e){if(e.$type)return e.$type;r||(r=i(6901));var t=new r("Enum"+l++,e);return o.decorateRoot.add(t),Object.defineProperty(e,"$type",{value:t,enumerable:!1}),t},o.setProperty=function(e,t,i){if("object"!=typeof e)throw TypeError("dst must be an object");if(!t)throw TypeError("path must be specified");return function e(t,i,n){var r=i.shift();if(i.length>0)t[r]=e(t[r]||{},i,n);else{var o=t[r];o&&(n=[].concat(o).concat(n)),t[r]=n}return t}(e,t=t.split("."),i)},Object.defineProperty(o,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(i(742)))}})},1697:(e,t,i)=>{"use strict";e.exports=r;var n=i(4165);function r(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=r.zeroHash="\0\0\0\0\0\0\0\0";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var i=e>>>0,n=(e-i)/4294967296>>>0;return t&&(n=~n>>>0,i=~i>>>0,++i>4294967295&&(i=0,++n>4294967295&&(n=0))),new r(i,n)},r.from=function(e){if("number"==typeof e)return r.fromNumber(e);if(n.isString(e)){if(!n.Long)return r.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,i=~this.hi>>>0;return t||(i=i+1>>>0),-(t+4294967296*i)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;r.fromHash=function(e){return e===s?o:new r((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return 0===i?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:i<128?9:10}},4165:function(e,t,i){"use strict";var n=t;function r(e,t,i){for(var n=Object.keys(t),r=0;r<n.length;++r)void 0!==e[n[r]]&&i||(e[n[r]]=t[n[r]]);return e}function o(e){function t(e,i){if(!(this instanceof t))return new t(e,i);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),i&&r(this,i)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}n.asPromise=i(6781),n.base64=i(7026),n.EventEmitter=i(5570),n.float=i(5298),n.inquire=i(6116),n.utf8=i(7958),n.pool=i(804),n.LongBits=i(1697),n.isNode=Boolean(void 0!==i.g&&i.g&&i.g.process&&i.g.process.versions&&i.g.process.versions.node),n.global=n.isNode&&i.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"==typeof e||e instanceof String},n.isObject=function(e){return e&&"object"==typeof e},n.isset=n.isSet=function(e,t){var i=e[t];return!(null==i||!e.hasOwnProperty(t))&&("object"!=typeof i||(Array.isArray(i)?i.length:Object.keys(i).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var i=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(i.lo,i.hi,t):i.toNumber(Boolean(t))},n.merge=r,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},i=0;i<e.length;++i)t[e[i]]=1;return function(){for(var e=Object.keys(this),i=e.length-1;i>-1;--i)if(1===t[e[i]]&&void 0!==this[e[i]]&&null!==this[e[i]])return e[i]}},n.oneOfSetter=function(e){return function(t){for(var i=0;i<e.length;++i)e[i]!==t&&delete this[e[i]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,i){return new e(t,i)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},2332:(e,t,i)=>{"use strict";e.exports=function(e){var t=r.codegen(["m"],e.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),i={};e.oneofsArray.length&&t("var p={}");for(var n=0;n<e.fieldsArray.length;++n){var u=e._fieldsArray[n].resolve(),c="m"+r.safeProp(u.name);if(u.optional&&t("if(%s!=null&&m.hasOwnProperty(%j)){",c,u.name),u.map)t("if(!util.isObject(%s))",c)("return%j",o(u,"object"))("var k=Object.keys(%s)",c)("for(var i=0;i<k.length;++i){"),a(t,u,"k[i]"),s(t,u,n,c+"[k[i]]")("}");else if(u.repeated)t("if(!Array.isArray(%s))",c)("return%j",o(u,"array"))("for(var i=0;i<%s.length;++i){",c),s(t,u,n,c+"[i]")("}");else{if(u.partOf){var l=r.safeProp(u.partOf.name);1===i[u.partOf.name]&&t("if(p%s===1)",l)("return%j",u.partOf.name+": multiple values"),i[u.partOf.name]=1,t("p%s=1",l)}s(t,u,n,c)}u.optional&&t("}")}return t("return null")};var n=i(6901),r=i(8066);function o(e,t){return e.name+": "+t+(e.repeated&&"array"!==t?"[]":e.map&&"object"!==t?"{k:"+e.keyType+"}":"")+" expected"}function s(e,t,i,r){if(t.resolvedType)if(t.resolvedType instanceof n){e("switch(%s){",r)("default:")("return%j",o(t,"enum value"));for(var s=Object.keys(t.resolvedType.values),a=0;a<s.length;++a)e("case %i:",t.resolvedType.values[s[a]]);e("break")("}")}else e("{")("var e=types[%i].verify(%s);",i,r)("if(e)")("return%j+e",t.name+".")("}");else switch(t.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.isInteger(%s))",r)("return%j",o(t,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",r,r,r,r)("return%j",o(t,"integer|Long"));break;case"float":case"double":e('if(typeof %s!=="number")',r)("return%j",o(t,"number"));break;case"bool":e('if(typeof %s!=="boolean")',r)("return%j",o(t,"boolean"));break;case"string":e("if(!util.isString(%s))",r)("return%j",o(t,"string"));break;case"bytes":e('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))',r,r,r)("return%j",o(t,"buffer"))}return e}function a(e,t,i){switch(t.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.key32Re.test(%s))",i)("return%j",o(t,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.key64Re.test(%s))",i)("return%j",o(t,"integer|Long key"));break;case"bool":e("if(!util.key2Re.test(%s))",i)("return%j",o(t,"boolean key"))}return e}},6423:(e,t,i)=>{"use strict";var n=t,r=i(3611);n[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(e["@type"].lastIndexOf("/")+1),i=this.lookup(t);if(i){var n="."===e["@type"].charAt(0)?e["@type"].substr(1):e["@type"];return-1===n.indexOf("/")&&(n="/"+n),this.create({type_url:n,value:i.encode(i.fromObject(e)).finish()})}}return this.fromObject(e)},toObject:function(e,t){var i="",n="";if(t&&t.json&&e.type_url&&e.value){n=e.type_url.substring(e.type_url.lastIndexOf("/")+1),i=e.type_url.substring(0,e.type_url.lastIndexOf("/")+1);var o=this.lookup(n);o&&(e=o.decode(e.value))}if(!(e instanceof this.ctor)&&e instanceof r){var s=e.$type.toObject(e,t);return""===i&&(i="type.googleapis.com/"),n=i+("."===e.$type.fullName[0]?e.$type.fullName.substr(1):e.$type.fullName),s["@type"]=n,s}return this.toObject(e,t)}}},123:(e,t,i)=>{"use strict";e.exports=d;var n,r=i(4165),o=r.LongBits,s=r.base64,a=r.utf8;function u(e,t,i){this.fn=e,this.len=t,this.next=void 0,this.val=i}function c(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function d(){this.len=0,this.head=new u(c,0,0),this.tail=this.head,this.states=null}var h=function(){return r.Buffer?function(){return(d.create=function(){return new n})()}:function(){return new d}};function M(e,t,i){t[i]=255&e}function p(e,t){this.len=e,this.next=void 0,this.val=t}function f(e,t,i){for(;e.hi;)t[i++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[i++]=127&e.lo|128,e.lo=e.lo>>>7;t[i++]=e.lo}function A(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}d.create=h(),d.alloc=function(e){return new r.Array(e)},r.Array!==Array&&(d.alloc=r.pool(d.alloc,r.Array.prototype.subarray)),d.prototype._push=function(e,t,i){return this.tail=this.tail.next=new u(e,t,i),this.len+=t,this},p.prototype=Object.create(u.prototype),p.prototype.fn=function(e,t,i){for(;e>127;)t[i++]=127&e|128,e>>>=7;t[i]=e},d.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new p((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},d.prototype.int32=function(e){return e<0?this._push(f,10,o.fromNumber(e)):this.uint32(e)},d.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},d.prototype.uint64=function(e){var t=o.from(e);return this._push(f,t.length(),t)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(f,t.length(),t)},d.prototype.bool=function(e){return this._push(M,1,e?1:0)},d.prototype.fixed32=function(e){return this._push(A,4,e>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(e){var t=o.from(e);return this._push(A,4,t.lo)._push(A,4,t.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(e){return this._push(r.float.writeFloatLE,4,e)},d.prototype.double=function(e){return this._push(r.float.writeDoubleLE,8,e)};var y=r.Array.prototype.set?function(e,t,i){t.set(e,i)}:function(e,t,i){for(var n=0;n<e.length;++n)t[i+n]=e[n]};d.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(M,1,0);if(r.isString(e)){var i=d.alloc(t=s.length(e));s.decode(e,i,0),e=i}return this.uint32(t)._push(y,t,e)},d.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(M,1,0)},d.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new u(c,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new u(c,0,0),this.len=0),this},d.prototype.ldelim=function(){var e=this.head,t=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=e.next,this.tail=t,this.len+=i),this},d.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),i=0;e;)e.fn(e.val,t,i),i+=e.len,e=e.next;return t},d._configure=function(e){n=e,d.create=h(),n._configure()}},6673:(e,t,i)=>{"use strict";e.exports=o;var n=i(123);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(4165);function o(){n.call(this)}function s(e,t,i){e.length<40?r.utf8.write(e,t,i):t.utf8Write?t.utf8Write(e,i):t.write(e,i)}o._configure=function(){o.alloc=r._Buffer_allocUnsafe,o.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,i){t.set(e,i)}:function(e,t,i){if(e.copy)e.copy(t,i,0,e.length);else for(var n=0;n<e.length;)t[i++]=e[n++]}},o.prototype.bytes=function(e){r.isString(e)&&(e=r._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},9930:function(e,t,i){e.exports=function(){"use strict";var e="undefined"!=typeof window?window:void 0!==i.g?i.g:"undefined"!=typeof self?self:{};var t,n=function(){return/Android/i.test(navigator.userAgent)||/iPhone|iPad|iPod/i.test(navigator.userAgent)},r=function(e,t){for(var i=0,n=e.length;i<n;i++)t[i]=e[i]},o=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},s=(t=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(t,i){t.exports=function(){var t,i,n,r=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},o=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),s=function(){function e(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(i.push(s.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=.001,u=1,c=function(e,t){return"data:"+e+","+encodeURIComponent(t)},l=function(e,t,i){return e+(t-e)*i},d=function(){var e=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return e}}(),h=function(){var e=-1!==navigator.userAgent.indexOf("Version")&&-1!==navigator.userAgent.indexOf("Android")&&-1!==navigator.userAgent.indexOf("Chrome");return function(){return e}}(),M=function(){var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return e}}(),p=function(){var e=-1!==navigator.userAgent.indexOf("Firefox")&&-1!==navigator.userAgent.indexOf("Android");return function(){return e}}(),f=(t=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),i=t?parseInt(t[1],10):null,function(){return i}),A=function(){var e=!1;return e=d()&&M()&&-1!==navigator.userAgent.indexOf("13_4"),function(){return e}}(),y=function(){var e=!1;if(65===f()){var t=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(t){var i=t[1].split("."),n=s(i,4),r=(n[0],n[1],n[2]),o=n[3];e=3325===parseInt(r,10)&&parseInt(o,10)<148}}return function(){return e}}(),g=function(){var e=-1!==navigator.userAgent.indexOf("R7 Build");return function(){return e}}(),N=function(){var e=90==window.orientation||-90==window.orientation;return g()?!e:e},m=function(e){return!(isNaN(e)||e<=a||e>u)},v=function(){return Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio},D=function(){return Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio},T=function(e){if(h())return!1;if(e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen();else if(e.mozRequestFullScreen)e.mozRequestFullScreen();else{if(!e.msRequestFullscreen)return!1;e.msRequestFullscreen()}return!0},w=function(){if(document.exitFullscreen)document.exitFullscreen();else if(document.webkitExitFullscreen)document.webkitExitFullscreen();else if(document.mozCancelFullScreen)document.mozCancelFullScreen();else{if(!document.msExitFullscreen)return!1;document.msExitFullscreen()}return!0},z=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},j=function(e,t,i,n){var r=e.createShader(e.VERTEX_SHADER);e.shaderSource(r,t),e.compileShader(r);var o=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(o,i),e.compileShader(o);var s=e.createProgram();for(var a in e.attachShader(s,r),e.attachShader(s,o),n)e.bindAttribLocation(s,n[a],a);return e.linkProgram(s),e.deleteShader(r),e.deleteShader(o),s},I=function(e,t){for(var i={},n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),r="",o=0;o<n;o++)i[r=e.getActiveUniform(t,o).name.replace("[0]","")]=e.getUniformLocation(t,r);return i},E=function(e,t,i,n,r,o,s){var a=1/(t-i),u=1/(n-r),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+i)*a,e[13]=(r+n)*u,e[14]=(s+o)*c,e[15]=1,e},x=function(){var e,t=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t},L=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},O=function(e){if(d()){var t=e.style.width,i=e.style.height;e.style.width=parseInt(t)+1+"px",e.style.height=parseInt(i)+"px",setTimeout((function(){e.style.width=t,e.style.height=i}),100)}window.canvas=e},b=function(){var e=Math.PI/180,t=.25*Math.PI;function i(i,n,r,o){var s=Math.tan(n?n.upDegrees*e:t),a=Math.tan(n?n.downDegrees*e:t),u=Math.tan(n?n.leftDegrees*e:t),c=Math.tan(n?n.rightDegrees*e:t),l=2/(u+c),d=2/(s+a);return i[0]=l,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=d,i[6]=0,i[7]=0,i[8]=-(u-c)*l*.5,i[9]=(s-a)*d*.5,i[10]=o/(r-o),i[11]=-1,i[12]=0,i[13]=0,i[14]=o*r/(r-o),i[15]=0,i}function n(e,t,i){var n=t[0],r=t[1],o=t[2],s=t[3],a=n+n,u=r+r,c=o+o,l=n*a,d=n*u,h=n*c,M=r*u,p=r*c,f=o*c,A=s*a,y=s*u,g=s*c;return e[0]=1-(M+f),e[1]=d+g,e[2]=h-y,e[3]=0,e[4]=d-g,e[5]=1-(l+f),e[6]=p+A,e[7]=0,e[8]=h+y,e[9]=p-A,e[10]=1-(l+M),e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e}function r(e,t,i){var n,r,o,s,a,u,c,l,d,h,M,p,f=i[0],A=i[1],y=i[2];return t===e?(e[12]=t[0]*f+t[4]*A+t[8]*y+t[12],e[13]=t[1]*f+t[5]*A+t[9]*y+t[13],e[14]=t[2]*f+t[6]*A+t[10]*y+t[14],e[15]=t[3]*f+t[7]*A+t[11]*y+t[15]):(n=t[0],r=t[1],o=t[2],s=t[3],a=t[4],u=t[5],c=t[6],l=t[7],d=t[8],h=t[9],M=t[10],p=t[11],e[0]=n,e[1]=r,e[2]=o,e[3]=s,e[4]=a,e[5]=u,e[6]=c,e[7]=l,e[8]=d,e[9]=h,e[10]=M,e[11]=p,e[12]=n*f+a*A+d*y+t[12],e[13]=r*f+u*A+h*y+t[13],e[14]=o*f+c*A+M*y+t[14],e[15]=s*f+l*A+p*y+t[15]),e}function o(e,t){var i=t[0],n=t[1],r=t[2],o=t[3],s=t[4],a=t[5],u=t[6],c=t[7],l=t[8],d=t[9],h=t[10],M=t[11],p=t[12],f=t[13],A=t[14],y=t[15],g=i*a-n*s,N=i*u-r*s,m=i*c-o*s,v=n*u-r*a,D=n*c-o*a,T=r*c-o*u,w=l*f-d*p,z=l*A-h*p,j=l*y-M*p,I=d*A-h*f,E=d*y-M*f,x=h*y-M*A,L=g*x-N*E+m*I+v*j-D*z+T*w;return L?(L=1/L,e[0]=(a*x-u*E+c*I)*L,e[1]=(r*E-n*x-o*I)*L,e[2]=(f*T-A*D+y*v)*L,e[3]=(h*D-d*T-M*v)*L,e[4]=(u*j-s*x-c*z)*L,e[5]=(i*x-r*j+o*z)*L,e[6]=(A*m-p*T-y*N)*L,e[7]=(l*T-h*m+M*N)*L,e[8]=(s*E-a*j+c*w)*L,e[9]=(n*j-i*E-o*w)*L,e[10]=(p*D-f*m+y*g)*L,e[11]=(d*m-l*D-M*g)*L,e[12]=(a*z-s*I-u*w)*L,e[13]=(i*I-n*z+r*w)*L,e[14]=(f*N-p*v-A*g)*L,e[15]=(l*v-d*N+h*g)*L,e):null}var s=new Float32Array([0,0,0,1]),a=new Float32Array([0,0,0]);function u(e,t,u,c,l,d){i(e,c||null,d.depthNear,d.depthFar),n(t,u.orientation||s,u.position||a),l&&r(t,t,l),o(t,t)}return function(e,t,i){return!(!e||!t||(e.pose=t,e.timestamp=t.timestamp,u(e.leftProjectionMatrix,e.leftViewMatrix,t,i._getFieldOfView("left"),i._getEyeOffset("left"),i),u(e.rightProjectionMatrix,e.rightViewMatrix,t,i._getFieldOfView("right"),i._getEyeOffset("right"),i),0))}}(),S=function(){var e=window.self!==window.top,t=C(document.referrer),i=C(window.location.href);return e&&t!==i},C=function(e){var t,i=e.indexOf("://");t=-1!==i?i+3:0;var n=e.indexOf("/",t);return-1===n&&(n=e.length),e.substring(0,n)},_=function(e){return e.w>1?(console.warn("getQuaternionAngle: w > 1"),0):2*Math.acos(e.w)},k=(n={},function(e,t){void 0===n[e]&&(console.warn("webvr-polyfill: "+t),n[e]=!0)}),U=function(e,t){k(e,e+" has been deprecated. This may not work on native WebVR displays. "+(t?"Please use "+t+" instead.":""))};function Q(e,t,i){if(t){for(var n=[],r=null,o=0;o<t.length;++o)switch(s=t[o]){case e.TEXTURE_BINDING_2D:case e.TEXTURE_BINDING_CUBE_MAP:if((u=t[++o])<e.TEXTURE0||u>e.TEXTURE31){console.error("TEXTURE_BINDING_2D or TEXTURE_BINDING_CUBE_MAP must be followed by a valid texture unit"),n.push(null,null);break}r||(r=e.getParameter(e.ACTIVE_TEXTURE)),e.activeTexture(u),n.push(e.getParameter(s),null);break;case e.ACTIVE_TEXTURE:r=e.getParameter(e.ACTIVE_TEXTURE),n.push(null);break;default:n.push(e.getParameter(s))}for(i(e),o=0;o<t.length;++o){var s=t[o],a=n[o];switch(s){case e.ACTIVE_TEXTURE:break;case e.ARRAY_BUFFER_BINDING:e.bindBuffer(e.ARRAY_BUFFER,a);break;case e.COLOR_CLEAR_VALUE:e.clearColor(a[0],a[1],a[2],a[3]);break;case e.COLOR_WRITEMASK:e.colorMask(a[0],a[1],a[2],a[3]);break;case e.CURRENT_PROGRAM:e.useProgram(a);break;case e.ELEMENT_ARRAY_BUFFER_BINDING:e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,a);break;case e.FRAMEBUFFER_BINDING:e.bindFramebuffer(e.FRAMEBUFFER,a);break;case e.RENDERBUFFER_BINDING:e.bindRenderbuffer(e.RENDERBUFFER,a);break;case e.TEXTURE_BINDING_2D:if((u=t[++o])<e.TEXTURE0||u>e.TEXTURE31)break;e.activeTexture(u),e.bindTexture(e.TEXTURE_2D,a);break;case e.TEXTURE_BINDING_CUBE_MAP:var u;if((u=t[++o])<e.TEXTURE0||u>e.TEXTURE31)break;e.activeTexture(u),e.bindTexture(e.TEXTURE_CUBE_MAP,a);break;case e.VIEWPORT:e.viewport(a[0],a[1],a[2],a[3]);break;case e.BLEND:case e.CULL_FACE:case e.DEPTH_TEST:case e.SCISSOR_TEST:case e.STENCIL_TEST:a?e.enable(s):e.disable(s);break;default:console.log("No GL restore behavior for 0x"+s.toString(16))}r&&e.activeTexture(r)}}else i(e)}var B=Q,P=["attribute vec2 position;","attribute vec3 texCoord;","varying vec2 vTexCoord;","uniform vec4 viewportOffsetScale[2];","void main() {"," vec4 viewport = viewportOffsetScale[int(texCoord.z)];"," vTexCoord = (texCoord.xy * viewport.zw) + viewport.xy;"," gl_Position = vec4( position, 1.0, 1.0 );","}"].join("\n"),Y=["precision mediump float;","uniform sampler2D diffuse;","varying vec2 vTexCoord;","void main() {"," gl_FragColor = texture2D(diffuse, vTexCoord);","}"].join("\n");function R(e,t,i,n){this.gl=e,this.cardboardUI=t,this.bufferScale=i,this.dirtySubmitFrameBindings=n,this.ctxAttribs=e.getContextAttributes(),this.instanceExt=e.getExtension("ANGLE_instanced_arrays"),this.meshWidth=20,this.meshHeight=20,this.bufferWidth=e.drawingBufferWidth,this.bufferHeight=e.drawingBufferHeight,this.realBindFramebuffer=e.bindFramebuffer,this.realEnable=e.enable,this.realDisable=e.disable,this.realColorMask=e.colorMask,this.realClearColor=e.clearColor,this.realViewport=e.viewport,d()||(this.realCanvasWidth=Object.getOwnPropertyDescriptor(e.canvas.__proto__,"width"),this.realCanvasHeight=Object.getOwnPropertyDescriptor(e.canvas.__proto__,"height")),this.isPatched=!1,this.lastBoundFramebuffer=null,this.cullFace=!1,this.depthTest=!1,this.blend=!1,this.scissorTest=!1,this.stencilTest=!1,this.viewport=[0,0,0,0],this.colorMask=[!0,!0,!0,!0],this.clearColor=[0,0,0,0],this.attribs={position:0,texCoord:1},this.program=j(e,P,Y,this.attribs),this.uniforms=I(e,this.program),this.viewportOffsetScale=new Float32Array(8),this.setTextureBounds(),this.vertexBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.indexCount=0,this.renderTarget=e.createTexture(),this.framebuffer=e.createFramebuffer(),this.depthStencilBuffer=null,this.depthBuffer=null,this.stencilBuffer=null,this.ctxAttribs.depth&&this.ctxAttribs.stencil?this.depthStencilBuffer=e.createRenderbuffer():this.ctxAttribs.depth?this.depthBuffer=e.createRenderbuffer():this.ctxAttribs.stencil&&(this.stencilBuffer=e.createRenderbuffer()),this.patch(),this.onResize()}R.prototype.destroy=function(){var e=this.gl;this.unpatch(),e.deleteProgram(this.program),e.deleteBuffer(this.vertexBuffer),e.deleteBuffer(this.indexBuffer),e.deleteTexture(this.renderTarget),e.deleteFramebuffer(this.framebuffer),this.depthStencilBuffer&&e.deleteRenderbuffer(this.depthStencilBuffer),this.depthBuffer&&e.deleteRenderbuffer(this.depthBuffer),this.stencilBuffer&&e.deleteRenderbuffer(this.stencilBuffer),this.cardboardUI&&this.cardboardUI.destroy()},R.prototype.onResize=function(){var e=this.gl,t=this,i=[e.RENDERBUFFER_BINDING,e.TEXTURE_BINDING_2D,e.TEXTURE0];B(e,i,(function(e){t.realBindFramebuffer.call(e,e.FRAMEBUFFER,null),t.scissorTest&&t.realDisable.call(e,e.SCISSOR_TEST),t.realColorMask.call(e,!0,!0,!0,!0),t.realViewport.call(e,0,0,e.drawingBufferWidth,e.drawingBufferHeight),t.realClearColor.call(e,0,0,0,1),e.clear(e.COLOR_BUFFER_BIT),t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.framebuffer),e.bindTexture(e.TEXTURE_2D,t.renderTarget),e.texImage2D(e.TEXTURE_2D,0,t.ctxAttribs.alpha?e.RGBA:e.RGB,t.bufferWidth,t.bufferHeight,0,t.ctxAttribs.alpha?e.RGBA:e.RGB,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.renderTarget,0),t.ctxAttribs.depth&&t.ctxAttribs.stencil?(e.bindRenderbuffer(e.RENDERBUFFER,t.depthStencilBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t.depthStencilBuffer)):t.ctxAttribs.depth?(e.bindRenderbuffer(e.RENDERBUFFER,t.depthBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t.depthBuffer)):t.ctxAttribs.stencil&&(e.bindRenderbuffer(e.RENDERBUFFER,t.stencilBuffer),e.renderbufferStorage(e.RENDERBUFFER,e.STENCIL_INDEX8,t.bufferWidth,t.bufferHeight),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.STENCIL_ATTACHMENT,e.RENDERBUFFER,t.stencilBuffer)),!e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer incomplete!"),t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.lastBoundFramebuffer),t.scissorTest&&t.realEnable.call(e,e.SCISSOR_TEST),t.realColorMask.apply(e,t.colorMask),t.realViewport.apply(e,t.viewport),t.realClearColor.apply(e,t.clearColor)})),this.cardboardUI&&this.cardboardUI.onResize()},R.prototype.patch=function(){if(!this.isPatched){var e=this,t=this.gl.canvas,i=this.gl;d()||(t.width=v()*this.bufferScale,t.height=D()*this.bufferScale,Object.defineProperty(t,"width",{configurable:!0,enumerable:!0,get:function(){return e.bufferWidth},set:function(i){e.bufferWidth=i,e.realCanvasWidth.set.call(t,i),e.onResize()}}),Object.defineProperty(t,"height",{configurable:!0,enumerable:!0,get:function(){return e.bufferHeight},set:function(i){e.bufferHeight=i,e.realCanvasHeight.set.call(t,i),e.onResize()}})),this.lastBoundFramebuffer=i.getParameter(i.FRAMEBUFFER_BINDING),null==this.lastBoundFramebuffer&&(this.lastBoundFramebuffer=this.framebuffer,this.gl.bindFramebuffer(i.FRAMEBUFFER,this.framebuffer)),this.gl.bindFramebuffer=function(t,n){e.lastBoundFramebuffer=n||e.framebuffer,e.realBindFramebuffer.call(i,t,e.lastBoundFramebuffer)},this.cullFace=i.getParameter(i.CULL_FACE),this.depthTest=i.getParameter(i.DEPTH_TEST),this.blend=i.getParameter(i.BLEND),this.scissorTest=i.getParameter(i.SCISSOR_TEST),this.stencilTest=i.getParameter(i.STENCIL_TEST),i.enable=function(t){switch(t){case i.CULL_FACE:e.cullFace=!0;break;case i.DEPTH_TEST:e.depthTest=!0;break;case i.BLEND:e.blend=!0;break;case i.SCISSOR_TEST:e.scissorTest=!0;break;case i.STENCIL_TEST:e.stencilTest=!0}e.realEnable.call(i,t)},i.disable=function(t){switch(t){case i.CULL_FACE:e.cullFace=!1;break;case i.DEPTH_TEST:e.depthTest=!1;break;case i.BLEND:e.blend=!1;break;case i.SCISSOR_TEST:e.scissorTest=!1;break;case i.STENCIL_TEST:e.stencilTest=!1}e.realDisable.call(i,t)},this.colorMask=i.getParameter(i.COLOR_WRITEMASK),i.colorMask=function(t,n,r,o){e.colorMask[0]=t,e.colorMask[1]=n,e.colorMask[2]=r,e.colorMask[3]=o,e.realColorMask.call(i,t,n,r,o)},this.clearColor=i.getParameter(i.COLOR_CLEAR_VALUE),i.clearColor=function(t,n,r,o){e.clearColor[0]=t,e.clearColor[1]=n,e.clearColor[2]=r,e.clearColor[3]=o,e.realClearColor.call(i,t,n,r,o)},this.viewport=i.getParameter(i.VIEWPORT),i.viewport=function(t,n,r,o){e.viewport[0]=t,e.viewport[1]=n,e.viewport[2]=r,e.viewport[3]=o,e.realViewport.call(i,t,n,r,o)},this.isPatched=!0,O(t)}},R.prototype.unpatch=function(){if(this.isPatched){var e=this.gl,t=this.gl.canvas;d()||(Object.defineProperty(t,"width",this.realCanvasWidth),Object.defineProperty(t,"height",this.realCanvasHeight)),t.width=this.bufferWidth,t.height=this.bufferHeight,e.bindFramebuffer=this.realBindFramebuffer,e.enable=this.realEnable,e.disable=this.realDisable,e.colorMask=this.realColorMask,e.clearColor=this.realClearColor,e.viewport=this.realViewport,this.lastBoundFramebuffer==this.framebuffer&&e.bindFramebuffer(e.FRAMEBUFFER,null),this.isPatched=!1,setTimeout((function(){O(t)}),1)}},R.prototype.setTextureBounds=function(e,t){e||(e=[0,0,.5,1]),t||(t=[.5,0,.5,1]),this.viewportOffsetScale[0]=e[0],this.viewportOffsetScale[1]=e[1],this.viewportOffsetScale[2]=e[2],this.viewportOffsetScale[3]=e[3],this.viewportOffsetScale[4]=t[0],this.viewportOffsetScale[5]=t[1],this.viewportOffsetScale[6]=t[2],this.viewportOffsetScale[7]=t[3]},R.prototype.submitFrame=function(){var e=this.gl,t=this,i=[];if(this.dirtySubmitFrameBindings||i.push(e.CURRENT_PROGRAM,e.ARRAY_BUFFER_BINDING,e.ELEMENT_ARRAY_BUFFER_BINDING,e.TEXTURE_BINDING_2D,e.TEXTURE0),B(e,i,(function(e){t.realBindFramebuffer.call(e,e.FRAMEBUFFER,null);var i=0,n=0;t.instanceExt&&(i=e.getVertexAttrib(t.attribs.position,t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE),n=e.getVertexAttrib(t.attribs.texCoord,t.instanceExt.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE)),t.cullFace&&t.realDisable.call(e,e.CULL_FACE),t.depthTest&&t.realDisable.call(e,e.DEPTH_TEST),t.blend&&t.realDisable.call(e,e.BLEND),t.scissorTest&&t.realDisable.call(e,e.SCISSOR_TEST),t.stencilTest&&t.realDisable.call(e,e.STENCIL_TEST),t.realColorMask.call(e,!0,!0,!0,!0),t.realViewport.call(e,0,0,e.drawingBufferWidth,e.drawingBufferHeight),(t.ctxAttribs.alpha||d())&&(t.realClearColor.call(e,0,0,0,1),e.clear(e.COLOR_BUFFER_BIT)),e.useProgram(t.program),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.indexBuffer),e.bindBuffer(e.ARRAY_BUFFER,t.vertexBuffer),e.enableVertexAttribArray(t.attribs.position),e.enableVertexAttribArray(t.attribs.texCoord),e.vertexAttribPointer(t.attribs.position,2,e.FLOAT,!1,20,0),e.vertexAttribPointer(t.attribs.texCoord,3,e.FLOAT,!1,20,8),t.instanceExt&&(0!=i&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.position,0),0!=n&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.texCoord,0)),e.activeTexture(e.TEXTURE0),e.uniform1i(t.uniforms.diffuse,0),e.bindTexture(e.TEXTURE_2D,t.renderTarget),e.uniform4fv(t.uniforms.viewportOffsetScale,t.viewportOffsetScale),e.drawElements(e.TRIANGLES,t.indexCount,e.UNSIGNED_SHORT,0),t.cardboardUI&&t.cardboardUI.renderNoState(),t.realBindFramebuffer.call(t.gl,e.FRAMEBUFFER,t.framebuffer),t.ctxAttribs.preserveDrawingBuffer||(t.realClearColor.call(e,0,0,0,0),e.clear(e.COLOR_BUFFER_BIT)),t.dirtySubmitFrameBindings||t.realBindFramebuffer.call(e,e.FRAMEBUFFER,t.lastBoundFramebuffer),t.cullFace&&t.realEnable.call(e,e.CULL_FACE),t.depthTest&&t.realEnable.call(e,e.DEPTH_TEST),t.blend&&t.realEnable.call(e,e.BLEND),t.scissorTest&&t.realEnable.call(e,e.SCISSOR_TEST),t.stencilTest&&t.realEnable.call(e,e.STENCIL_TEST),t.realColorMask.apply(e,t.colorMask),t.realViewport.apply(e,t.viewport),!t.ctxAttribs.alpha&&t.ctxAttribs.preserveDrawingBuffer||t.realClearColor.apply(e,t.clearColor),t.instanceExt&&(0!=i&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.position,i),0!=n&&t.instanceExt.vertexAttribDivisorANGLE(t.attribs.texCoord,n))})),d()){var n=e.canvas;n.width==t.bufferWidth&&n.height==t.bufferHeight||(t.bufferWidth=n.width,t.bufferHeight=n.height,t.onResize())}},R.prototype.updateDeviceInfo=function(e){var t=this.gl,i=this,n=[t.ARRAY_BUFFER_BINDING,t.ELEMENT_ARRAY_BUFFER_BINDING];B(t,n,(function(t){var n=i.computeMeshVertices_(i.meshWidth,i.meshHeight,e);if(t.bindBuffer(t.ARRAY_BUFFER,i.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,n,t.STATIC_DRAW),!i.indexCount){var r=i.computeMeshIndices_(i.meshWidth,i.meshHeight);t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,i.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,r,t.STATIC_DRAW),i.indexCount=r.length}}))},R.prototype.computeMeshVertices_=function(e,t,i){for(var n=new Float32Array(2*e*t*5),r=i.getLeftEyeVisibleTanAngles(),o=i.getLeftEyeNoLensTanAngles(),s=i.getLeftEyeVisibleScreenRect(o),a=0,u=0;u<2;u++){for(var c=0;c<t;c++)for(var d=0;d<e;d++,a++){var h=d/(e-1),M=c/(t-1),p=h,f=M,A=l(r[0],r[2],h),y=l(r[3],r[1],M),g=Math.sqrt(A*A+y*y),N=i.distortion.distortInverse(g),m=y*N/g;h=(A*N/g-o[0])/(o[2]-o[0]),M=(m-o[3])/(o[1]-o[3]),h=2*(s.x+h*s.width-.5),M=2*(s.y+M*s.height-.5),n[5*a+0]=h,n[5*a+1]=M,n[5*a+2]=p,n[5*a+3]=f,n[5*a+4]=u}var v=r[2]-r[0];r[0]=-(v+r[0]),r[2]=v-r[2],v=o[2]-o[0],o[0]=-(v+o[0]),o[2]=v-o[2],s.x=1-(s.x+s.width)}return n},R.prototype.computeMeshIndices_=function(e,t){for(var i=new Uint16Array(2*(e-1)*(t-1)*6),n=e/2,r=t/2,o=0,s=0,a=0;a<2;a++)for(var u=0;u<t;u++)for(var c=0;c<e;c++,o++)0!=c&&0!=u&&(c<=n==u<=r?(i[s++]=o,i[s++]=o-e-1,i[s++]=o-e,i[s++]=o-e-1,i[s++]=o,i[s++]=o-1):(i[s++]=o-1,i[s++]=o-e,i[s++]=o,i[s++]=o-e,i[s++]=o-1,i[s++]=o-e-1));return i},R.prototype.getOwnPropertyDescriptor_=function(e,t){var i=Object.getOwnPropertyDescriptor(e,t);return void 0!==i.get&&void 0!==i.set||(i.configurable=!0,i.enumerable=!0,i.get=function(){return this.getAttribute(t)},i.set=function(e){this.setAttribute(t,e)}),i};var F=["attribute vec2 position;","uniform mat4 projectionMat;","void main() {"," gl_Position = projectionMat * vec4( position, -1.0, 1.0 );","}"].join("\n"),V=["precision mediump float;","uniform vec4 color;","void main() {"," gl_FragColor = color;","}"].join("\n"),G=Math.PI/180,H=60,W=12,q=20,Z=1,X=.75,J=.3125,K=4,$=28,ee=1.5;function te(e){this.gl=e,this.attribs={position:0},this.program=j(e,F,V,this.attribs),this.uniforms=I(e,this.program),this.vertexBuffer=e.createBuffer(),this.gearOffset=0,this.gearVertexCount=0,this.arrowOffset=0,this.arrowVertexCount=0,this.projMat=new Float32Array(16),this.listener=null,this.onResize()}function ie(e){this.coefficients=e}te.prototype.destroy=function(){var e=this.gl;this.listener&&e.canvas.removeEventListener("click",this.listener,!1),e.deleteProgram(this.program),e.deleteBuffer(this.vertexBuffer)},te.prototype.listen=function(e,t){var i=this.gl.canvas;this.listener=function(n){var r=i.clientWidth/2,o=$*ee;n.clientX>r-o&&n.clientX<r+o&&n.clientY>i.clientHeight-o?e(n):n.clientX<o&&n.clientY<o&&t(n)},i.addEventListener("click",this.listener,!1)},te.prototype.onResize=function(){var e=this.gl,t=this,i=[e.ARRAY_BUFFER_BINDING];B(e,i,(function(e){var i=[],n=e.drawingBufferWidth/2,r=Math.max(screen.width,screen.height)*window.devicePixelRatio,o=e.drawingBufferWidth/r*window.devicePixelRatio,s=K*o/2,a=$*ee*o,u=$*o/2,c=($*ee-$)*o;function l(e,t){var r=(90-e)*G,o=Math.cos(r),s=Math.sin(r);i.push(J*o*u+n,J*s*u+u),i.push(t*o*u+n,t*s*u+u)}i.push(n-s,a),i.push(n-s,e.drawingBufferHeight),i.push(n+s,a),i.push(n+s,e.drawingBufferHeight),t.gearOffset=i.length/2;for(var d=0;d<=6;d++){var h=d*H;l(h,Z),l(h+W,Z),l(h+q,X),l(h+(H-q),X),l(h+(H-W),Z)}function M(t,n){i.push(c+t,e.drawingBufferHeight-c-n)}t.gearVertexCount=i.length/2-t.gearOffset,t.arrowOffset=i.length/2;var p=s/Math.sin(45*G);M(0,u),M(u,0),M(u+p,p),M(p,u+p),M(p,u-p),M(0,u),M(u,2*u),M(u+p,2*u-p),M(p,u-p),M(0,u),M(p,u-s),M($*o,u-s),M(p,u+s),M($*o,u+s),t.arrowVertexCount=i.length/2-t.arrowOffset,e.bindBuffer(e.ARRAY_BUFFER,t.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e.STATIC_DRAW)}))},te.prototype.render=function(){var e=this.gl,t=this,i=[e.CULL_FACE,e.DEPTH_TEST,e.BLEND,e.SCISSOR_TEST,e.STENCIL_TEST,e.COLOR_WRITEMASK,e.VIEWPORT,e.CURRENT_PROGRAM,e.ARRAY_BUFFER_BINDING];B(e,i,(function(e){e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.BLEND),e.disable(e.SCISSOR_TEST),e.disable(e.STENCIL_TEST),e.colorMask(!0,!0,!0,!0),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),t.renderNoState()}))},te.prototype.renderNoState=function(){var e=this.gl;e.useProgram(this.program),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.enableVertexAttribArray(this.attribs.position),e.vertexAttribPointer(this.attribs.position,2,e.FLOAT,!1,8,0),e.uniform4f(this.uniforms.color,1,1,1,1),E(this.projMat,0,e.drawingBufferWidth,0,e.drawingBufferHeight,.1,1024),e.uniformMatrix4fv(this.uniforms.projectionMat,!1,this.projMat),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.drawArrays(e.TRIANGLE_STRIP,this.gearOffset,this.gearVertexCount),e.drawArrays(e.TRIANGLE_STRIP,this.arrowOffset,this.arrowVertexCount)},ie.prototype.distortInverse=function(e){for(var t=0,i=1,n=e-this.distort(t);Math.abs(i-t)>1e-4;){var r=e-this.distort(i),o=i-r*((i-t)/(r-n));t=i,i=o,n=r}return i},ie.prototype.distort=function(e){for(var t=e*e,i=0,n=0;n<this.coefficients.length;n++)i=t*(i+this.coefficients[n]);return(i+1)*e};var ne=Math.PI/180,re=180/Math.PI,oe=function(e,t,i){this.x=e||0,this.y=t||0,this.z=i||0};oe.prototype={constructor:oe,set:function(e,t,i){return this.x=e,this.y=t,this.z=i,this},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var e=this.length();if(0!==e){var t=1/e;this.multiplyScalar(t)}else this.x=0,this.y=0,this.z=0;return this},multiplyScalar:function(e){this.x*=e,this.y*=e,this.z*=e},applyQuaternion:function(e){var t=this.x,i=this.y,n=this.z,r=e.x,o=e.y,s=e.z,a=e.w,u=a*t+o*n-s*i,c=a*i+s*t-r*n,l=a*n+r*i-o*t,d=-r*t-o*i-s*n;return this.x=u*a+d*-r+c*-s-l*-o,this.y=c*a+d*-o+l*-r-u*-s,this.z=l*a+d*-s+u*-o-c*-r,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},crossVectors:function(e,t){var i=e.x,n=e.y,r=e.z,o=t.x,s=t.y,a=t.z;return this.x=n*a-r*s,this.y=r*o-i*a,this.z=i*s-n*o,this}};var se,ae,ue,ce=function(e,t,i,n){this.x=e||0,this.y=t||0,this.z=i||0,this.w=void 0!==n?n:1};function le(e){this.width=e.width||v(),this.height=e.height||D(),this.widthMeters=e.widthMeters,this.heightMeters=e.heightMeters,this.bevelMeters=e.bevelMeters}ce.prototype={constructor:ce,set:function(e,t,i,n){return this.x=e,this.y=t,this.z=i,this.w=n,this},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},setFromEulerXYZ:function(e,t,i){var n=Math.cos(e/2),r=Math.cos(t/2),o=Math.cos(i/2),s=Math.sin(e/2),a=Math.sin(t/2),u=Math.sin(i/2);return this.x=s*r*o+n*a*u,this.y=n*a*o-s*r*u,this.z=n*r*u+s*a*o,this.w=n*r*o-s*a*u,this},setFromEulerYXZ:function(e,t,i){var n=Math.cos(e/2),r=Math.cos(t/2),o=Math.cos(i/2),s=Math.sin(e/2),a=Math.sin(t/2),u=Math.sin(i/2);return this.x=s*r*o+n*a*u,this.y=n*a*o-s*r*u,this.z=n*r*u-s*a*o,this.w=n*r*o+s*a*u,this},setFromAxisAngle:function(e,t){var i=t/2,n=Math.sin(i);return this.x=e.x*n,this.y=e.y*n,this.z=e.z*n,this.w=Math.cos(i),this},multiply:function(e){return this.multiplyQuaternions(this,e)},multiplyQuaternions:function(e,t){var i=e.x,n=e.y,r=e.z,o=e.w,s=t.x,a=t.y,u=t.z,c=t.w;return this.x=i*c+o*s+n*u-r*a,this.y=n*c+o*a+r*s-i*u,this.z=r*c+o*u+i*a-n*s,this.w=o*c-i*s-n*a-r*u,this},inverse:function(){return this.x*=-1,this.y*=-1,this.z*=-1,this.normalize(),this},normalize:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);return 0===e?(this.x=0,this.y=0,this.z=0,this.w=1):(e=1/e,this.x=this.x*e,this.y=this.y*e,this.z=this.z*e,this.w=this.w*e),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var i=this.x,n=this.y,r=this.z,o=this.w,s=o*e.w+i*e.x+n*e.y+r*e.z;if(s<0?(this.w=-e.w,this.x=-e.x,this.y=-e.y,this.z=-e.z,s=-s):this.copy(e),s>=1)return this.w=o,this.x=i,this.y=n,this.z=r,this;var a=Math.acos(s),u=Math.sqrt(1-s*s);if(Math.abs(u)<.001)return this.w=.5*(o+this.w),this.x=.5*(i+this.x),this.y=.5*(n+this.y),this.z=.5*(r+this.z),this;var c=Math.sin((1-t)*a)/u,l=Math.sin(t*a)/u;return this.w=o*c+this.w*l,this.x=i*c+this.x*l,this.y=n*c+this.y*l,this.z=r*c+this.z*l,this},setFromUnitVectors:(ue=1e-6,function(e,t){return void 0===se&&(se=new oe),(ae=e.dot(t)+1)<ue?(ae=0,Math.abs(e.x)>Math.abs(e.z)?se.set(-e.y,e.x,0):se.set(0,-e.z,e.y)):se.crossVectors(e,t),this.x=se.x,this.y=se.y,this.z=se.z,this.w=ae,this.normalize(),this})};var de=new le({widthMeters:.11,heightMeters:.062,bevelMeters:.004}),he=new le({widthMeters:.1038,heightMeters:.0584,bevelMeters:.004}),Me={CardboardV1:new fe({id:"CardboardV1",label:"Cardboard I/O 2014",fov:40,interLensDistance:.06,baselineLensDistance:.035,screenLensDistance:.042,distortionCoefficients:[.441,.156],inverseCoefficients:[-.4410035,.42756155,-.4804439,.5460139,-.58821183,.5733938,-.48303202,.33299083,-.17573841,.0651772,-.01488963,.001559834]}),CardboardV2:new fe({id:"CardboardV2",label:"Cardboard I/O 2015",fov:60,interLensDistance:.064,baselineLensDistance:.035,screenLensDistance:.039,distortionCoefficients:[.34,.55],inverseCoefficients:[-.33836704,-.18162185,.862655,-1.2462051,1.0560602,-.58208317,.21609078,-.05444823,.009177956,-.0009904169,6183535e-11,-16981803e-13]})};function pe(e,t){this.viewer=Me.CardboardV2,this.updateDeviceParams(e),this.distortion=new ie(this.viewer.distortionCoefficients);for(var i=0;i<t.length;i++){var n=t[i];Me[n.id]=new fe(n)}}function fe(e){this.id=e.id,this.label=e.label,this.fov=e.fov,this.interLensDistance=e.interLensDistance,this.baselineLensDistance=e.baselineLensDistance,this.screenLensDistance=e.screenLensDistance,this.distortionCoefficients=e.distortionCoefficients,this.inverseCoefficients=e.inverseCoefficients}pe.prototype.updateDeviceParams=function(e){this.device=this.determineDevice_(e)||this.device},pe.prototype.getDevice=function(){return this.device},pe.prototype.setViewer=function(e){this.viewer=e,this.distortion=new ie(this.viewer.distortionCoefficients)},pe.prototype.determineDevice_=function(e){if(!e)return d()?(console.warn("Using fallback iOS device measurements."),he):(console.warn("Using fallback Android device measurements."),de);var t=.0254,i=t/e.xdpi,n=t/e.ydpi;return new le({widthMeters:i*v(),heightMeters:n*D(),bevelMeters:.001*e.bevelMm})},pe.prototype.getDistortedFieldOfViewLeftEye=function(){var e=this.viewer,t=this.device,i=this.distortion,n=e.screenLensDistance,r=(t.widthMeters-e.interLensDistance)/2,o=e.interLensDistance/2,s=e.baselineLensDistance-t.bevelMeters,a=t.heightMeters-s,u=re*Math.atan(i.distort(r/n)),c=re*Math.atan(i.distort(o/n)),l=re*Math.atan(i.distort(s/n)),d=re*Math.atan(i.distort(a/n));return{leftDegrees:Math.min(u,e.fov),rightDegrees:Math.min(c,e.fov),downDegrees:Math.min(l,e.fov),upDegrees:Math.min(d,e.fov)}},pe.prototype.getLeftEyeVisibleTanAngles=function(){var e=this.viewer,t=this.device,i=this.distortion,n=Math.tan(-ne*e.fov),r=Math.tan(ne*e.fov),o=Math.tan(ne*e.fov),s=Math.tan(-ne*e.fov),a=t.widthMeters/4,u=t.heightMeters/2,c=e.baselineLensDistance-t.bevelMeters-u,l=e.interLensDistance/2-a,d=-c,h=e.screenLensDistance,M=i.distort((l-a)/h),p=i.distort((d+u)/h),f=i.distort((l+a)/h),A=i.distort((d-u)/h),y=new Float32Array(4);return y[0]=Math.max(n,M),y[1]=Math.min(r,p),y[2]=Math.min(o,f),y[3]=Math.max(s,A),y},pe.prototype.getLeftEyeNoLensTanAngles=function(){var e=this.viewer,t=this.device,i=this.distortion,n=new Float32Array(4),r=i.distortInverse(Math.tan(-ne*e.fov)),o=i.distortInverse(Math.tan(ne*e.fov)),s=i.distortInverse(Math.tan(ne*e.fov)),a=i.distortInverse(Math.tan(-ne*e.fov)),u=t.widthMeters/4,c=t.heightMeters/2,l=e.baselineLensDistance-t.bevelMeters-c,d=e.interLensDistance/2-u,h=-l,M=e.screenLensDistance,p=(d-u)/M,f=(h+c)/M,A=(d+u)/M,y=(h-c)/M;return n[0]=Math.max(r,p),n[1]=Math.min(o,f),n[2]=Math.min(s,A),n[3]=Math.max(a,y),n},pe.prototype.getLeftEyeVisibleScreenRect=function(e){var t=this.viewer,i=this.device,n=t.screenLensDistance,r=(i.widthMeters-t.interLensDistance)/2,o=t.baselineLensDistance-i.bevelMeters,s=(e[0]*n+r)/i.widthMeters,a=(e[1]*n+o)/i.heightMeters,u=(e[2]*n+r)/i.widthMeters,c=(e[3]*n+o)/i.heightMeters;return{x:s,y:c,width:u-s,height:a-c}},pe.prototype.getFieldOfViewLeftEye=function(e){return e?this.getUndistortedFieldOfViewLeftEye():this.getDistortedFieldOfViewLeftEye()},pe.prototype.getFieldOfViewRightEye=function(e){var t=this.getFieldOfViewLeftEye(e);return{leftDegrees:t.rightDegrees,rightDegrees:t.leftDegrees,upDegrees:t.upDegrees,downDegrees:t.downDegrees}},pe.prototype.getUndistortedFieldOfViewLeftEye=function(){var e=this.getUndistortedParams_();return{leftDegrees:re*Math.atan(e.outerDist),rightDegrees:re*Math.atan(e.innerDist),downDegrees:re*Math.atan(e.bottomDist),upDegrees:re*Math.atan(e.topDist)}},pe.prototype.getUndistortedViewportLeftEye=function(){var e=this.getUndistortedParams_(),t=this.viewer,i=this.device,n=t.screenLensDistance,r=i.widthMeters/n,o=i.heightMeters/n,s=i.width/r,a=i.height/o,u=Math.round((e.eyePosX-e.outerDist)*s),c=Math.round((e.eyePosY-e.bottomDist)*a);return{x:u,y:c,width:Math.round((e.eyePosX+e.innerDist)*s)-u,height:Math.round((e.eyePosY+e.topDist)*a)-c}},pe.prototype.getUndistortedParams_=function(){var e=this.viewer,t=this.device,i=this.distortion,n=e.screenLensDistance,r=e.interLensDistance/2/n,o=t.widthMeters/n,s=t.heightMeters/n,a=o/2-r,u=(e.baselineLensDistance-t.bevelMeters)/n,c=e.fov,l=i.distortInverse(Math.tan(ne*c)),d=Math.min(a,l),h=Math.min(r,l),M=Math.min(u,l);return{outerDist:d,innerDist:h,topDist:Math.min(s-u,l),bottomDist:M,eyePosX:a,eyePosY:u}},pe.Viewers=Me;var Ae={format:1,last_updated:"2019-11-09T17:36:14Z",devices:[{type:"android",rules:[{mdmh:"asus/*/Nexus 7/*"},{ua:"Nexus 7"}],dpi:[320.8,323],bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_X00PD/*"},{ua:"ASUS_X00PD"}],dpi:245,bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_X008D/*"},{ua:"ASUS_X008D"}],dpi:282,bw:3,ac:500},{type:"android",rules:[{mdmh:"asus/*/ASUS_Z00AD/*"},{ua:"ASUS_Z00AD"}],dpi:[403,404.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 2 XL/*"},{ua:"Pixel 2 XL"}],dpi:537.9,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 3 XL/*"},{ua:"Pixel 3 XL"}],dpi:[558.5,553.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel XL/*"},{ua:"Pixel XL"}],dpi:[537.9,533],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 3/*"},{ua:"Pixel 3"}],dpi:442.4,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Google/*/Pixel 2/*"},{ua:"Pixel 2"}],dpi:441,bw:3,ac:500},{type:"android",rules:[{mdmh:"Google/*/Pixel/*"},{ua:"Pixel"}],dpi:[432.6,436.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"HTC/*/HTC6435LVW/*"},{ua:"HTC6435LVW"}],dpi:[449.7,443.3],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"HTC/*/HTC One XL/*"},{ua:"HTC One XL"}],dpi:[315.3,314.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"htc/*/Nexus 9/*"},{ua:"Nexus 9"}],dpi:289,bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One M9/*"},{ua:"HTC One M9"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One_M8/*"},{ua:"HTC One_M8"}],dpi:[449.7,447.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"HTC/*/HTC One/*"},{ua:"HTC One"}],dpi:472.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/Nexus 6P/*"},{ua:"Nexus 6P"}],dpi:[515.1,518],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/BLN-L24/*"},{ua:"HONORBLN-L24"}],dpi:480,bw:4,ac:500},{type:"android",rules:[{mdmh:"Huawei/*/BKL-L09/*"},{ua:"BKL-L09"}],dpi:403,bw:3.47,ac:500},{type:"android",rules:[{mdmh:"LENOVO/*/Lenovo PB2-690Y/*"},{ua:"Lenovo PB2-690Y"}],dpi:[457.2,454.713],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5X/*"},{ua:"Nexus 5X"}],dpi:[422,419.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGMS345/*"},{ua:"LGMS345"}],dpi:[221.7,219.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D800/*"},{ua:"LG-D800"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/LG-D850/*"},{ua:"LG-D850"}],dpi:[537.9,541.9],bw:3,ac:500},{type:"android",rules:[{mdmh:"LGE/*/VS985 4G/*"},{ua:"VS985 4G"}],dpi:[537.9,535.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 5/*"},{ua:"Nexus 5 B"}],dpi:[442.4,444.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/Nexus 4/*"},{ua:"Nexus 4"}],dpi:[319.8,318.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LG-P769/*"},{ua:"LG-P769"}],dpi:[240.6,247.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGMS323/*"},{ua:"LGMS323"}],dpi:[206.6,204.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"LGE/*/LGLS996/*"},{ua:"LGLS996"}],dpi:[403.4,401.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/4560MMX/*"},{ua:"4560MMX"}],dpi:[240,219.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/A250/*"},{ua:"Micromax A250"}],dpi:[480,446.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Micromax/*/Micromax AQ4501/*"},{ua:"Micromax AQ4501"}],dpi:240,bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/G5/*"},{ua:"Moto G (5) Plus"}],dpi:[403.4,403],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/DROID RAZR/*"},{ua:"DROID RAZR"}],dpi:[368.1,256.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT830C/*"},{ua:"XT830C"}],dpi:[254,255.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1021/*"},{ua:"XT1021"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1023/*"},{ua:"XT1023"}],dpi:[254,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1028/*"},{ua:"XT1028"}],dpi:[326.6,327.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1034/*"},{ua:"XT1034"}],dpi:[326.6,328.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1053/*"},{ua:"XT1053"}],dpi:[315.3,316.1],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1562/*"},{ua:"XT1562"}],dpi:[403.4,402.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/Nexus 6/*"},{ua:"Nexus 6 B"}],dpi:[494.3,489.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1063/*"},{ua:"XT1063"}],dpi:[295,296.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/XT1064/*"},{ua:"XT1064"}],dpi:[295,295.6],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1092/*"},{ua:"XT1092"}],dpi:[422,424.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"motorola/*/XT1095/*"},{ua:"XT1095"}],dpi:[422,423.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"motorola/*/G4/*"},{ua:"Moto G (4)"}],dpi:401,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/A0001/*"},{ua:"A0001"}],dpi:[403.4,401],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1001/*"},{ua:"ONE E1001"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1003/*"},{ua:"ONE E1003"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE E1005/*"},{ua:"ONE E1005"}],dpi:[442.4,441.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2001/*"},{ua:"ONE A2001"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2003/*"},{ua:"ONE A2003"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A2005/*"},{ua:"ONE A2005"}],dpi:[391.9,405.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3000/*"},{ua:"ONEPLUS A3000"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3003/*"},{ua:"ONEPLUS A3003"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A3010/*"},{ua:"ONEPLUS A3010"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A5000/*"},{ua:"ONEPLUS A5000 "}],dpi:[403.411,399.737],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONE A5010/*"},{ua:"ONEPLUS A5010"}],dpi:[403,400],bw:2,ac:1e3},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6000/*"},{ua:"ONEPLUS A6000"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6003/*"},{ua:"ONEPLUS A6003"}],dpi:401,bw:3,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6010/*"},{ua:"ONEPLUS A6010"}],dpi:401,bw:2,ac:500},{type:"android",rules:[{mdmh:"OnePlus/*/ONEPLUS A6013/*"},{ua:"ONEPLUS A6013"}],dpi:401,bw:2,ac:500},{type:"android",rules:[{mdmh:"OPPO/*/X909/*"},{ua:"X909"}],dpi:[442.4,444.1],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9082/*"},{ua:"GT-I9082"}],dpi:[184.7,185.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G360P/*"},{ua:"SM-G360P"}],dpi:[196.7,205.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/Nexus S/*"},{ua:"Nexus S"}],dpi:[234.5,229.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[304.8,303.9],bw:5,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-T230NU/*"},{ua:"SM-T230NU"}],dpi:216,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SGH-T399/*"},{ua:"SGH-T399"}],dpi:[217.7,231.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SGH-M919/*"},{ua:"SGH-M919"}],dpi:[440.8,437.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N9005/*"},{ua:"SM-N9005"}],dpi:[386.4,387],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SM-N900A/*"},{ua:"SAMSUNG-SM-N900A"}],dpi:[386.4,387.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9500/*"},{ua:"GT-I9500"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/GT-I9505/*"},{ua:"GT-I9505"}],dpi:439.4,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900F/*"},{ua:"SM-G900F"}],dpi:[415.6,431.6],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G900M/*"},{ua:"SM-G900M"}],dpi:[415.6,431.6],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G800F/*"},{ua:"SM-G800F"}],dpi:326.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G906S/*"},{ua:"SM-G906S"}],dpi:[562.7,572.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300/*"},{ua:"GT-I9300"}],dpi:[306.7,304.8],bw:5,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-T535/*"},{ua:"SM-T535"}],dpi:[142.6,136.4],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-N920C/*"},{ua:"SM-N920C"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N920P/*"},{ua:"SM-N920P"}],dpi:[386.3655,390.144],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N920W8/*"},{ua:"SM-N920W8"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9300I/*"},{ua:"GT-I9300I"}],dpi:[304.8,305.8],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-I9195/*"},{ua:"GT-I9195"}],dpi:[249.4,256.7],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SPH-L520/*"},{ua:"SPH-L520"}],dpi:[249.4,255.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SAMSUNG-SGH-I717/*"},{ua:"SAMSUNG-SGH-I717"}],dpi:285.8,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SPH-D710/*"},{ua:"SPH-D710"}],dpi:[217.7,204.2],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/GT-N7100/*"},{ua:"GT-N7100"}],dpi:265.1,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SCH-I605/*"},{ua:"SCH-I605"}],dpi:265.1,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/Galaxy Nexus/*"},{ua:"Galaxy Nexus"}],dpi:[315.3,314.2],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910H/*"},{ua:"SM-N910H"}],dpi:[515.1,518],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-N910C/*"},{ua:"SM-N910C"}],dpi:[515.2,520.2],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G130M/*"},{ua:"SM-G130M"}],dpi:[165.9,164.8],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G928I/*"},{ua:"SM-G928I"}],dpi:[515.1,518.4],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G920F/*"},{ua:"SM-G920F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G920P/*"},{ua:"SM-G920P"}],dpi:[522.5,577],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G925F/*"},{ua:"SM-G925F"}],dpi:580.6,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G925V/*"},{ua:"SM-G925V"}],dpi:[522.5,576.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G930F/*"},{ua:"SM-G930F"}],dpi:576.6,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G935F/*"},{ua:"SM-G935F"}],dpi:533,bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G950F/*"},{ua:"SM-G950F"}],dpi:[562.707,565.293],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G955U/*"},{ua:"SM-G955U"}],dpi:[522.514,525.762],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G955F/*"},{ua:"SM-G955F"}],dpi:[522.514,525.762],bw:3,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G960F/*"},{ua:"SM-G960F"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G9600/*"},{ua:"SM-G9600"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960T/*"},{ua:"SM-G960T"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960N/*"},{ua:"SM-G960N"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960U/*"},{ua:"SM-G960U"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G9608/*"},{ua:"SM-G9608"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960FD/*"},{ua:"SM-G960FD"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G960W/*"},{ua:"SM-G960W"}],dpi:[569.575,571.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G965F/*"},{ua:"SM-G965F"}],dpi:529,bw:2,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/C6903/*"},{ua:"C6903"}],dpi:[442.5,443.3],bw:3,ac:500},{type:"android",rules:[{mdmh:"Sony/*/D6653/*"},{ua:"D6653"}],dpi:[428.6,427.6],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/E6653/*"},{ua:"E6653"}],dpi:[428.6,425.7],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/E6853/*"},{ua:"E6853"}],dpi:[403.4,401.9],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Sony/*/SGP321/*"},{ua:"SGP321"}],dpi:[224.7,224.1],bw:3,ac:500},{type:"android",rules:[{mdmh:"TCT/*/ALCATEL ONE TOUCH Fierce/*"},{ua:"ALCATEL ONE TOUCH Fierce"}],dpi:[240,247.5],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"THL/*/thl 5000/*"},{ua:"thl 5000"}],dpi:[480,443.3],bw:3,ac:1e3},{type:"android",rules:[{mdmh:"Fly/*/IQ4412/*"},{ua:"IQ4412"}],dpi:307.9,bw:3,ac:1e3},{type:"android",rules:[{mdmh:"ZTE/*/ZTE Blade L2/*"},{ua:"ZTE Blade L2"}],dpi:240,bw:3,ac:500},{type:"android",rules:[{mdmh:"BENEVE/*/VR518/*"},{ua:"VR518"}],dpi:480,bw:3,ac:500},{type:"ios",rules:[{res:[640,960]}],dpi:[325.1,328.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[640,1136]}],dpi:[317.1,320.2],bw:3,ac:1e3},{type:"ios",rules:[{res:[750,1334]}],dpi:326.4,bw:4,ac:1e3},{type:"ios",rules:[{res:[1242,2208]}],dpi:[453.6,458.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[1125,2001]}],dpi:[410.9,415.4],bw:4,ac:1e3},{type:"ios",rules:[{res:[1125,2436]}],dpi:458,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"Huawei/*/EML-L29/*"},{ua:"EML-L29"}],dpi:428,bw:3.45,ac:500},{type:"android",rules:[{mdmh:"Nokia/*/Nokia 7.1/*"},{ua:"Nokia 7.1"}],dpi:[432,431.9],bw:3,ac:500},{type:"ios",rules:[{res:[1242,2688]}],dpi:458,bw:4,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G570M/*"},{ua:"SM-G570M"}],dpi:320,bw:3.684,ac:1e3},{type:"android",rules:[{mdmh:"samsung/*/SM-G970F/*"},{ua:"SM-G970F"}],dpi:438,bw:2.281,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G973F/*"},{ua:"SM-G973F"}],dpi:550,bw:2.002,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G975F/*"},{ua:"SM-G975F"}],dpi:522,bw:2.054,ac:500},{type:"android",rules:[{mdmh:"samsung/*/SM-G977F/*"},{ua:"SM-G977F"}],dpi:505,bw:2.334,ac:500},{type:"ios",rules:[{res:[828,1792]}],dpi:326,bw:5,ac:500}]};function ye(e,t){if(this.dpdb=Ae,this.recalculateDeviceParams_(),e){this.onDeviceParamsUpdated=t;var i=new XMLHttpRequest,n=this;i.open("GET",e,!0),i.addEventListener("load",(function(){n.loading=!1,i.status>=200&&i.status<=299?(n.dpdb=JSON.parse(i.response),n.recalculateDeviceParams_()):console.error("Error loading online DPDB!")})),i.send()}}function ge(e){this.xdpi=e.xdpi,this.ydpi=e.ydpi,this.bevelMm=e.bevelMm}function Ne(e,t){this.set(e,t)}function me(e,t){this.kFilter=e,this.isDebug=t,this.currentAccelMeasurement=new Ne,this.currentGyroMeasurement=new Ne,this.previousGyroMeasurement=new Ne,d()?this.filterQ=new ce(-1,0,0,1):this.filterQ=new ce(1,0,0,1),this.previousFilterQ=new ce,this.previousFilterQ.copy(this.filterQ),this.accelQ=new ce,this.isOrientationInitialized=!1,this.estimatedGravity=new oe,this.measuredGravity=new oe,this.gyroIntegralQ=new ce}function ve(e,t){this.predictionTimeS=e,this.isDebug=t,this.previousQ=new ce,this.previousTimestampS=null,this.deltaQ=new ce,this.outQ=new ce}function De(e,t,i,n){this.yawOnly=i,this.accelerometer=new oe,this.gyroscope=new oe,this.filter=new me(e,n),this.posePredictor=new ve(t,n),this.isFirefoxAndroid=p(),this.isIOS=d();var r=f();this.isDeviceMotionInRadians=!this.isIOS&&r&&r<66,this.isWithoutDeviceMotion=y()||A(),this.filterToWorldQ=new ce,d()?this.filterToWorldQ.setFromAxisAngle(new oe(1,0,0),Math.PI/2):this.filterToWorldQ.setFromAxisAngle(new oe(1,0,0),-Math.PI/2),this.inverseWorldToScreenQ=new ce,this.worldToScreenQ=new ce,this.originalPoseAdjustQ=new ce,this.originalPoseAdjustQ.setFromAxisAngle(new oe(0,0,1),-window.orientation*Math.PI/180),this.setScreenTransform_(),N()&&this.filterToWorldQ.multiply(this.inverseWorldToScreenQ),this.resetQ=new ce,this.orientationOut_=new Float32Array(4),this.start()}ye.prototype.getDeviceParams=function(){return this.deviceParams},ye.prototype.recalculateDeviceParams_=function(){var e=this.calcDeviceParams_();e?(this.deviceParams=e,this.onDeviceParamsUpdated&&this.onDeviceParamsUpdated(this.deviceParams)):console.error("Failed to recalculate device parameters.")},ye.prototype.calcDeviceParams_=function(){var e=this.dpdb;if(!e)return console.error("DPDB not available."),null;if(1!=e.format)return console.error("DPDB has unexpected format version."),null;if(!e.devices||!e.devices.length)return console.error("DPDB does not have a devices section."),null;var t=navigator.userAgent||navigator.vendor||window.opera,i=v(),n=D();if(!e.devices)return console.error("DPDB has no devices section."),null;for(var r=0;r<e.devices.length;r++){var o=e.devices[r];if(o.rules)if("ios"==o.type||"android"==o.type){if(d()==("ios"==o.type)){for(var s=!1,a=0;a<o.rules.length;a++){var u=o.rules[a];if(this.ruleMatches_(u,t,i,n)){s=!0;break}}if(s)return new ge({xdpi:o.dpi[0]||o.dpi,ydpi:o.dpi[1]||o.dpi,bevelMm:o.bw})}}else console.warn("Device["+r+"] has invalid type.");else console.warn("Device["+r+"] has no rules section.")}return console.warn("No DPDB device match."),null},ye.prototype.ruleMatches_=function(e,t,i,n){if(!e.ua&&!e.res)return!1;if(e.ua&&"SM"===e.ua.substring(0,2)&&(e.ua=e.ua.substring(0,7)),e.ua&&t.indexOf(e.ua)<0)return!1;if(e.res){if(!e.res[0]||!e.res[1])return!1;var r=e.res[0],o=e.res[1];if(Math.min(i,n)!=Math.min(r,o)||Math.max(i,n)!=Math.max(r,o))return!1}return!0},Ne.prototype.set=function(e,t){this.sample=e,this.timestampS=t},Ne.prototype.copy=function(e){this.set(e.sample,e.timestampS)},me.prototype.addAccelMeasurement=function(e,t){this.currentAccelMeasurement.set(e,t)},me.prototype.addGyroMeasurement=function(e,t){this.currentGyroMeasurement.set(e,t);var i=t-this.previousGyroMeasurement.timestampS;m(i)&&this.run_(),this.previousGyroMeasurement.copy(this.currentGyroMeasurement)},me.prototype.run_=function(){if(!this.isOrientationInitialized)return this.accelQ=this.accelToQuaternion_(this.currentAccelMeasurement.sample),this.previousFilterQ.copy(this.accelQ),void(this.isOrientationInitialized=!0);var e=this.currentGyroMeasurement.timestampS-this.previousGyroMeasurement.timestampS,t=this.gyroToQuaternionDelta_(this.currentGyroMeasurement.sample,e);this.gyroIntegralQ.multiply(t),this.filterQ.copy(this.previousFilterQ),this.filterQ.multiply(t);var i=new ce;i.copy(this.filterQ),i.inverse(),this.estimatedGravity.set(0,0,-1),this.estimatedGravity.applyQuaternion(i),this.estimatedGravity.normalize(),this.measuredGravity.copy(this.currentAccelMeasurement.sample),this.measuredGravity.normalize();var n=new ce;n.setFromUnitVectors(this.estimatedGravity,this.measuredGravity),n.inverse(),this.isDebug&&console.log("Delta: %d deg, G_est: (%s, %s, %s), G_meas: (%s, %s, %s)",re*_(n),this.estimatedGravity.x.toFixed(1),this.estimatedGravity.y.toFixed(1),this.estimatedGravity.z.toFixed(1),this.measuredGravity.x.toFixed(1),this.measuredGravity.y.toFixed(1),this.measuredGravity.z.toFixed(1));var r=new ce;r.copy(this.filterQ),r.multiply(n),this.filterQ.slerp(r,1-this.kFilter),this.previousFilterQ.copy(this.filterQ)},me.prototype.getOrientation=function(){return this.filterQ},me.prototype.accelToQuaternion_=function(e){var t=new oe;t.copy(e),t.normalize();var i=new ce;return i.setFromUnitVectors(new oe(0,0,-1),t),i.inverse(),i},me.prototype.gyroToQuaternionDelta_=function(e,t){var i=new ce,n=new oe;return n.copy(e),n.normalize(),i.setFromAxisAngle(n,e.length()*t),i},ve.prototype.getPrediction=function(e,t,i){if(!this.previousTimestampS)return this.previousQ.copy(e),this.previousTimestampS=i,e;var n=new oe;n.copy(t),n.normalize();var r=t.length();if(r<20*ne)return this.isDebug&&console.log("Moving slowly, at %s deg/s: no prediction",(re*r).toFixed(1)),this.outQ.copy(e),this.previousQ.copy(e),this.outQ;var o=r*this.predictionTimeS;return this.deltaQ.setFromAxisAngle(n,o),this.outQ.copy(this.previousQ),this.outQ.multiply(this.deltaQ),this.previousQ.copy(e),this.previousTimestampS=i,this.outQ},De.prototype.getPosition=function(){return null},De.prototype.getOrientation=function(){var e=void 0;if(this.isWithoutDeviceMotion&&this._deviceOrientationQ)return this.deviceOrientationFixQ=this.deviceOrientationFixQ||(i=(new ce).setFromAxisAngle(new oe(0,0,-1),0),n=new ce,-90===window.orientation?n.setFromAxisAngle(new oe(0,1,0),Math.PI/-2):n.setFromAxisAngle(new oe(0,1,0),Math.PI/2),i.multiply(n)),this.deviceOrientationFilterToWorldQ=this.deviceOrientationFilterToWorldQ||((t=new ce).setFromAxisAngle(new oe(1,0,0),-Math.PI/2),t),e=this._deviceOrientationQ,(r=new ce).copy(e),r.multiply(this.deviceOrientationFilterToWorldQ),r.multiply(this.resetQ),r.multiply(this.worldToScreenQ),r.multiplyQuaternions(this.deviceOrientationFixQ,r),this.yawOnly&&(r.x=0,r.z=0,r.normalize()),this.orientationOut_[0]=r.x,this.orientationOut_[1]=r.y,this.orientationOut_[2]=r.z,this.orientationOut_[3]=r.w,this.orientationOut_;var t,i,n,r,o=this.filter.getOrientation();return e=this.posePredictor.getPrediction(o,this.gyroscope,this.previousTimestampS),(r=new ce).copy(this.filterToWorldQ),r.multiply(this.resetQ),r.multiply(e),r.multiply(this.worldToScreenQ),this.yawOnly&&(r.x=0,r.z=0,r.normalize()),this.orientationOut_[0]=r.x,this.orientationOut_[1]=r.y,this.orientationOut_[2]=r.z,this.orientationOut_[3]=r.w,this.orientationOut_},De.prototype.resetPose=function(){this.resetQ.copy(this.filter.getOrientation()),this.resetQ.x=0,this.resetQ.y=0,this.resetQ.z*=-1,this.resetQ.normalize(),N()&&this.resetQ.multiply(this.inverseWorldToScreenQ),this.resetQ.multiply(this.originalPoseAdjustQ)},De.prototype.onDeviceOrientation_=function(e){this._deviceOrientationQ=this._deviceOrientationQ||new ce;var t=e.alpha,i=e.beta,n=e.gamma;t=(t||0)*Math.PI/180,i=(i||0)*Math.PI/180,n=(n||0)*Math.PI/180,this._deviceOrientationQ.setFromEulerYXZ(i,t,-n)},De.prototype.onDeviceMotion_=function(e){this.updateDeviceMotion_(e)},De.prototype.updateDeviceMotion_=function(e){var t=e.accelerationIncludingGravity,i=e.rotationRate,n=e.timeStamp/1e3,r=n-this.previousTimestampS;return r<0?(k("fusion-pose-sensor:invalid:non-monotonic","Invalid timestamps detected: non-monotonic timestamp from devicemotion"),void(this.previousTimestampS=n)):r<=a||r>u?(k("fusion-pose-sensor:invalid:outside-threshold","Invalid timestamps detected: Timestamp from devicemotion outside expected range."),void(this.previousTimestampS=n)):(this.accelerometer.set(-t.x,-t.y,-t.z),i&&(g()?this.gyroscope.set(-i.beta,i.alpha,i.gamma):this.gyroscope.set(i.alpha,i.beta,i.gamma),this.isDeviceMotionInRadians||this.gyroscope.multiplyScalar(Math.PI/180),this.filter.addGyroMeasurement(this.gyroscope,n)),this.filter.addAccelMeasurement(this.accelerometer,n),void(this.previousTimestampS=n))},De.prototype.onOrientationChange_=function(e){this.setScreenTransform_()},De.prototype.onMessage_=function(e){var t=e.data;t&&t.type&&"devicemotion"===t.type.toLowerCase()&&this.updateDeviceMotion_(t.deviceMotionEvent)},De.prototype.setScreenTransform_=function(){switch(this.worldToScreenQ.set(0,0,0,1),window.orientation){case 0:break;case 90:this.worldToScreenQ.setFromAxisAngle(new oe(0,0,1),-Math.PI/2);break;case-90:this.worldToScreenQ.setFromAxisAngle(new oe(0,0,1),Math.PI/2)}this.inverseWorldToScreenQ.copy(this.worldToScreenQ),this.inverseWorldToScreenQ.inverse()},De.prototype.start=function(){this.onDeviceMotionCallback_=this.onDeviceMotion_.bind(this),this.onOrientationChangeCallback_=this.onOrientationChange_.bind(this),this.onMessageCallback_=this.onMessage_.bind(this),this.onDeviceOrientationCallback_=this.onDeviceOrientation_.bind(this),d()&&S()&&window.addEventListener("message",this.onMessageCallback_),window.addEventListener("orientationchange",this.onOrientationChangeCallback_),this.isWithoutDeviceMotion?window.addEventListener("deviceorientation",this.onDeviceOrientationCallback_):window.addEventListener("devicemotion",this.onDeviceMotionCallback_)},De.prototype.stop=function(){window.removeEventListener("devicemotion",this.onDeviceMotionCallback_),window.removeEventListener("deviceorientation",this.onDeviceOrientationCallback_),window.removeEventListener("orientationchange",this.onOrientationChangeCallback_),window.removeEventListener("message",this.onMessageCallback_)};var Te=60,we=new oe(1,0,0),ze=new oe(0,0,1),je=new ce;je.setFromAxisAngle(we,-Math.PI/2),je.multiply((new ce).setFromAxisAngle(ze,Math.PI/2));var Ie=function(){function e(t){r(this,e),this.config=t,this.sensor=null,this.fusionSensor=null,this._out=new Float32Array(4),this.api=null,this.errors=[],this._sensorQ=new ce,this._outQ=new ce,this._onSensorRead=this._onSensorRead.bind(this),this._onSensorError=this._onSensorError.bind(this),this.init()}return o(e,[{key:"init",value:function(){var e=null;try{(e=new RelativeOrientationSensor({frequency:Te,referenceFrame:"screen"})).addEventListener("error",this._onSensorError)}catch(e){this.errors.push(e),"SecurityError"===e.name?(console.error("Cannot construct sensors due to the Feature Policy"),console.warn('Attempting to fall back using "devicemotion"; however this will fail in the future without correct permissions.'),this.useDeviceMotion()):"ReferenceError"===e.name?this.useDeviceMotion():console.error(e)}e&&(this.api="sensor",this.sensor=e,this.sensor.addEventListener("reading",this._onSensorRead),this.sensor.start())}},{key:"useDeviceMotion",value:function(){this.api="devicemotion",this.fusionSensor=new De(this.config.K_FILTER,this.config.PREDICTION_TIME_S,this.config.YAW_ONLY,this.config.DEBUG),this.sensor&&(this.sensor.removeEventListener("reading",this._onSensorRead),this.sensor.removeEventListener("error",this._onSensorError),this.sensor=null)}},{key:"getOrientation",value:function(){if(this.fusionSensor)return this.fusionSensor.getOrientation();if(!this.sensor||!this.sensor.quaternion)return this._out[0]=this._out[1]=this._out[2]=0,this._out[3]=1,this._out;var e=this.sensor.quaternion;this._sensorQ.set(e[0],e[1],e[2],e[3]);var t=this._outQ;return t.copy(je),t.multiply(this._sensorQ),this.config.YAW_ONLY&&(t.x=t.z=0,t.normalize()),this._out[0]=t.x,this._out[1]=t.y,this._out[2]=t.z,this._out[3]=t.w,this._out}},{key:"_onSensorError",value:function(e){this.errors.push(e.error),"NotAllowedError"===e.error.name?console.error("Permission to access sensor was denied"):"NotReadableError"===e.error.name?console.error("Sensor could not be read"):console.error(e.error),this.useDeviceMotion()}},{key:"_onSensorRead",value:function(){}}]),e}(),Ee="<svg width='198' height='240' viewBox='0 0 198 240' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M149.625 109.527l6.737 3.891v.886c0 .177.013.36.038.549.01.081.02.162.027.242.14 1.415.974 2.998 2.105 3.999l5.72 5.062.081-.09s4.382-2.53 5.235-3.024l25.97 14.993v54.001c0 .771-.386 1.217-.948 1.217-.233 0-.495-.076-.772-.236l-23.967-13.838-.014.024-27.322 15.775-.85-1.323c-4.731-1.529-9.748-2.74-14.951-3.61a.27.27 0 0 0-.007.024l-5.067 16.961-7.891 4.556-.037-.063v27.59c0 .772-.386 1.217-.948 1.217-.232 0-.495-.076-.772-.236l-42.473-24.522c-.95-.549-1.72-1.877-1.72-2.967v-1.035l-.021.047a5.111 5.111 0 0 0-1.816-.399 5.682 5.682 0 0 0-.546.001 13.724 13.724 0 0 1-1.918-.041c-1.655-.153-3.2-.6-4.404-1.296l-46.576-26.89.005.012-10.278-18.75c-1.001-1.827-.241-4.216 1.698-5.336l56.011-32.345a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.659 3.227 1.853l.005-.003.227.413-.006.004a9.63 9.63 0 0 0 1.477 2.018l.277.27c1.914 1.85 4.468 2.801 7.113 2.801 1.949 0 3.948-.517 5.775-1.572.013 0 7.319-4.219 7.319-4.219a4.194 4.194 0 0 1 2.099-.572c1.326 0 2.572.658 3.226 1.853l3.25 5.928.022-.018 6.785 3.917-.105-.182 46.881-26.965m0-1.635c-.282 0-.563.073-.815.218l-46.169 26.556-5.41-3.124-3.005-5.481c-.913-1.667-2.699-2.702-4.66-2.703-1.011 0-2.02.274-2.917.792a3825 3825 0 0 1-7.275 4.195l-.044.024a9.937 9.937 0 0 1-4.957 1.353c-2.292 0-4.414-.832-5.976-2.342l-.252-.245a7.992 7.992 0 0 1-1.139-1.534 1.379 1.379 0 0 0-.06-.122l-.227-.414a1.718 1.718 0 0 0-.095-.154c-.938-1.574-2.673-2.545-4.571-2.545-1.011 0-2.02.274-2.917.792L3.125 155.502c-2.699 1.559-3.738 4.94-2.314 7.538l10.278 18.75c.177.323.448.563.761.704l46.426 26.804c1.403.81 3.157 1.332 5.072 1.508a15.661 15.661 0 0 0 2.146.046 4.766 4.766 0 0 1 .396 0c.096.004.19.011.283.022.109 1.593 1.159 3.323 2.529 4.114l42.472 24.522c.524.302 1.058.455 1.59.455 1.497 0 2.583-1.2 2.583-2.852v-26.562l7.111-4.105a1.64 1.64 0 0 0 .749-.948l4.658-15.593c4.414.797 8.692 1.848 12.742 3.128l.533.829a1.634 1.634 0 0 0 2.193.531l26.532-15.317L193 192.433c.523.302 1.058.455 1.59.455 1.497 0 2.583-1.199 2.583-2.852v-54.001c0-.584-.312-1.124-.818-1.416l-25.97-14.993a1.633 1.633 0 0 0-1.636.001c-.606.351-2.993 1.73-4.325 2.498l-4.809-4.255c-.819-.725-1.461-1.933-1.561-2.936a7.776 7.776 0 0 0-.033-.294 2.487 2.487 0 0 1-.023-.336v-.886c0-.584-.312-1.123-.817-1.416l-6.739-3.891a1.633 1.633 0 0 0-.817-.219' fill='#455A64'/><path d='M96.027 132.636l46.576 26.891c1.204.695 1.979 1.587 2.242 2.541l-.01.007-81.374 46.982h-.001c-1.654-.152-3.199-.6-4.403-1.295l-46.576-26.891 83.546-48.235' fill='#FAFAFA'/><path d='M63.461 209.174c-.008 0-.015 0-.022-.002-1.693-.156-3.228-.609-4.441-1.309l-46.576-26.89a.118.118 0 0 1 0-.203l83.546-48.235a.117.117 0 0 1 .117 0l46.576 26.891c1.227.708 2.021 1.612 2.296 2.611a.116.116 0 0 1-.042.124l-.021.016-81.375 46.981a.11.11 0 0 1-.058.016zm-50.747-28.303l46.401 26.79c1.178.68 2.671 1.121 4.32 1.276l81.272-46.922c-.279-.907-1.025-1.73-2.163-2.387l-46.517-26.857-83.313 48.1z' fill='#607D8B'/><path d='M148.327 165.471a5.85 5.85 0 0 1-.546.001c-1.894-.083-3.302-1.038-3.145-2.132a2.693 2.693 0 0 0-.072-1.105l-81.103 46.822c.628.058 1.272.073 1.918.042.182-.009.364-.009.546-.001 1.894.083 3.302 1.038 3.145 2.132l79.257-45.759' fill='#FFF'/><path d='M69.07 211.347a.118.118 0 0 1-.115-.134c.045-.317-.057-.637-.297-.925-.505-.61-1.555-1.022-2.738-1.074a5.966 5.966 0 0 0-.535.001 14.03 14.03 0 0 1-1.935-.041.117.117 0 0 1-.103-.092.116.116 0 0 1 .055-.126l81.104-46.822a.117.117 0 0 1 .171.07c.104.381.129.768.074 1.153-.045.316.057.637.296.925.506.61 1.555 1.021 2.739 1.073.178.008.357.008.535-.001a.117.117 0 0 1 .064.218l-79.256 45.759a.114.114 0 0 1-.059.016zm-3.405-2.372c.089 0 .177.002.265.006 1.266.056 2.353.488 2.908 1.158.227.274.35.575.36.882l78.685-45.429c-.036 0-.072-.001-.107-.003-1.267-.056-2.354-.489-2.909-1.158-.282-.34-.402-.724-.347-1.107a2.604 2.604 0 0 0-.032-.91L63.846 208.97a13.91 13.91 0 0 0 1.528.012c.097-.005.194-.007.291-.007z' fill='#607D8B'/><path d='M2.208 162.134c-1.001-1.827-.241-4.217 1.698-5.337l56.011-32.344c1.939-1.12 4.324-.546 5.326 1.281l.232.41a9.344 9.344 0 0 0 1.47 2.021l.278.27c3.325 3.214 8.583 3.716 12.888 1.23l7.319-4.22c1.94-1.119 4.324-.546 5.325 1.282l3.25 5.928-83.519 48.229-10.278-18.75z' fill='#FAFAFA'/><path d='M12.486 181.001a.112.112 0 0 1-.031-.005.114.114 0 0 1-.071-.056L2.106 162.19c-1.031-1.88-.249-4.345 1.742-5.494l56.01-32.344a4.328 4.328 0 0 1 2.158-.588c1.415 0 2.65.702 3.311 1.882.01.008.018.017.024.028l.227.414a.122.122 0 0 1 .013.038 9.508 9.508 0 0 0 1.439 1.959l.275.266c1.846 1.786 4.344 2.769 7.031 2.769 1.977 0 3.954-.538 5.717-1.557a.148.148 0 0 1 .035-.013l7.284-4.206a4.321 4.321 0 0 1 2.157-.588c1.427 0 2.672.716 3.329 1.914l3.249 5.929a.116.116 0 0 1-.044.157l-83.518 48.229a.116.116 0 0 1-.059.016zm49.53-57.004c-.704 0-1.41.193-2.041.557l-56.01 32.345c-1.882 1.086-2.624 3.409-1.655 5.179l10.221 18.645 83.317-48.112-3.195-5.829c-.615-1.122-1.783-1.792-3.124-1.792a4.08 4.08 0 0 0-2.04.557l-7.317 4.225a.148.148 0 0 1-.035.013 11.7 11.7 0 0 1-5.801 1.569c-2.748 0-5.303-1.007-7.194-2.835l-.278-.27a9.716 9.716 0 0 1-1.497-2.046.096.096 0 0 1-.013-.037l-.191-.347a.11.11 0 0 1-.023-.029c-.615-1.123-1.783-1.793-3.124-1.793z' fill='#607D8B'/><path d='M42.434 155.808c-2.51-.001-4.697-1.258-5.852-3.365-1.811-3.304-.438-7.634 3.059-9.654l12.291-7.098a7.599 7.599 0 0 1 3.789-1.033c2.51 0 4.697 1.258 5.852 3.365 1.811 3.304.439 7.634-3.059 9.654l-12.291 7.098a7.606 7.606 0 0 1-3.789 1.033zm13.287-20.683a7.128 7.128 0 0 0-3.555.971l-12.291 7.098c-3.279 1.893-4.573 5.942-2.883 9.024 1.071 1.955 3.106 3.122 5.442 3.122a7.13 7.13 0 0 0 3.556-.97l12.291-7.098c3.279-1.893 4.572-5.942 2.883-9.024-1.072-1.955-3.106-3.123-5.443-3.123z' fill='#607D8B'/><path d='M149.588 109.407l6.737 3.89v.887c0 .176.013.36.037.549.011.081.02.161.028.242.14 1.415.973 2.998 2.105 3.999l7.396 6.545c.177.156.358.295.541.415 1.579 1.04 2.95.466 3.062-1.282.049-.784.057-1.595.023-2.429l-.003-.16v-1.151l25.987 15.003v54c0 1.09-.77 1.53-1.72.982l-42.473-24.523c-.95-.548-1.72-1.877-1.72-2.966v-34.033' fill='#FAFAFA'/><path d='M194.553 191.25c-.257 0-.54-.085-.831-.253l-42.472-24.521c-.981-.567-1.779-1.943-1.779-3.068v-34.033h.234v34.033c0 1.051.745 2.336 1.661 2.866l42.473 24.521c.424.245.816.288 1.103.122.285-.164.442-.52.442-1.002v-53.933l-25.753-14.868.003 1.106c.034.832.026 1.654-.024 2.439-.054.844-.396 1.464-.963 1.746-.619.309-1.45.173-2.28-.373a5.023 5.023 0 0 1-.553-.426l-7.397-6.544c-1.158-1.026-1.999-2.625-2.143-4.076a9.624 9.624 0 0 0-.027-.238 4.241 4.241 0 0 1-.038-.564v-.82l-6.68-3.856.117-.202 6.738 3.89.058.034v.954c0 .171.012.351.036.533.011.083.021.165.029.246.138 1.395.948 2.935 2.065 3.923l7.397 6.545c.173.153.35.289.527.406.758.499 1.504.63 2.047.359.49-.243.786-.795.834-1.551.05-.778.057-1.591.024-2.417l-.004-.163v-1.355l.175.1 25.987 15.004.059.033v54.068c0 .569-.198.996-.559 1.204a1.002 1.002 0 0 1-.506.131' fill='#607D8B'/><path d='M145.685 163.161l24.115 13.922-25.978 14.998-1.462-.307c-6.534-2.17-13.628-3.728-21.019-4.616-4.365-.524-8.663 1.096-9.598 3.62a2.746 2.746 0 0 0-.011 1.928c1.538 4.267 4.236 8.363 7.995 12.135l.532.845-25.977 14.997-24.115-13.922 75.518-43.6' fill='#FFF'/><path d='M94.282 220.818l-.059-.033-24.29-14.024.175-.101 75.577-43.634.058.033 24.29 14.024-26.191 15.122-.045-.01-1.461-.307c-6.549-2.174-13.613-3.725-21.009-4.614a13.744 13.744 0 0 0-1.638-.097c-3.758 0-7.054 1.531-7.837 3.642a2.62 2.62 0 0 0-.01 1.848c1.535 4.258 4.216 8.326 7.968 12.091l.016.021.526.835.006.01.064.102-.105.061-25.977 14.998-.058.033zm-23.881-14.057l23.881 13.788 24.802-14.32c.546-.315.846-.489 1.017-.575l-.466-.74c-3.771-3.787-6.467-7.881-8.013-12.168a2.851 2.851 0 0 1 .011-2.008c.815-2.199 4.203-3.795 8.056-3.795.557 0 1.117.033 1.666.099 7.412.891 14.491 2.445 21.041 4.621.836.175 1.215.254 1.39.304l25.78-14.884-23.881-13.788-75.284 43.466z' fill='#607D8B'/><path d='M167.23 125.979v50.871l-27.321 15.773-6.461-14.167c-.91-1.996-3.428-1.738-5.624.574a10.238 10.238 0 0 0-2.33 4.018l-6.46 21.628-27.322 15.774v-50.871l75.518-43.6' fill='#FFF'/><path d='M91.712 220.567a.127.127 0 0 1-.059-.016.118.118 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.519-43.6a.117.117 0 0 1 .175.101v50.871c0 .041-.023.08-.059.1l-27.321 15.775a.118.118 0 0 1-.094.01.12.12 0 0 1-.071-.063l-6.46-14.168c-.375-.822-1.062-1.275-1.934-1.275-1.089 0-2.364.686-3.5 1.881a10.206 10.206 0 0 0-2.302 3.972l-6.46 21.627a.118.118 0 0 1-.054.068L91.77 220.551a.12.12 0 0 1-.058.016zm.117-50.92v50.601l27.106-15.65 6.447-21.583a10.286 10.286 0 0 1 2.357-4.065c1.18-1.242 2.517-1.954 3.669-1.954.969 0 1.731.501 2.146 1.411l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M168.543 126.213v50.87l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.624.574a10.248 10.248 0 0 0-2.33 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6' fill='#FFF'/><path d='M93.025 220.8a.123.123 0 0 1-.059-.015.12.12 0 0 1-.058-.101v-50.871c0-.042.023-.08.058-.101l75.518-43.6a.112.112 0 0 1 .117 0c.036.02.059.059.059.1v50.871a.116.116 0 0 1-.059.101l-27.321 15.774a.111.111 0 0 1-.094.01.115.115 0 0 1-.071-.062l-6.46-14.168c-.375-.823-1.062-1.275-1.935-1.275-1.088 0-2.363.685-3.499 1.881a10.19 10.19 0 0 0-2.302 3.971l-6.461 21.628a.108.108 0 0 1-.053.067l-27.322 15.775a.12.12 0 0 1-.058.015zm.117-50.919v50.6l27.106-15.649 6.447-21.584a10.293 10.293 0 0 1 2.357-4.065c1.179-1.241 2.516-1.954 3.668-1.954.969 0 1.732.502 2.147 1.412l6.407 14.051 27.152-15.676v-50.601l-75.284 43.466z' fill='#607D8B'/><path d='M169.8 177.083l-27.322 15.774-6.46-14.168c-.91-1.995-3.428-1.738-5.625.574a10.246 10.246 0 0 0-2.329 4.019l-6.461 21.627-27.321 15.774v-50.87l75.518-43.6v50.87z' fill='#FAFAFA'/><path d='M94.282 220.917a.234.234 0 0 1-.234-.233v-50.871c0-.083.045-.161.117-.202l75.518-43.601a.234.234 0 1 1 .35.202v50.871a.233.233 0 0 1-.116.202l-27.322 15.775a.232.232 0 0 1-.329-.106l-6.461-14.168c-.36-.789-.992-1.206-1.828-1.206-1.056 0-2.301.672-3.415 1.844a10.099 10.099 0 0 0-2.275 3.924l-6.46 21.628a.235.235 0 0 1-.107.136l-27.322 15.774a.23.23 0 0 1-.116.031zm.233-50.969v50.331l26.891-15.525 6.434-21.539a10.41 10.41 0 0 1 2.384-4.112c1.201-1.265 2.569-1.991 3.753-1.991 1.018 0 1.818.526 2.253 1.48l6.354 13.934 26.982-15.578v-50.331l-75.051 43.331z' fill='#607D8B'/><path d='M109.894 199.943c-1.774 0-3.241-.725-4.244-2.12a.224.224 0 0 1 .023-.294.233.233 0 0 1 .301-.023c.78.547 1.705.827 2.75.827 1.323 0 2.754-.439 4.256-1.306 5.311-3.067 9.631-10.518 9.631-16.611 0-1.927-.442-3.56-1.278-4.724a.232.232 0 0 1 .323-.327c1.671 1.172 2.591 3.381 2.591 6.219 0 6.242-4.426 13.863-9.865 17.003-1.574.908-3.084 1.356-4.488 1.356zm-2.969-1.542c.813.651 1.82.877 2.968.877h.001c1.321 0 2.753-.327 4.254-1.194 5.311-3.067 9.632-10.463 9.632-16.556 0-1.979-.463-3.599-1.326-4.761.411 1.035.625 2.275.625 3.635 0 6.243-4.426 13.883-9.865 17.023-1.574.909-3.084 1.317-4.49 1.317-.641 0-1.243-.149-1.799-.341z' fill='#607D8B'/><path d='M113.097 197.23c5.384-3.108 9.748-10.636 9.748-16.814 0-2.051-.483-3.692-1.323-4.86-1.784-1.252-4.374-1.194-7.257.47-5.384 3.108-9.748 10.636-9.748 16.814 0 2.051.483 3.692 1.323 4.86 1.784 1.252 4.374 1.194 7.257-.47' fill='#FAFAFA'/><path d='M108.724 198.614c-1.142 0-2.158-.213-3.019-.817-.021-.014-.04.014-.055-.007-.894-1.244-1.367-2.948-1.367-4.973 0-6.242 4.426-13.864 9.865-17.005 1.574-.908 3.084-1.363 4.49-1.363 1.142 0 2.158.309 3.018.913a.23.23 0 0 1 .056.056c.894 1.244 1.367 2.972 1.367 4.997 0 6.243-4.426 13.783-9.865 16.923-1.574.909-3.084 1.276-4.49 1.276zm-2.718-1.109c.774.532 1.688.776 2.718.776 1.323 0 2.754-.413 4.256-1.28 5.311-3.066 9.631-10.505 9.631-16.598 0-1.909-.434-3.523-1.255-4.685-.774-.533-1.688-.799-2.718-.799-1.323 0-2.755.441-4.256 1.308-5.311 3.066-9.631 10.506-9.631 16.599 0 1.909.434 3.517 1.255 4.679z' fill='#607D8B'/><path d='M149.318 114.262l-9.984 8.878 15.893 11.031 5.589-6.112-11.498-13.797' fill='#FAFAFA'/><path d='M169.676 120.84l-9.748 5.627c-3.642 2.103-9.528 2.113-13.147.024-3.62-2.089-3.601-5.488.041-7.591l9.495-5.608-6.729-3.885-81.836 47.071 45.923 26.514 3.081-1.779c.631-.365.869-.898.618-1.39-2.357-4.632-2.593-9.546-.683-14.262 5.638-13.92 24.509-24.815 48.618-28.07 8.169-1.103 16.68-.967 24.704.394.852.145 1.776.008 2.407-.357l3.081-1.778-25.825-14.91' fill='#FAFAFA'/><path d='M113.675 183.459a.47.47 0 0 1-.233-.062l-45.924-26.515a.468.468 0 0 1 .001-.809l81.836-47.071a.467.467 0 0 1 .466 0l6.729 3.885a.467.467 0 0 1-.467.809l-6.496-3.75-80.9 46.533 44.988 25.973 2.848-1.644c.192-.111.62-.409.435-.773-2.416-4.748-2.658-9.814-.7-14.65 2.806-6.927 8.885-13.242 17.582-18.263 8.657-4.998 19.518-8.489 31.407-10.094 8.198-1.107 16.79-.97 24.844.397.739.125 1.561.007 2.095-.301l2.381-1.374-25.125-14.506a.467.467 0 0 1 .467-.809l25.825 14.91a.467.467 0 0 1 0 .809l-3.081 1.779c-.721.417-1.763.575-2.718.413-7.963-1.351-16.457-1.486-24.563-.392-11.77 1.589-22.512 5.039-31.065 9.977-8.514 4.916-14.456 11.073-17.183 17.805-1.854 4.578-1.623 9.376.666 13.875.37.725.055 1.513-.8 2.006l-3.081 1.78a.476.476 0 0 1-.234.062' fill='#455A64'/><path d='M153.316 128.279c-2.413 0-4.821-.528-6.652-1.586-1.818-1.049-2.82-2.461-2.82-3.975 0-1.527 1.016-2.955 2.861-4.02l9.493-5.607a.233.233 0 1 1 .238.402l-9.496 5.609c-1.696.979-2.628 2.263-2.628 3.616 0 1.34.918 2.608 2.585 3.571 3.549 2.049 9.343 2.038 12.914-.024l9.748-5.628a.234.234 0 0 1 .234.405l-9.748 5.628c-1.858 1.072-4.296 1.609-6.729 1.609' fill='#607D8B'/><path d='M113.675 182.992l-45.913-26.508M113.675 183.342a.346.346 0 0 1-.175-.047l-45.913-26.508a.35.35 0 1 1 .35-.607l45.913 26.508a.35.35 0 0 1-.175.654' fill='#455A64'/><path d='M67.762 156.484v54.001c0 1.09.77 2.418 1.72 2.967l42.473 24.521c.95.549 1.72.11 1.72-.98v-54.001' fill='#FAFAFA'/><path d='M112.727 238.561c-.297 0-.62-.095-.947-.285l-42.473-24.521c-1.063-.613-1.895-2.05-1.895-3.27v-54.001a.35.35 0 1 1 .701 0v54.001c0 .96.707 2.18 1.544 2.663l42.473 24.522c.344.198.661.243.87.122.206-.119.325-.411.325-.799v-54.001a.35.35 0 1 1 .7 0v54.001c0 .655-.239 1.154-.675 1.406a1.235 1.235 0 0 1-.623.162' fill='#455A64'/><path d='M112.86 147.512h-.001c-2.318 0-4.499-.522-6.142-1.471-1.705-.984-2.643-2.315-2.643-3.749 0-1.445.952-2.791 2.68-3.788l12.041-6.953c1.668-.962 3.874-1.493 6.212-1.493 2.318 0 4.499.523 6.143 1.472 1.704.984 2.643 2.315 2.643 3.748 0 1.446-.952 2.791-2.68 3.789l-12.042 6.952c-1.668.963-3.874 1.493-6.211 1.493zm12.147-16.753c-2.217 0-4.298.497-5.861 1.399l-12.042 6.952c-1.502.868-2.33 1.998-2.33 3.182 0 1.173.815 2.289 2.293 3.142 1.538.889 3.596 1.378 5.792 1.378h.001c2.216 0 4.298-.497 5.861-1.399l12.041-6.953c1.502-.867 2.33-1.997 2.33-3.182 0-1.172-.814-2.288-2.292-3.142-1.539-.888-3.596-1.377-5.793-1.377z' fill='#607D8B'/><path d='M165.63 123.219l-5.734 3.311c-3.167 1.828-8.286 1.837-11.433.02-3.147-1.817-3.131-4.772.036-6.601l5.734-3.31 11.397 6.58' fill='#FAFAFA'/><path d='M154.233 117.448l9.995 5.771-4.682 2.704c-1.434.827-3.352 1.283-5.399 1.283-2.029 0-3.923-.449-5.333-1.263-1.29-.744-2-1.694-2-2.674 0-.991.723-1.955 2.036-2.713l5.383-3.108m0-.809l-5.734 3.31c-3.167 1.829-3.183 4.784-.036 6.601 1.568.905 3.623 1.357 5.684 1.357 2.077 0 4.159-.46 5.749-1.377l5.734-3.311-11.397-6.58M145.445 179.667c-1.773 0-3.241-.85-4.243-2.245-.067-.092-.057-.275.023-.356.08-.081.207-.12.3-.055.781.548 1.706.812 2.751.811 1.322 0 2.754-.446 4.256-1.313 5.31-3.066 9.631-10.522 9.631-16.615 0-1.927-.442-3.562-1.279-4.726a.235.235 0 0 1 .024-.301.232.232 0 0 1 .3-.027c1.67 1.172 2.59 3.38 2.59 6.219 0 6.242-4.425 13.987-9.865 17.127-1.573.908-3.083 1.481-4.488 1.481zM142.476 178c.814.651 1.82 1.002 2.969 1.002 1.322 0 2.753-.452 4.255-1.32 5.31-3.065 9.631-10.523 9.631-16.617 0-1.98-.463-3.63-1.325-4.793.411 1.035.624 2.26.624 3.62 0 6.242-4.425 13.875-9.865 17.015-1.573.909-3.084 1.376-4.489 1.376a5.49 5.49 0 0 1-1.8-.283z' fill='#607D8B'/><path d='M148.648 176.704c5.384-3.108 9.748-10.636 9.748-16.813 0-2.052-.483-3.693-1.322-4.861-1.785-1.252-4.375-1.194-7.258.471-5.383 3.108-9.748 10.636-9.748 16.813 0 2.051.484 3.692 1.323 4.86 1.785 1.253 4.374 1.195 7.257-.47' fill='#FAFAFA'/><path d='M144.276 178.276c-1.143 0-2.158-.307-3.019-.911a.217.217 0 0 1-.055-.054c-.895-1.244-1.367-2.972-1.367-4.997 0-6.241 4.425-13.875 9.865-17.016 1.573-.908 3.084-1.369 4.489-1.369 1.143 0 2.158.307 3.019.91a.24.24 0 0 1 .055.055c.894 1.244 1.367 2.971 1.367 4.997 0 6.241-4.425 13.875-9.865 17.016-1.573.908-3.084 1.369-4.489 1.369zm-2.718-1.172c.773.533 1.687.901 2.718.901 1.322 0 2.754-.538 4.256-1.405 5.31-3.066 9.631-10.567 9.631-16.661 0-1.908-.434-3.554-1.256-4.716-.774-.532-1.688-.814-2.718-.814-1.322 0-2.754.433-4.256 1.3-5.31 3.066-9.631 10.564-9.631 16.657 0 1.91.434 3.576 1.256 4.738z' fill='#607D8B'/><path d='M150.72 172.361l-.363-.295a24.105 24.105 0 0 0 2.148-3.128 24.05 24.05 0 0 0 1.977-4.375l.443.149a24.54 24.54 0 0 1-2.015 4.46 24.61 24.61 0 0 1-2.19 3.189M115.917 191.514l-.363-.294a24.174 24.174 0 0 0 2.148-3.128 24.038 24.038 0 0 0 1.976-4.375l.443.148a24.48 24.48 0 0 1-2.015 4.461 24.662 24.662 0 0 1-2.189 3.188M114 237.476V182.584 237.476' fill='#607D8B'/><g><path d='M81.822 37.474c.017-.135-.075-.28-.267-.392-.327-.188-.826-.21-1.109-.045l-6.012 3.471c-.131.076-.194.178-.191.285.002.132.002.461.002.578v.043l-.007.128-6.591 3.779c-.001 0-2.077 1.046-2.787 5.192 0 0-.912 6.961-.898 19.745.015 12.57.606 17.07 1.167 21.351.22 1.684 3.001 2.125 3.001 2.125.331.04.698-.027 1.08-.248l75.273-43.551c1.808-1.069 2.667-3.719 3.056-6.284 1.213-7.99 1.675-32.978-.275-39.878-.196-.693-.51-1.083-.868-1.282l-2.086-.79c-.727.028-1.416.467-1.534.535L82.032 37.072l-.21.402' fill='#FFF'/><path d='M144.311 1.701l2.085.79c.358.199.672.589.868 1.282 1.949 6.9 1.487 31.887.275 39.878-.39 2.565-1.249 5.215-3.056 6.284L69.21 93.486a1.78 1.78 0 0 1-.896.258l-.183-.011c0 .001-2.782-.44-3.003-2.124-.56-4.282-1.151-8.781-1.165-21.351-.015-12.784.897-19.745.897-19.745.71-4.146 2.787-5.192 2.787-5.192l6.591-3.779.007-.128v-.043c0-.117 0-.446-.002-.578-.003-.107.059-.21.191-.285l6.012-3.472a.98.98 0 0 1 .481-.11c.218 0 .449.053.627.156.193.112.285.258.268.392l.211-.402 60.744-34.836c.117-.068.806-.507 1.534-.535m0-.997l-.039.001c-.618.023-1.283.244-1.974.656l-.021.012-60.519 34.706a2.358 2.358 0 0 0-.831-.15c-.365 0-.704.084-.98.244l-6.012 3.471c-.442.255-.699.69-.689 1.166l.001.15-6.08 3.487c-.373.199-2.542 1.531-3.29 5.898l-.006.039c-.009.07-.92 7.173-.906 19.875.014 12.62.603 17.116 1.172 21.465l.002.015c.308 2.355 3.475 2.923 3.836 2.98l.034.004c.101.013.204.019.305.019a2.77 2.77 0 0 0 1.396-.392l75.273-43.552c1.811-1.071 2.999-3.423 3.542-6.997 1.186-7.814 1.734-33.096-.301-40.299-.253-.893-.704-1.527-1.343-1.882l-.132-.062-2.085-.789a.973.973 0 0 0-.353-.065' fill='#455A64'/><path d='M128.267 11.565l1.495.434-56.339 32.326' fill='#FFF'/><path d='M74.202 90.545a.5.5 0 0 1-.25-.931l18.437-10.645a.499.499 0 1 1 .499.864L74.451 90.478l-.249.067M75.764 42.654l-.108-.062.046-.171 5.135-2.964.17.045-.045.171-5.135 2.964-.063.017M70.52 90.375V46.421l.063-.036L137.84 7.554v43.954l-.062.036L70.52 90.375zm.25-43.811v43.38l66.821-38.579V7.985L70.77 46.564z' fill='#607D8B'/><path d='M86.986 83.182c-.23.149-.612.384-.849.523l-11.505 6.701c-.237.139-.206.252.068.252h.565c.275 0 .693-.113.93-.252L87.7 83.705c.237-.139.428-.253.425-.256a11.29 11.29 0 0 1-.006-.503c0-.274-.188-.377-.418-.227l-.715.463' fill='#607D8B'/><path d='M75.266 90.782H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.236-.138.615-.371.844-.519l.715-.464a.488.488 0 0 1 .266-.089c.172 0 .345.13.345.421 0 .214.001.363.003.437l.006.004-.004.069c-.003.075-.003.075-.486.356l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.108.866-.234l11.505-6.702c.168-.098.294-.173.361-.214-.004-.084-.004-.218-.004-.437l-.095-.171-.131.049-.714.463c-.232.15-.616.386-.854.525l-11.505 6.702-.029.018z' fill='#607D8B'/><path d='M75.266 89.871H74.7c-.2 0-.316-.056-.346-.166-.03-.11.043-.217.215-.317l11.505-6.702c.258-.151.694-.268.993-.268h.565c.2 0 .316.056.346.166.03.11-.043.217-.215.317l-11.505 6.702a2.282 2.282 0 0 1-.992.268zm-.6-.25l.034.001h.566c.252 0 .649-.107.866-.234l11.505-6.702.03-.018-.035-.001h-.565c-.252 0-.649.108-.867.234l-11.505 6.702-.029.018zM74.37 90.801v-1.247 1.247' fill='#607D8B'/><path d='M68.13 93.901c-.751-.093-1.314-.737-1.439-1.376-.831-4.238-1.151-8.782-1.165-21.352-.015-12.784.897-19.745.897-19.745.711-4.146 2.787-5.192 2.787-5.192l74.859-43.219c.223-.129 2.487-1.584 3.195.923 1.95 6.9 1.488 31.887.275 39.878-.389 2.565-1.248 5.215-3.056 6.283L69.21 93.653c-.382.221-.749.288-1.08.248 0 0-2.781-.441-3.001-2.125-.561-4.281-1.152-8.781-1.167-21.351-.014-12.784.898-19.745.898-19.745.71-4.146 2.787-5.191 2.787-5.191l6.598-3.81.871-.119 6.599-3.83.046-.461L68.13 93.901' fill='#FAFAFA'/><path d='M68.317 94.161l-.215-.013h-.001l-.244-.047c-.719-.156-2.772-.736-2.976-2.292-.568-4.34-1.154-8.813-1.168-21.384-.014-12.654.891-19.707.9-19.777.725-4.231 2.832-5.338 2.922-5.382l6.628-3.827.87-.119 6.446-3.742.034-.334a.248.248 0 0 1 .273-.223.248.248 0 0 1 .223.272l-.059.589-6.752 3.919-.87.118-6.556 3.785c-.031.016-1.99 1.068-2.666 5.018-.007.06-.908 7.086-.894 19.702.014 12.539.597 16.996 1.161 21.305.091.691.689 1.154 1.309 1.452a1.95 1.95 0 0 1-.236-.609c-.781-3.984-1.155-8.202-1.17-21.399-.014-12.653.891-19.707.9-19.777.725-4.231 2.832-5.337 2.922-5.382-.004.001 74.444-42.98 74.846-43.212l.028-.017c.904-.538 1.72-.688 2.36-.433.555.221.949.733 1.172 1.52 2.014 7.128 1.46 32.219.281 39.983-.507 3.341-1.575 5.515-3.175 6.462L69.335 93.869a2.023 2.023 0 0 1-1.018.292zm-.147-.507c.293.036.604-.037.915-.217l75.273-43.551c1.823-1.078 2.602-3.915 2.934-6.106 1.174-7.731 1.731-32.695-.268-39.772-.178-.631-.473-1.032-.876-1.192-.484-.193-1.166-.052-1.921.397l-.034.021-74.858 43.218c-.031.017-1.989 1.069-2.666 5.019-.007.059-.908 7.085-.894 19.702.015 13.155.386 17.351 1.161 21.303.09.461.476.983 1.037 1.139.114.025.185.037.196.039h.001z' fill='#455A64'/><path d='M69.317 68.982c.489-.281.885-.056.885.505 0 .56-.396 1.243-.885 1.525-.488.282-.884.057-.884-.504 0-.56.396-1.243.884-1.526' fill='#FFF'/><path d='M68.92 71.133c-.289 0-.487-.228-.487-.625 0-.56.396-1.243.884-1.526a.812.812 0 0 1 .397-.121c.289 0 .488.229.488.626 0 .56-.396 1.243-.885 1.525a.812.812 0 0 1-.397.121m.794-2.459a.976.976 0 0 0-.49.147c-.548.317-.978 1.058-.978 1.687 0 .486.271.812.674.812a.985.985 0 0 0 .491-.146c.548-.317.978-1.057.978-1.687 0-.486-.272-.813-.675-.813' fill='#8097A2'/><path d='M68.92 70.947c-.271 0-.299-.307-.299-.439 0-.491.361-1.116.79-1.363a.632.632 0 0 1 .303-.096c.272 0 .301.306.301.438 0 .491-.363 1.116-.791 1.364a.629.629 0 0 1-.304.096m.794-2.086a.812.812 0 0 0-.397.121c-.488.283-.884.966-.884 1.526 0 .397.198.625.487.625a.812.812 0 0 0 .397-.121c.489-.282.885-.965.885-1.525 0-.397-.199-.626-.488-.626' fill='#8097A2'/><path d='M69.444 85.35c.264-.152.477-.031.477.272 0 .303-.213.67-.477.822-.263.153-.477.031-.477-.271 0-.302.214-.671.477-.823' fill='#FFF'/><path d='M69.23 86.51c-.156 0-.263-.123-.263-.337 0-.302.214-.671.477-.823a.431.431 0 0 1 .214-.066c.156 0 .263.124.263.338 0 .303-.213.67-.477.822a.431.431 0 0 1-.214.066m.428-1.412c-.1 0-.203.029-.307.09-.32.185-.57.618-.57.985 0 .309.185.524.449.524a.63.63 0 0 0 .308-.09c.32-.185.57-.618.57-.985 0-.309-.185-.524-.45-.524' fill='#8097A2'/><path d='M69.23 86.322l-.076-.149c0-.235.179-.544.384-.661l.12-.041.076.151c0 .234-.179.542-.383.66l-.121.04m.428-1.038a.431.431 0 0 0-.214.066c-.263.152-.477.521-.477.823 0 .214.107.337.263.337a.431.431 0 0 0 .214-.066c.264-.152.477-.519.477-.822 0-.214-.107-.338-.263-.338' fill='#8097A2'/><path d='M139.278 7.769v43.667L72.208 90.16V46.493l67.07-38.724' fill='#455A64'/><path d='M72.083 90.375V46.421l.063-.036 67.257-38.831v43.954l-.062.036-67.258 38.831zm.25-43.811v43.38l66.821-38.579V7.985L72.333 46.564z' fill='#607D8B'/></g><path d='M125.737 88.647l-7.639 3.334V84l-11.459 4.713v8.269L99 100.315l13.369 3.646 13.368-15.314' fill='#455A64'/></g></svg>";function xe(){this.loadIcon_();var e=document.createElement("div");(o=e.style).position="fixed",o.top=0,o.right=0,o.bottom=0,o.left=0,o.backgroundColor="gray",o.fontFamily="sans-serif",o.zIndex=1e6;var t=document.createElement("img");t.src=this.icon,(o=t.style).marginLeft="25%",o.marginTop="25%",o.width="50%",e.appendChild(t);var i=document.createElement("div");(o=i.style).textAlign="center",o.fontSize="16px",o.lineHeight="24px",o.margin="24px 25%",o.width="50%",i.innerHTML="Place your phone into your Cardboard viewer.",e.appendChild(i);var n=document.createElement("div");(o=n.style).backgroundColor="#CFD8DC",o.position="fixed",o.bottom=0,o.width="100%",o.height="48px",o.padding="14px 24px",o.boxSizing="border-box",o.color="#656A6B",e.appendChild(n);var r=document.createElement("div");r.style.float="left",r.innerHTML="No Cardboard viewer?";var o,s=document.createElement("a");s.href="https://www.google.com/get/cardboard/get-cardboard/",s.innerHTML="get one",s.target="_blank",(o=s.style).float="right",o.fontWeight=600,o.textTransform="uppercase",o.borderLeft="1px solid gray",o.paddingLeft="24px",o.textDecoration="none",o.color="#656A6B",n.appendChild(r),n.appendChild(s),this.overlay=e,this.text=i,this.hide()}xe.prototype.show=function(e){e||this.overlay.parentElement?e&&(this.overlay.parentElement&&this.overlay.parentElement!=e&&this.overlay.parentElement.removeChild(this.overlay),e.appendChild(this.overlay)):document.body.appendChild(this.overlay),this.overlay.style.display="block";var t=this.overlay.querySelector("img").style;N()?(t.width="20%",t.marginLeft="40%",t.marginTop="3%"):(t.width="50%",t.marginLeft="25%",t.marginTop="25%")},xe.prototype.hide=function(){this.overlay.style.display="none"},xe.prototype.showTemporarily=function(e,t){this.show(t),this.timer=setTimeout(this.hide.bind(this),e)},xe.prototype.disableShowTemporarily=function(){clearTimeout(this.timer)},xe.prototype.update=function(){this.disableShowTemporarily(),!N()&&x()?this.show():this.hide()},xe.prototype.loadIcon_=function(){this.icon=c("image/svg+xml",Ee)};var Le="CardboardV1",Oe="WEBVR_CARDBOARD_VIEWER",be="webvr-polyfill-viewer-selector";function Se(e){try{this.selectedKey=localStorage.getItem(Oe)}catch(e){console.error("Failed to load viewer profile: %s",e)}this.selectedKey||(this.selectedKey=e||Le),this.dialog=this.createDialog_(pe.Viewers),this.root=null,this.onChangeCallbacks_=[]}function Ce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function _e(e,t){return e(t={exports:{}},t.exports),t.exports}Se.prototype.show=function(e){this.root=e,e.appendChild(this.dialog),this.dialog.querySelector("#"+this.selectedKey).checked=!0,this.dialog.style.display="block"},Se.prototype.hide=function(){this.root&&this.root.contains(this.dialog)&&this.root.removeChild(this.dialog),this.dialog.style.display="none"},Se.prototype.getCurrentViewer=function(){return pe.Viewers[this.selectedKey]},Se.prototype.getSelectedKey_=function(){var e=this.dialog.querySelector("input[name=field]:checked");return e?e.id:null},Se.prototype.onChange=function(e){this.onChangeCallbacks_.push(e)},Se.prototype.fireOnChange_=function(e){for(var t=0;t<this.onChangeCallbacks_.length;t++)this.onChangeCallbacks_[t](e)},Se.prototype.onSave_=function(){if(this.selectedKey=this.getSelectedKey_(),this.selectedKey&&pe.Viewers[this.selectedKey]){this.fireOnChange_(pe.Viewers[this.selectedKey]);try{localStorage.setItem(Oe,this.selectedKey)}catch(e){console.error("Failed to save viewer profile: %s",e)}this.hide()}else console.error("ViewerSelector.onSave_: this should never happen!")},Se.prototype.createDialog_=function(e){var t=document.createElement("div");t.classList.add(be),t.style.display="none";var i=document.createElement("div");(o=i.style).position="fixed",o.left=0,o.top=0,o.width="100%",o.height="100%",o.background="rgba(0, 0, 0, 0.3)",i.addEventListener("click",this.hide.bind(this));var n=280,r=document.createElement("div"),o=r.style;for(var s in o.boxSizing="border-box",o.position="fixed",o.top="24px",o.left="50%",o.marginLeft=-n/2+"px",o.width=n+"px",o.padding="24px",o.overflow="hidden",o.background="#fafafa",o.fontFamily="'Roboto', sans-serif",o.boxShadow="0px 5px 20px #666",r.appendChild(this.createH1_("Select your viewer")),e)r.appendChild(this.createChoice_(s,e[s].label));return r.appendChild(this.createButton_("Save",this.onSave_.bind(this))),t.appendChild(i),t.appendChild(r),t},Se.prototype.createH1_=function(e){var t=document.createElement("h1"),i=t.style;return i.color="black",i.fontSize="20px",i.fontWeight="bold",i.marginTop=0,i.marginBottom="24px",t.innerHTML=e,t},Se.prototype.createChoice_=function(e,t){var i=document.createElement("div");i.style.marginTop="8px",i.style.color="black";var n=document.createElement("input");n.style.fontSize="30px",n.setAttribute("id",e),n.setAttribute("type","radio"),n.setAttribute("value",e),n.setAttribute("name","field");var r=document.createElement("label");return r.style.marginLeft="4px",r.setAttribute("for",e),r.innerHTML=t,i.appendChild(n),i.appendChild(r),i},Se.prototype.createButton_=function(e,t){var i=document.createElement("button");i.innerHTML=e;var n=i.style;return n.float="right",n.textTransform="uppercase",n.color="#1094f7",n.fontSize="14px",n.letterSpacing=0,n.border=0,n.background="none",n.marginTop="16px",i.addEventListener("click",t),i},"undefined"!=typeof window?window:void 0!==e||"undefined"!=typeof self&&self;var ke=Ce(_e((function(e,t){!function(t,i){e.exports=i()}(0,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){var n=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=i(1),s="undefined"!=typeof navigator&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,a=function(){function e(){r(this,e),s?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("playsinline",""),this.noSleepVideo.setAttribute("src",o),this.noSleepVideo.addEventListener("timeupdate",function(e){this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())}.bind(this)))}return n(e,[{key:"enable",value:function(){s?(this.disable(),this.noSleepTimer=window.setInterval((function(){window.location.href="/",window.setTimeout(window.stop,0)}),15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){s?this.noSleepTimer&&(window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),e}();e.exports=a},function(e,t,i){e.exports="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA="}])}))}))),Ue=1e3,Qe=[0,0,.5,1],Be=[.5,0,.5,1],Pe=window.requestAnimationFrame,Ye=window.cancelAnimationFrame;function Re(){this.leftProjectionMatrix=new Float32Array(16),this.leftViewMatrix=new Float32Array(16),this.rightProjectionMatrix=new Float32Array(16),this.rightViewMatrix=new Float32Array(16),this.pose=null}function Fe(e){Object.defineProperties(this,{hasPosition:{writable:!1,enumerable:!0,value:e.hasPosition},hasExternalDisplay:{writable:!1,enumerable:!0,value:e.hasExternalDisplay},canPresent:{writable:!1,enumerable:!0,value:e.canPresent},maxLayers:{writable:!1,enumerable:!0,value:e.maxLayers},hasOrientation:{enumerable:!0,get:function(){return U("VRDisplayCapabilities.prototype.hasOrientation","VRDisplay.prototype.getFrameData"),e.hasOrientation}}})}function Ve(e){var t=!("wakelock"in(e=e||{}))||e.wakelock;this.isPolyfilled=!0,this.displayId=Ue++,this.displayName="",this.depthNear=.01,this.depthFar=1e4,this.isPresenting=!1,Object.defineProperty(this,"isConnected",{get:function(){return U("VRDisplay.prototype.isConnected","VRDisplayCapabilities.prototype.hasExternalDisplay"),!1}}),this.capabilities=new Fe({hasPosition:!1,hasOrientation:!1,hasExternalDisplay:!1,canPresent:!1,maxLayers:1}),this.stageParameters=null,this.waitingForPresent_=!1,this.layer_=null,this.originalParent_=null,this.fullscreenElement_=null,this.fullscreenWrapper_=null,this.fullscreenElementCachedStyle_=null,this.fullscreenEventTarget_=null,this.fullscreenChangeHandler_=null,this.fullscreenErrorHandler_=null,t&&x()&&(this.wakelock_=new ke)}Ve.prototype.getFrameData=function(e){return b(e,this._getPose(),this)},Ve.prototype.getPose=function(){return U("VRDisplay.prototype.getPose","VRDisplay.prototype.getFrameData"),this._getPose()},Ve.prototype.resetPose=function(){return U("VRDisplay.prototype.resetPose"),this._resetPose()},Ve.prototype.getImmediatePose=function(){return U("VRDisplay.prototype.getImmediatePose","VRDisplay.prototype.getFrameData"),this._getPose()},Ve.prototype.requestAnimationFrame=function(e){return Pe(e)},Ve.prototype.cancelAnimationFrame=function(e){return Ye(e)},Ve.prototype.wrapForFullscreen=function(e){if(d())return e;if(!this.fullscreenWrapper_){this.fullscreenWrapper_=document.createElement("div");var t=["height: "+Math.min(screen.height,screen.width)+"px !important","top: 0 !important","left: 0 !important","right: 0 !important","border: 0","margin: 0","padding: 0","z-index: 999999 !important","position: fixed"];this.fullscreenWrapper_.setAttribute("style",t.join("; ")+";"),this.fullscreenWrapper_.classList.add("webvr-polyfill-fullscreen-wrapper")}if(this.fullscreenElement_==e)return this.fullscreenWrapper_;if(this.fullscreenElement_&&(this.originalParent_?this.originalParent_.appendChild(this.fullscreenElement_):this.fullscreenElement_.parentElement.removeChild(this.fullscreenElement_)),this.fullscreenElement_=e,this.originalParent_=e.parentElement,this.originalParent_||document.body.appendChild(e),!this.fullscreenWrapper_.parentElement){var i=this.fullscreenElement_.parentElement;i.insertBefore(this.fullscreenWrapper_,this.fullscreenElement_),i.removeChild(this.fullscreenElement_)}this.fullscreenWrapper_.insertBefore(this.fullscreenElement_,this.fullscreenWrapper_.firstChild),this.fullscreenElementCachedStyle_=this.fullscreenElement_.getAttribute("style");var n=this;function r(){if(n.fullscreenElement_){var e=["position: absolute","top: 0","left: 0","width: "+Math.max(screen.width,screen.height)+"px","height: "+Math.min(screen.height,screen.width)+"px","border: 0","margin: 0","padding: 0"];n.fullscreenElement_.setAttribute("style",e.join("; ")+";")}}return r(),this.fullscreenWrapper_},Ve.prototype.removeFullscreenWrapper=function(){if(this.fullscreenElement_){var e=this.fullscreenElement_;this.fullscreenElementCachedStyle_?e.setAttribute("style",this.fullscreenElementCachedStyle_):e.removeAttribute("style"),this.fullscreenElement_=null,this.fullscreenElementCachedStyle_=null;var t=this.fullscreenWrapper_.parentElement;return this.fullscreenWrapper_.removeChild(e),this.originalParent_===t?t.insertBefore(e,this.fullscreenWrapper_):this.originalParent_&&this.originalParent_.appendChild(e),t.removeChild(this.fullscreenWrapper_),e}},Ve.prototype.requestPresent=function(e){var t=this.isPresenting,i=this;return e instanceof Array||(U("VRDisplay.prototype.requestPresent with non-array argument","an array of VRLayers as the first argument"),e=[e]),new Promise((function(n,r){if(i.capabilities.canPresent)if(0==e.length||e.length>i.capabilities.maxLayers)r(new Error("Invalid number of layers."));else{var o=e[0];if(o.source){var s=o.leftBounds||Qe,a=o.rightBounds||Be;if(t){var u=i.layer_;u.source!==o.source&&(u.source=o.source);for(var c=0;c<4;c++)u.leftBounds[c]=s[c],u.rightBounds[c]=a[c];return i.wrapForFullscreen(i.layer_.source),i.updatePresent_(),void n()}if(i.layer_={predistorted:o.predistorted,source:o.source,leftBounds:s.slice(0),rightBounds:a.slice(0)},i.waitingForPresent_=!1,i.layer_&&i.layer_.source){var l=i.wrapForFullscreen(i.layer_.source),M=function(){var e=z();i.isPresenting=l===e,i.isPresenting?(screen.orientation&&screen.orientation.lock&&screen.orientation.lock("landscape-primary").catch((function(e){console.error("screen.orientation.lock() failed due to",e.message)})),i.waitingForPresent_=!1,i.beginPresent_(),n()):(screen.orientation&&screen.orientation.unlock&&screen.orientation.unlock(),i.removeFullscreenWrapper(),i.disableWakeLock(),i.endPresent_(),i.removeFullscreenListeners_()),i.fireVRDisplayPresentChange_()},p=function(){i.waitingForPresent_&&(i.removeFullscreenWrapper(),i.removeFullscreenListeners_(),i.disableWakeLock(),i.waitingForPresent_=!1,i.isPresenting=!1,r(new Error("Unable to present.")))};i.addFullscreenListeners_(l,M,p),T(l)?(i.enableWakeLock(),i.waitingForPresent_=!0):(d()||h())&&(i.enableWakeLock(),i.isPresenting=!0,i.beginPresent_(),i.fireVRDisplayPresentChange_(),n())}i.waitingForPresent_||d()||(w(),r(new Error("Unable to present.")))}else n()}else r(new Error("VRDisplay is not capable of presenting."))}))},Ve.prototype.exitPresent=function(){var e=this.isPresenting,t=this;return this.isPresenting=!1,this.layer_=null,this.disableWakeLock(),new Promise((function(i,n){e?(!w()&&d()&&(t.endPresent_(),t.fireVRDisplayPresentChange_()),h()&&(t.removeFullscreenWrapper(),t.removeFullscreenListeners_(),t.endPresent_(),t.fireVRDisplayPresentChange_()),i()):n(new Error("Was not presenting to VRDisplay."))}))},Ve.prototype.getLayers=function(){return this.layer_?[this.layer_]:[]},Ve.prototype.fireVRDisplayPresentChange_=function(){var e=new CustomEvent("vrdisplaypresentchange",{detail:{display:this}});window.dispatchEvent(e)},Ve.prototype.fireVRDisplayConnect_=function(){var e=new CustomEvent("vrdisplayconnect",{detail:{display:this}});window.dispatchEvent(e)},Ve.prototype.addFullscreenListeners_=function(e,t,i){this.removeFullscreenListeners_(),this.fullscreenEventTarget_=e,this.fullscreenChangeHandler_=t,this.fullscreenErrorHandler_=i,t&&(document.fullscreenEnabled?e.addEventListener("fullscreenchange",t,!1):document.webkitFullscreenEnabled?e.addEventListener("webkitfullscreenchange",t,!1):document.mozFullScreenEnabled?document.addEventListener("mozfullscreenchange",t,!1):document.msFullscreenEnabled&&e.addEventListener("msfullscreenchange",t,!1)),i&&(document.fullscreenEnabled?e.addEventListener("fullscreenerror",i,!1):document.webkitFullscreenEnabled?e.addEventListener("webkitfullscreenerror",i,!1):document.mozFullScreenEnabled?document.addEventListener("mozfullscreenerror",i,!1):document.msFullscreenEnabled&&e.addEventListener("msfullscreenerror",i,!1))},Ve.prototype.removeFullscreenListeners_=function(){if(this.fullscreenEventTarget_){var e=this.fullscreenEventTarget_;if(this.fullscreenChangeHandler_){var t=this.fullscreenChangeHandler_;e.removeEventListener("fullscreenchange",t,!1),e.removeEventListener("webkitfullscreenchange",t,!1),document.removeEventListener("mozfullscreenchange",t,!1),e.removeEventListener("msfullscreenchange",t,!1)}if(this.fullscreenErrorHandler_){var i=this.fullscreenErrorHandler_;e.removeEventListener("fullscreenerror",i,!1),e.removeEventListener("webkitfullscreenerror",i,!1),document.removeEventListener("mozfullscreenerror",i,!1),e.removeEventListener("msfullscreenerror",i,!1)}this.fullscreenEventTarget_=null,this.fullscreenChangeHandler_=null,this.fullscreenErrorHandler_=null}},Ve.prototype.enableWakeLock=function(){this.wakelock_&&this.wakelock_.enable()},Ve.prototype.disableWakeLock=function(){this.wakelock_&&this.wakelock_.disable()},Ve.prototype.beginPresent_=function(){},Ve.prototype.endPresent_=function(){},Ve.prototype.submitFrame=function(e){},Ve.prototype.getEyeParameters=function(e){return null};var Ge={ADDITIONAL_VIEWERS:[],DEFAULT_VIEWER:"",MOBILE_WAKE_LOCK:!0,DEBUG:!1,DPDB_URL:"https://dpdb.webvr.rocks/dpdb.json",K_FILTER:.98,PREDICTION_TIME_S:.04,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!1,YAW_ONLY:!1,BUFFER_SCALE:.5,DIRTY_SUBMIT_FRAME_BINDINGS:!1},He={LEFT:"left",RIGHT:"right"};function We(e){var t=L({},Ge);e=L(t,e||{}),Ve.call(this,{wakelock:e.MOBILE_WAKE_LOCK}),this.config=e,this.displayName="Cardboard VRDisplay",this.capabilities=new Fe({hasPosition:!1,hasOrientation:!0,hasExternalDisplay:!1,canPresent:!0,maxLayers:1}),this.stageParameters=null,this.bufferScale_=this.config.BUFFER_SCALE,this.poseSensor_=new Ie(this.config),this.distorter_=null,this.cardboardUI_=null,this.dpdb_=new ye(this.config.DPDB_URL,this.onDeviceParamsUpdated_.bind(this)),this.deviceInfo_=new pe(this.dpdb_.getDeviceParams(),e.ADDITIONAL_VIEWERS),this.viewerSelector_=new Se(e.DEFAULT_VIEWER),this.viewerSelector_.onChange(this.onViewerChanged_.bind(this)),this.deviceInfo_.setViewer(this.viewerSelector_.getCurrentViewer()),this.config.ROTATE_INSTRUCTIONS_DISABLED||(this.rotateInstructions_=new xe),d()&&window.addEventListener("resize",this.onResize_.bind(this))}return We.prototype=Object.create(Ve.prototype),We.prototype._getPose=function(){return{position:null,orientation:this.poseSensor_.getOrientation(),linearVelocity:null,linearAcceleration:null,angularVelocity:null,angularAcceleration:null}},We.prototype._resetPose=function(){this.poseSensor_.resetPose&&this.poseSensor_.resetPose()},We.prototype._getFieldOfView=function(e){var t;if(e==He.LEFT)t=this.deviceInfo_.getFieldOfViewLeftEye();else{if(e!=He.RIGHT)return console.error("Invalid eye provided: %s",e),null;t=this.deviceInfo_.getFieldOfViewRightEye()}return t},We.prototype._getEyeOffset=function(e){var t;if(e==He.LEFT)t=[.5*-this.deviceInfo_.viewer.interLensDistance,0,0];else{if(e!=He.RIGHT)return console.error("Invalid eye provided: %s",e),null;t=[.5*this.deviceInfo_.viewer.interLensDistance,0,0]}return t},We.prototype.getEyeParameters=function(e){var t=this._getEyeOffset(e),i=this._getFieldOfView(e),n={offset:t,renderWidth:.5*this.deviceInfo_.device.width*this.bufferScale_,renderHeight:this.deviceInfo_.device.height*this.bufferScale_};return Object.defineProperty(n,"fieldOfView",{enumerable:!0,get:function(){return U("VRFieldOfView","VRFrameData's projection matrices"),i}}),n},We.prototype.onDeviceParamsUpdated_=function(e){this.config.DEBUG&&console.log("DPDB reported that device params were updated."),this.deviceInfo_.updateDeviceParams(e),this.distorter_&&this.distorter_.updateDeviceInfo(this.deviceInfo_)},We.prototype.updateBounds_=function(){this.layer_&&this.distorter_&&(this.layer_.leftBounds||this.layer_.rightBounds)&&this.distorter_.setTextureBounds(this.layer_.leftBounds,this.layer_.rightBounds)},We.prototype.beginPresent_=function(){var e=this.layer_.source.getContext("webgl");e||(e=this.layer_.source.getContext("experimental-webgl")),e||(e=this.layer_.source.getContext("webgl2")),e&&(this.layer_.predistorted?this.config.CARDBOARD_UI_DISABLED||(e.canvas.width=v()*this.bufferScale_,e.canvas.height=D()*this.bufferScale_,this.cardboardUI_=new te(e)):(this.config.CARDBOARD_UI_DISABLED||(this.cardboardUI_=new te(e)),this.distorter_=new R(e,this.cardboardUI_,this.config.BUFFER_SCALE,this.config.DIRTY_SUBMIT_FRAME_BINDINGS),this.distorter_.updateDeviceInfo(this.deviceInfo_)),this.cardboardUI_&&this.cardboardUI_.listen(function(e){this.viewerSelector_.show(this.layer_.source.parentElement),e.stopPropagation(),e.preventDefault()}.bind(this),function(e){this.exitPresent(),e.stopPropagation(),e.preventDefault()}.bind(this)),this.rotateInstructions_&&(N()&&x()?this.rotateInstructions_.showTemporarily(3e3,this.layer_.source.parentElement):this.rotateInstructions_.update()),this.orientationHandler=this.onOrientationChange_.bind(this),window.addEventListener("orientationchange",this.orientationHandler),this.vrdisplaypresentchangeHandler=this.updateBounds_.bind(this),window.addEventListener("vrdisplaypresentchange",this.vrdisplaypresentchangeHandler),this.fireVRDisplayDeviceParamsChange_())},We.prototype.endPresent_=function(){this.distorter_&&(this.distorter_.destroy(),this.distorter_=null),this.cardboardUI_&&(this.cardboardUI_.destroy(),this.cardboardUI_=null),this.rotateInstructions_&&this.rotateInstructions_.hide(),this.viewerSelector_.hide(),window.removeEventListener("orientationchange",this.orientationHandler),window.removeEventListener("vrdisplaypresentchange",this.vrdisplaypresentchangeHandler)},We.prototype.updatePresent_=function(){this.endPresent_(),this.beginPresent_()},We.prototype.submitFrame=function(e){if(this.distorter_)this.updateBounds_(),this.distorter_.submitFrame();else if(this.cardboardUI_&&this.layer_){var t=this.layer_.source.getContext("webgl");t||(t=this.layer_.source.getContext("experimental-webgl")),t||(t=this.layer_.source.getContext("webgl2"));var i=t.canvas;i.width==this.lastWidth&&i.height==this.lastHeight||this.cardboardUI_.onResize(),this.lastWidth=i.width,this.lastHeight=i.height,this.cardboardUI_.render()}},We.prototype.onOrientationChange_=function(e){this.viewerSelector_.hide(),this.rotateInstructions_&&this.rotateInstructions_.update(),this.onResize_()},We.prototype.onResize_=function(e){if(this.layer_){var t=this.layer_.source.getContext("webgl");t||(t=this.layer_.source.getContext("experimental-webgl")),t||(t=this.layer_.source.getContext("webgl2"));var i=["position: absolute","top: 0","left: 0","width: 100vw","height: 100vh","border: 0","margin: 0","padding: 0px","box-sizing: content-box"];t.canvas.setAttribute("style",i.join("; ")+";"),O(t.canvas)}},We.prototype.onViewerChanged_=function(e){this.deviceInfo_.setViewer(e),this.distorter_&&this.distorter_.updateDeviceInfo(this.deviceInfo_),this.fireVRDisplayDeviceParamsChange_()},We.prototype.fireVRDisplayDeviceParamsChange_=function(){var e=new CustomEvent("vrdisplaydeviceparamschange",{detail:{vrdisplay:this,deviceInfo:this.deviceInfo_}});window.dispatchEvent(e)},We.VRFrameData=Re,We.VRDisplay=Ve,We}()})))&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,a={ADDITIONAL_VIEWERS:[],DEFAULT_VIEWER:"",PROVIDE_MOBILE_VRDISPLAY:!0,MOBILE_WAKE_LOCK:!0,DEBUG:!1,DPDB_URL:"https://dpdb.webvr.rocks/dpdb.json",K_FILTER:.98,PREDICTION_TIME_S:.04,CARDBOARD_UI_DISABLED:!1,ROTATE_INSTRUCTIONS_DISABLED:!1,YAW_ONLY:!1,BUFFER_SCALE:.5,DIRTY_SUBMIT_FRAME_BINDINGS:!1};function u(e){this.config=o(o({},a),e),this.polyfillDisplays=[],this.enabled=!1,this.hasNative="getVRDisplays"in navigator,this.native={},this.native.getVRDisplays=navigator.getVRDisplays,this.native.VRFrameData=window.VRFrameData,this.native.VRDisplay=window.VRDisplay,(!this.hasNative||this.config.PROVIDE_MOBILE_VRDISPLAY&&n())&&(this.enable(),this.getVRDisplays().then((function(e){e&&e[0]&&e[0].fireVRDisplayConnect_&&e[0].fireVRDisplayConnect_()})))}u.prototype.getPolyfillDisplays=function(){if(this._polyfillDisplaysPopulated)return this.polyfillDisplays;if(n()){var e=new s({ADDITIONAL_VIEWERS:this.config.ADDITIONAL_VIEWERS,DEFAULT_VIEWER:this.config.DEFAULT_VIEWER,MOBILE_WAKE_LOCK:this.config.MOBILE_WAKE_LOCK,DEBUG:this.config.DEBUG,DPDB_URL:this.config.DPDB_URL,CARDBOARD_UI_DISABLED:this.config.CARDBOARD_UI_DISABLED,K_FILTER:this.config.K_FILTER,PREDICTION_TIME_S:this.config.PREDICTION_TIME_S,ROTATE_INSTRUCTIONS_DISABLED:this.config.ROTATE_INSTRUCTIONS_DISABLED,YAW_ONLY:this.config.YAW_ONLY,BUFFER_SCALE:this.config.BUFFER_SCALE,DIRTY_SUBMIT_FRAME_BINDINGS:this.config.DIRTY_SUBMIT_FRAME_BINDINGS});this.polyfillDisplays.push(e)}return this._polyfillDisplaysPopulated=!0,this.polyfillDisplays},u.prototype.enable=function(){if(this.enabled=!0,this.hasNative&&this.native.VRFrameData){var e=this.native.VRFrameData,t=new this.native.VRFrameData,i=this.native.VRDisplay.prototype.getFrameData;window.VRDisplay.prototype.getFrameData=function(n){n instanceof e?i.call(this,n):(i.call(this,t),n.pose=t.pose,r(t.leftProjectionMatrix,n.leftProjectionMatrix),r(t.rightProjectionMatrix,n.rightProjectionMatrix),r(t.leftViewMatrix,n.leftViewMatrix),r(t.rightViewMatrix,n.rightViewMatrix))}}navigator.getVRDisplays=this.getVRDisplays.bind(this),window.VRDisplay=s.VRDisplay,window.VRFrameData=s.VRFrameData},u.prototype.getVRDisplays=function(){var e=this;return this.config,this.hasNative?this.native.getVRDisplays.call(navigator).then((function(t){return t.length>0?t:e.getPolyfillDisplays()})):Promise.resolve(this.getPolyfillDisplays())},u.version="0.10.12",u.VRFrameData=s.VRFrameData,u.VRDisplay=s.VRDisplay;var c=Object.freeze({default:u}),l=c&&u||c;return void 0!==e&&e.window&&(e.document||(e.document=e.window.document),e.navigator||(e.navigator=e.window.navigator)),l}()}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var i=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(i.exports,i,i.exports,__webpack_require__),i.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.d(__webpack_exports__,{Five:()=>Zi});var e=__webpack_require__(168),t=Number(e.REVISION);if(t<115||t>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)};function n(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return(r=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function o(e,t,i){if(i||2===arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||t)}Object.create,Object.create;var s=2*Math.PI;function a(e){return(e%s+s)%s}var u=function(t){function i(i){var n=t.call(this,i,1,.1,1e3)||this;return n.pose={longitude:0,latitude:0,fov:i,offset:new e.Vector3},n.computePose(),n}return n(i,t),i.prototype.computePose=function(){var t=this.getWorldDirection(new e.Vector3);this.pose.longitude=a(-Math.atan2(t.x,-t.z)),this.pose.latitude=-Math.asin(t.y/1),this.pose.fov=this.fov,this.pose.offset.copy(this.position)},i.prototype.setFromPose=function(t){var i,n,r,o,s=a(null!==(i=t.longitude)&&void 0!==i?i:this.pose.longitude),u=Math.max(-Math.PI/2+.01,Math.min(Math.PI/2-.01,null!==(n=t.latitude)&&void 0!==n?n:this.pose.latitude)),c=null!==(r=t.fov)&&void 0!==r?r:this.pose.fov,l=null!==(o=t.offset)&&void 0!==o?o:this.pose.offset;this.position.copy(l);var d=Math.abs(Math.cos(u)),h=new e.Vector3(-Math.sin(s)*d,-Math.sin(u),-Math.cos(s)*d);this.lookAt(l.clone().add(h)),this.fov!==c&&(this.fov=c,this.updateProjectionMatrix()),this.updateMatrixWorld(),this.pose.longitude=s,this.pose.latitude=u,this.pose.fov=c,this.pose.offset.copy(l)},i.prototype.copyPose=function(){return{longitude:this.pose.longitude,latitude:this.pose.latitude,fov:this.pose.fov,offset:this.pose.offset.clone()}},i}(e.PerspectiveCamera),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t}(e.Scene),l=function(e){function t(t){var i=t.preserveDrawingBuffer,n=void 0===i||i,r=t.backgroundColor,o=void 0===r?1579548:r,s=t.backgroundAlpha,a=void 0===s?1:s,u=t.pixelRatio,c=void 0===u?1:u,l=t.antialias,d=void 0!==l&&l,h=e.call(this,{antialias:d,preserveDrawingBuffer:n,alpha:a<1})||this;return h.setPixelRatio(c),h.setClearColor(o,a),h.autoClear=!0,h}return n(t,e),t}(e.WebGLRenderer);function d(e){return null==e}function h(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]}function M(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function p(){return(M()+M()+"-"+M()+"-4"+M().substr(0,3)+"-"+M()+"-"+M()+M()+M()).toLowerCase()}var f="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),A="undefined"!=typeof performance?function(){return f+performance.now()}:function(){return Date.now()},y=window,g=y.requestAnimationFrame||y.mozRequestAnimationFrame||y.webkitRequestAnimationFrame||y.msRequestAnimationFrame||function(e){return setTimeout(e,16)};function N(e,t){void 0===e&&(e=h),void 0===t&&(t=0),g(t<=0?e:function(){return N(e,t-1)})}function m(e,t){void 0===e&&(e=h);for(var i=[],n=2;n<arguments.length;n++)i[n-2]=arguments[n];var r=!1,s=function(n){e.call.apply(e,o([t,n],i)),r||"function"!=typeof s||g(s)};return g(s),function(){s=null,r=!0}}var v=0;function D(e){v&&e(v);var t=A();g((function(){e(v=A()-t)}))}D(h);var T=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.floorIndex=0,t.needsRender=!0,t}return n(t,e),t}(e.Mesh),w=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.floorIndex=0,t.needsRender=!0,t}return n(t,e),t.prototype.getTransparent=function(){var e;return this.traverse((function(t){void 0===e&&t instanceof T&&t.material.forEach((function(t){void 0===e&&1===t.uniforms.originOpacity.value&&(e=t.transparent)}))})),null!=e&&e},t.prototype.setTransparent=function(e){this.traverse((function(t){t instanceof T&&t.material.forEach((function(t){1===t.uniforms.originOpacity.value&&(t.transparent=e)}))}))},t.prototype.getMaterial=function(){var e=null;return this.traverse((function(t){if(null===e&&t instanceof T){var i=t.material[0];e={pano0Map:i.pano0Map,pano0Matrix:i.pano0Matrix,pano1Map:i.pano1Map,pano1Matrix:i.pano1Matrix,modelAlpha:i.modelAlpha,progress:i.progress,useBlackTransition:i.useBlackTransition,perspToOrtho:i.perspToOrtho,opacity:i.opacity,pano0DepthMap:i.pano0DepthMap,panoVideoMap:i.panoVideoMap,panoVideoSize:i.panoVideoSize,panoVideoMatrix:i.panoVideoMatrix,panoVideoAlpha:i.panoVideoAlpha,panoTileMap:i.panoTileMap,panoTileMappings:i.panoTileMappings}}})),e},t.prototype.setMaterial=function(e){this.traverse((function(t){t instanceof T&&t.material.forEach((function(t){void 0!==e.pano0Map&&(t.pano0Map=e.pano0Map),void 0!==e.pano0Matrix&&(t.pano0Matrix=e.pano0Matrix),void 0!==e.pano1Map&&(t.pano1Map=e.pano1Map),void 0!==e.pano1Matrix&&(t.pano1Matrix=e.pano1Matrix),void 0!==e.modelAlpha&&(t.modelAlpha=e.modelAlpha),void 0!==e.progress&&(t.progress=e.progress),void 0!==e.useBlackTransition&&(t.useBlackTransition=e.useBlackTransition),void 0!==e.perspToOrtho&&(t.perspToOrtho=e.perspToOrtho),void 0!==e.opacity&&(t.opacity=e.opacity),void 0!==e.pano0DepthMap&&(t.pano0DepthMap=e.pano0DepthMap),void 0!==e.panoVideoMap&&(t.panoVideoMap=e.panoVideoMap),void 0!==e.panoVideoSize&&(t.panoVideoSize=e.panoVideoSize),void 0!==e.panoVideoMatrix&&(t.panoVideoMatrix=e.panoVideoMatrix),void 0!==e.panoVideoAlpha&&(t.panoVideoAlpha=e.panoVideoAlpha),void 0!==e.panoTileMap&&(t.panoTileMap=e.panoTileMap),void 0!==e.panoTileMappings&&(t.panoTileMappings=e.panoTileMappings)}))}))},t.prototype.disposeMaterial=function(){this.traverse((function(e){if(e instanceof T){var t=[];e.material.forEach((function(e){var i=e.uniforms;Object.keys(i).map((function(e){if(["pano0Map","pano1Map","pano0DepthMap","panoVideoMap","panoTileMap"].indexOf(e)>=0)i[e].value=null;else{var n=i[e].value;n&&"function"==typeof n.dispose&&-1===t.indexOf(n)&&(i[e].value=null,t.push(n))}})),e.dispose()})),t.forEach((function(e){return e.dispose()}))}}))},t.prototype.disposeGeometry=function(){this.traverse((function(e){e instanceof T&&e.geometry.dispose()}))},t}(e.Group);const z=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>n?e:String.fromCharCode((e.charCodeAt(r)+i)%n)})).join(o)}("n\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{H{vs|z-znA-}n{|=ZnvH{vs|z-znA-}n{|>ZnvH{vs|z-rp@-z|qryPr{rH{vs|z-sy|n-}r}a|\\u|Hn\bv{t-rp@-}n{|=a|crrHn\bv{t-rp@-}n{|>a|crrH0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq-5b`Rl]N[\\=lQR]aUlZN]6--n\bv{t-rp@-pnzrna|crrH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--cvr]|vv|{-J-:-z]|vv|{;\b\tH--rp@-|yq]|vv|{-J-5z|qryZnv-7-n{s|zrq6;\b\tH--0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq-5b`Rl]N[\\=lQR]aUlZN]6----pnzrna|crr-J-|yq]|vv|{-:-pnzrn]|vv|{H--0r{qvs--}n{|=a|crr-J-5|yq]|vv|{-:-}n{|=Znvh@j;\b\t6-7-zn@5}n{|=Znv6H--}n{|>a|crr-J-5|yq]|vv|{-:-}n{|>Znvh@j;\b\t6-7-zn@5}n{|>Znv6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--rp@-pnzrn[|zny-J-5z|qrycvrZnv-7-rpA5=;=9-=;=9->;=9-=;=66;\b\tH--sy|n-|u|Qvn{pr-J-zn5=;=>9-q|5pnzrn[|zny9-z|qryPr{r-:-pnzrn]|vv|{66H--tyl]|vv|{;-J-zv5-tyl]|vv|{;9-tyl]|vv|{;-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H--tyl]|vv|{;\b-J-zv5-tyl]|vv|{;\b9-tyl]|vv|{;\b-7-5-tyl]|vv|{;\t-<-|u|Qvn{pr-69-}r}a|\\u|-6H\f"),j=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>n?e:String.fromCharCode((e.charCodeAt(r)+i)%n)})).join(o)}("{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-|vtv{\\}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-nz}yrPor-}n{|=Zn}H{vs|z-nz}yrPor-}n{|>Zn}H{vs|z-nz}yrPor-}n{|=Qr}uZn}H{vs|z-rp?-}n{|cvqr|`v\trH{vs|z-znA-}n{|cvqr|ZnvH{vs|z-sy|n-}n{|cvqr|Ny}unH{vs|z-nz}yr?Q-}n{|cvqr|Zn}H0vs-qrsv{rq5b`RlaVYR6--{vs|z-nz}yr?Q-}n{|avyrZn}H--{vs|z-rpA-}n{|avyrPyv}Zn}}v{thaVYRlZN]]V[TlYR[TaUjH--{vs|z-rpA-}n{|avyrQnNZn}}v{thaVYRlZN]]V[TlYR[TaUjH0r{qvs0vs-.qrsv{rq5b`RlOYNPXla_N[`VaV\\[6-33-qrsv{rq5b`Rl]N[\\=lQR]aUlZN]6--n\bv{t-rp@-pnzrna|crrH0r{qvsn\bv{t-rp@-}n{|=a|crrHn\bv{t-rp@-}n{|>a|crrH0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=9-=;=9-=;=9->;=60qrsv{r-]Vl?-C;?E@>EB?rp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-]Vl?9-urn-<-]V6H\f|vq-znv{56-\n--rpA-qvssrP|y|-J-rpA5qvssr9-|vtv{\\}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=Zn}9-}n{|=a|crr6H--0vs-qrsv{rq5b`RlaVYR6----rp?-vyrlp||q-J-|P||q5}n{|=a|crr6H----rpA-vyrlpyv}H----rpA-vyrlqnNH----rp?-vyrlH----sy|n-vyrlny}unH----0}ntzn-{|yyly||}lnH----s|-5v{-v-J-=H-v-I-aVYRlZN]]V[TlYR[TaUH-v886-\n------vyrlpyv}-J-}n{|avyrPyv}Zn}}v{thvjH------vyrlqnN-J-}n{|avyrQnNZn}}v{thvjH------vyrl;-J-5vyrlp||q;-:-vyrlpyv}h=j6-<-vyrlpyv}h?jH------vyrl;\b-J-5vyrlp||q;\b-:-vyrlpyv}h>j6-<-vyrlpyv}h@jH------vyrlny}un-J-5>;=-:-r}5=;B9-no5vyrl;-:-=;B666-7-5>;=-:-r}5=;B9-no5vyrl;\b-:-=;B666H------vyrl;-J-vyrlqnNh=j-8-vyrl;-7-vyrlqnNh?jH------vyrl;\b-J-vyrlqnNh>j-8-vyrl;\b-7-vyrlqnNh@jH------vyrlny}un-J-prvy5vyrlny}un-7-vyrlqnNh?j6H------}n{|=P|y|-J-zv5}n{|=P|y|9-rr?Q5}n{|avyrZn}9-vyrl69-vyrlny}un6H----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--rpA-}n{|>P|y|-J-rrPor5}n{|>Zn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-zn5=;=9-oynpx]|tr-:-?;=66H--0ryr----0vs-qrsv{rq5b`Rl]N[\\=lQR]aUlZN]6------rpA-}n{|=Qr}uP|y|-J-rrPor5}n{|=Qr}uZn}9-pnzrna|crr6H------sy|n-qrynQvn{pr=-J-no5{}npx_TONa|Qr}u5}n{|=Qr}uP|y|6-7->=;=-:-yr{tu5}n{|=a|crr66H------sy|n-ynry-J-pynz}5}|tr-7-5>;=-8-qrynQvn{pr=-7-=;FB69-=;=9->;=6H----0ryr------sy|n-ynry-J-}|trH----0r{qvs----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-ynry6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\lZN]6----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|ZnvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|`v\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|`v\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|Zn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|Ny}un6H--0r{qvs--tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b6H\f");var I=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.hash=p(),t}return n(t,e),t}(e.CubeTexture);function E(){return document.createElementNS("http://www.w3.org/1999/xhtml","img")}var x=E();x.width=x.height=8;var L=new e.Texture(x),O=new I([x,x,x,x,x,x]);L.dispose=O.dispose=function(){};var b=function(e){return{value:e}},S=Object.assign({modelAlpha:b(0),originOpacity:b(1),progress:b(0),pano0Map:b(null),pano0Matrix:b(new e.Matrix4),pano1Map:b(null),pano1Matrix:b(new e.Matrix4),pano0DepthMap:b(null),panoVideoMap:b(null),panoVideoSize:b(new e.Vector2),panoVideoMatrix:b(new e.Matrix4),panoVideoAlpha:b(0),modelCenter:b(new e.Vector3),perspToOrtho:b(0),panoTileMap:b(null),panoTileClipMappings:b([]),panoTileDrawAtMappings:b([])},{emissive:b(new e.Color(0)),emissiveMap:b(null),specular:b(new e.Color(1118481)),specularMap:b(null),normalMap:b(null),bumpMap:b(null),shininess:b(30)},e.UniformsLib.common,e.UniformsLib.lights),C=function(t){function i(i){var n,r,o,s,a,u,c,l,d,h,M,p,f,A,y,g;void 0===i&&(i={});var N=t.call(this,{vertexShader:z,fragmentShader:j,uniforms:e.UniformsUtils.clone(S),defines:{USE_MAP:!0,USE_UV:!0,USE_TILE:!1,TILE_MAPPING_LENGTH:0,USE_BLACK_TRANSITION:!1,USE_PANO0_DEPTH_MAP:!1,USE_PANO_VIDEO_MAP:!1},lights:!0})||this;return Object.defineProperties(N,{pano0Map:{get:function(){var e=this.uniforms.pano0Map.value;return e===O?null:e},set:function(e){this.uniforms.pano0Map.value=null===e?O:e}},pano0Matrix:{get:function(){return this.uniforms.pano0Matrix.value.clone()},set:function(e){this.uniforms.pano0Matrix.value.copy(e)}},pano1Map:{get:function(){var e=this.uniforms.pano1Map.value;return e===O?null:e},set:function(e){this.uniforms.pano1Map.value=null===e?O:e}},pano1Matrix:{get:function(){return this.uniforms.pano1Matrix.value.clone()},set:function(e){this.uniforms.pano1Matrix.value.copy(e)}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(e){this.uniforms.modelAlpha.value=e}},progress:{get:function(){return this.uniforms.progress.value},set:function(e){this.uniforms.progress.value=e}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(e){this.defines.USE_BLACK_TRANSITION!==e&&(this.defines.USE_BLACK_TRANSITION=e,this.needsUpdate=!0)}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},perspToOrtho:{get:function(){return this.uniforms.perspToOrtho.value},set:function(e){this.uniforms.perspToOrtho.value=e}},pano0DepthMap:{get:function(){return this.uniforms.pano0DepthMap.value},set:function(e){this.uniforms.pano0DepthMap.value=e;var t=null!==e;t!==this.defines.USE_PANO0_DEPTH_MAP&&(this.defines.USE_PANO0_DEPTH_MAP=t,this.needsUpdate=!0)}},panoVideoMap:{get:function(){return this.uniforms.panoVideoMap.value},set:function(e){this.uniforms.panoVideoMap.value=e;var t=null!==e;t!==this.defines.USE_PANO_VIDEO_MAP&&(this.defines.USE_PANO_VIDEO_MAP=t,this.needsUpdate=!0)}},panoVideoSize:{get:function(){return this.uniforms.panoVideoSize.value.clone()},set:function(e){this.uniforms.panoVideoSize.value.copy(e)}},panoVideoMatrix:{get:function(){return this.uniforms.panoVideoMatrix.value.clone()},set:function(e){this.uniforms.panoVideoMatrix.value.copy(e)}},panoVideoAlpha:{get:function(){return this.uniforms.panoVideoAlpha.value},set:function(e){this.uniforms.panoVideoAlpha.value=e}},panoTileMap:{get:function(){return this.uniforms.panoTileMap.value},set:function(e){this.uniforms.panoTileMap.value=e;var t=null!==e;t!==this.defines.USE_TILE&&(this.defines.USE_TILE=t,this.needsUpdate=!0)}},panoTileMappings:{get:function(){var e=this.uniforms.panoTileClipMappings.value,t=this.uniforms.panoTileDrawAtMappings.value;if(null===e)return null;for(var i=[],n=0;n<e.length;n++)i[n]=[e[n].clone(),t[n].clone()];return i},set:function(e){var t=this.defines.TILE_MAPPING_LENGTH;if(null===e)this.uniforms.panoTileClipMappings.value=null,this.uniforms.panoTileDrawAtMappings.value=null;else{for(var i=[],n=[],r=0;r<e.length;r++)i[r]=e[r][0].clone(),n[r]=e[r][1].clone();this.uniforms.panoTileClipMappings.value=i,this.uniforms.panoTileDrawAtMappings.value=n}var o=null!==e?e.length:0;o!==t&&(this.defines.TILE_MAPPING_LENGTH=o,this.needsUpdate=!0)}}}),N.pano0Map=null!==(n=i.pano0Map)&&void 0!==n?n:O,N.pano0Matrix=null!==(r=i.pano0Matrix)&&void 0!==r?r:new e.Matrix4,N.pano1Map=null!==(o=i.pano1Map)&&void 0!==o?o:O,N.pano1Matrix=null!==(s=i.pano1Matrix)&&void 0!==s?s:new e.Matrix4,N.modelAlpha=null!==(a=i.modelAlpha)&&void 0!==a?a:1,N.progress=null!==(u=i.progress)&&void 0!==u?u:0,N.useBlackTransition=null!==(c=i.useBlackTransition)&&void 0!==c&&c,N.perspToOrtho=null!==(l=i.perspToOrtho)&&void 0!==l?l:0,N.opacity=null!==(d=i.opacity)&&void 0!==d?d:1,N.pano0DepthMap=null!==(h=i.pano0DepthMap)&&void 0!==h?h:null,N.panoVideoSize=null!==(M=i.panoVideoSize)&&void 0!==M?M:new e.Vector2,N.panoVideoMap=null!==(p=i.panoVideoMap)&&void 0!==p?p:null,N.panoVideoMatrix=null!==(f=i.panoVideoMatrix)&&void 0!==f?f:new e.Matrix4,N.panoVideoAlpha=null!==(A=i.panoVideoAlpha)&&void 0!==A?A:0,N.panoTileMap=null!==(y=i.panoTileMap)&&void 0!==y?y:null,N.panoTileMappings=null!==(g=i.panoTileMappings)&&void 0!==g?g:null,N}return n(i,t),i}(e.ShaderMaterial),_=new e.Vector3(0,0,0),k=function(t){function i(i,n){void 0===n&&(n=_);var r=t.call(this)||this,o=new e.BoxBufferGeometry(i.max.x-i.min.x+2*n.x,i.max.y-i.min.y+2*n.y,i.max.z-i.min.z+2*n.z,1,1);o.groups.length=0,o.groups.push({start:0,count:36,materialIndex:0}),o.applyMatrix4((new e.Matrix4).makeScale(-1,1,1));var s=new C;s.defines.USE_MAP=!1,s.defines.USE_UV=!1,s.uniforms.diffuse.value=new e.Color(16777215);var a=new T(o,[s]);return a.floorIndex=-1,a.position.copy(i.getCenter(new e.Vector3)),a.frustumCulled=!1,r.add(a),r}return n(i,t),i.prototype.dispose=function(){this.disposeMaterial(),this.disposeGeometry()},i}(w);function U(e,t){return void 0===t&&(t=_),new k(e,t)}var Q,B,P,Y,R={EPSILON:1e-6,BVHVector3:function(e,t,i){this.x=e||0,this.y=t||0,this.z=i||0}};R.BVHVector3.prototype={constructor:R.BVHVector3,copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},set:function(e,t,i){return this.x=e,this.y=t,this.z=i,this},setFromArray:function(e,t){this.x=e[t],this.y=e[t+1],this.z=e[t+2]},add:function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},cross:function(e){var t=this.x,i=this.y,n=this.z;return this.x=i*e.z-n*e.y,this.y=n*e.x-t*e.z,this.z=t*e.y-i*e.x,this},crossVectors:function(e,t){var i=e.x,n=e.y,r=e.z,o=t.x,s=t.y,a=t.z;return this.x=n*a-r*s,this.y=r*o-i*a,this.z=i*s-n*o,this},clone:function(){return new R.BVHVector3(this.x,this.y,this.z)}},R.BVH=function(e,t){this._trianglesArray=e,this._maxTrianglesPerNode=t||10,this._bboxArray=this.calcBoundingBoxes(e),this._bboxHelper=new Float32Array(this._bboxArray.length),this._bboxHelper.set(this._bboxArray);var i=e.length/9,n=this.calcExtents(0,i,R.EPSILON);this._rootNode=new R.BVHNode(n[0],n[1],0,i,0),this._nodesToSplit=[this._rootNode]},R.BVH.prototype.splitNode=function(e){if(e){var t=0,i=function(){t++;var n=this._nodesToSplit.pop();n?(this._splitNode(n),t%255==0?setTimeout(i):i()):(t=0,e())}.bind(this);i()}else for(;this._nodesToSplit.length>0;)this._splitNode(this._nodesToSplit.pop())},R.BVH.prototype.dispose=function(){this._trianglesArray=new Float32Array,this._bboxArray=new Float32Array,this._bboxHelper=new Float32Array,this._rootNode=null,this._nodesToSplit=null},R.BVH.prototype.intersectRay=function(e,t,i){for(var n,r=[this._rootNode],o=[],s=[],a=new R.BVHVector3(1/t.x,1/t.y,1/t.z);r.length>0;){var u=r.pop();if(R.BVH.intersectNodeBox(e,a,u))for(u._node0&&r.push(u._node0),u._node1&&r.push(u._node1),n=u._startIndex;n<u._endIndex;n++)o.push(this._bboxArray[7*n])}var c=new R.BVHVector3,l=new R.BVHVector3,d=new R.BVHVector3,h=new R.BVHVector3(e.x,e.y,e.z),M=new R.BVHVector3(t.x,t.y,t.z);for(n=0;n<o.length;n++){var p=o[n];c.setFromArray(this._trianglesArray,9*p),l.setFromArray(this._trianglesArray,9*p+3),d.setFromArray(this._trianglesArray,9*p+6);var f=R.BVH.intersectRayTriangle(c,l,d,h,M,i);f&&s.push({triangle:[c.clone(),l.clone(),d.clone()],triangleIndex:p,intersectionPoint:f})}return s},R.BVH.prototype.calcBoundingBoxes=function(e){for(var t,i,n,r,o,s,a,u,c,l,d,h,M,p,f,A=e.length/9,y=new Float32Array(7*A),g=0;g<A;g++)t=e[9*g],i=e[9*g+1],n=e[9*g+2],r=e[9*g+3],o=e[9*g+4],s=e[9*g+5],a=e[9*g+6],u=e[9*g+7],c=e[9*g+8],l=Math.min(Math.min(t,r),a),d=Math.min(Math.min(i,o),u),h=Math.min(Math.min(n,s),c),M=Math.max(Math.max(t,r),a),p=Math.max(Math.max(i,o),u),f=Math.max(Math.max(n,s),c),R.BVH.setBox(y,g,g,l,d,h,M,p,f);return y},R.BVH.prototype.calcExtents=function(e,t,i){if(i=i||0,e>=t)return[{x:0,y:0,z:0},{x:0,y:0,z:0}];for(var n=Number.MAX_VALUE,r=Number.MAX_VALUE,o=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=-Number.MAX_VALUE,u=-Number.MAX_VALUE,c=e;c<t;c++)n=Math.min(this._bboxArray[7*c+1],n),r=Math.min(this._bboxArray[7*c+2],r),o=Math.min(this._bboxArray[7*c+3],o),s=Math.max(this._bboxArray[7*c+4],s),a=Math.max(this._bboxArray[7*c+5],a),u=Math.max(this._bboxArray[7*c+6],u);return[{x:n-i,y:r-i,z:o-i},{x:s+i,y:a+i,z:u+i}]},R.BVH.prototype._splitNode=function(e){if(!(e.elementCount()<=this._maxTrianglesPerNode||0===e.elementCount())){var t=e._startIndex,i=e._endIndex,n=[[],[],[]],r=[[],[],[]],o=[e.centerX(),e.centerY(),e.centerZ()],s=[e._extentsMax.x-e._extentsMin.x,e._extentsMax.y-e._extentsMin.y,e._extentsMax.z-e._extentsMin.z],a=[];a.length=3;for(var u=t;u<i;u++){a[0]=.5*(this._bboxArray[7*u+1]+this._bboxArray[7*u+4]),a[1]=.5*(this._bboxArray[7*u+2]+this._bboxArray[7*u+5]),a[2]=.5*(this._bboxArray[7*u+3]+this._bboxArray[7*u+6]);for(var c=0;c<3;c++)a[c]<o[c]?n[c].push(u):r[c].push(u)}var l=[];if(l.length=3,l[0]=0===n[0].length||0===r[0].length,l[1]=0===n[1].length||0===r[1].length,l[2]=0===n[2].length||0===r[2].length,!(l[0]&&l[1]&&l[2])){var d,h,M=[0,1,2];for(M.sort((function(e,t){return s[t]-s[e]})),c=0;c<3;c++){var p=M[c];if(!l[p]){d=n[p],h=r[p];break}}var f,A=t,y=A+d.length,g=y,N=i,m=e._startIndex,v=d.concat(h);for(u=0;u<v.length;u++)f=v[u],R.BVH.copyBox(this._bboxArray,f,this._bboxHelper,m),m++;var D=this._bboxHelper.subarray(7*e._startIndex,7*e._endIndex);this._bboxArray.set(D,7*e._startIndex);var T=this.calcExtents(A,y,R.EPSILON),w=this.calcExtents(g,N,R.EPSILON),z=new R.BVHNode(T[0],T[1],A,y,e._level+1),j=new R.BVHNode(w[0],w[1],g,N,e._level+1);e._node0=z,e._node1=j,e.clearShapes(),this._nodesToSplit.push(z),this._nodesToSplit.push(j)}}},R.BVH._calcTValues=function(e,t,i,n){var r={min:0,max:0};return n>=0?(r.min=(e-i)*n,r.max=(t-i)*n):(r.min=(t-i)*n,r.max=(e-i)*n),r},R.BVH.intersectNodeBox=function(e,t,i){var n=R.BVH._calcTValues(i._extentsMin.x,i._extentsMax.x,e.x,t.x),r=R.BVH._calcTValues(i._extentsMin.y,i._extentsMax.y,e.y,t.y);if(n.min>r.max||r.min>n.max)return!1;(r.min>n.min||n.min!=n.min)&&(n.min=r.min),(r.max<n.max||n.max!=n.max)&&(n.max=r.max);var o=R.BVH._calcTValues(i._extentsMin.z,i._extentsMax.z,e.z,t.z);return!(n.min>o.max||o.min>n.max||((o.min>n.min||n.min!=n.min)&&(n.min=o.min),(o.max<n.max||n.max!=n.max)&&(n.max=o.max),n.max<0))},R.BVH.intersectRayTriangle=(Q=new R.BVHVector3,B=new R.BVHVector3,P=new R.BVHVector3,Y=new R.BVHVector3,function(e,t,i,n,r,o){B.subVectors(t,e),P.subVectors(i,e),Y.crossVectors(B,P);var s,a=r.dot(Y);if(a>0){if(o)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Q.subVectors(n,e);var u=s*r.dot(P.crossVectors(Q,P));if(u<0)return null;var c=s*r.dot(B.cross(Q));if(c<0)return null;if(u+c>a)return null;var l=-s*Q.dot(Y);if(l<0)return null;var d=l/a;return(new R.BVHVector3).copy(r).multiplyScalar(d).add(n)}),R.BVH.setBox=function(e,t,i,n,r,o,s,a,u){e[7*t]=i,e[7*t+1]=n,e[7*t+2]=r,e[7*t+3]=o,e[7*t+4]=s,e[7*t+5]=a,e[7*t+6]=u},R.BVH.copyBox=function(e,t,i,n){i[7*n]=e[7*t],i[7*n+1]=e[7*t+1],i[7*n+2]=e[7*t+2],i[7*n+3]=e[7*t+3],i[7*n+4]=e[7*t+4],i[7*n+5]=e[7*t+5],i[7*n+6]=e[7*t+6]},R.BVH.getBox=function(e,t,i){i.triangleId=e[7*t],i.minX=e[7*t+1],i.minY=e[7*t+2],i.minZ=e[7*t+3],i.maxX=e[7*t+4],i.maxY=e[7*t+5],i.maxZ=e[7*t+6]},R.BVHNode=function(e,t,i,n,r){this._extentsMin=e,this._extentsMax=t,this._startIndex=i,this._endIndex=n,this._level=r,this._node0=null,this._node1=null},R.BVHNode.prototype.elementCount=function(){return this._endIndex-this._startIndex},R.BVHNode.prototype.centerX=function(){return.5*(this._extentsMin.x+this._extentsMax.x)},R.BVHNode.prototype.centerY=function(){return.5*(this._extentsMin.y+this._extentsMax.y)},R.BVHNode.prototype.centerZ=function(){return.5*(this._extentsMin.z+this._extentsMax.z)},R.BVHNode.prototype.clearShapes=function(){this._startIndex=-1,this._endIndex=-1},R.BVHNode.calcBoundingSphereRadius=function(e,t){var i=.5*(e.x+t.x),n=.5*(e.y+t.y),r=.5*(e.z+t.z),o=(i-e.x)*(i-e.x)+(n-e.y)*(n-e.y)+(r-e.z)*(r-e.z),s=(i-t.x)*(i-t.x)+(n-t.y)*(n-t.y)+(r-t.z)*(r-t.z);return Math.sqrt(Math.max(o,s))};var F=R.BVH,V=(R.intersectRay,window);function G(e,t,i,n,r){void 0===t&&(t={}),void 0===i&&(i=h),void 0===n&&(n=h),void 0===r&&(r=h);var o=function(e){var t=/jsonp_([0-9a-z]+)([\?\#].*)?$/i.exec(e);return t&&t[0]}(e);if(o){var s=document.createElement("script");return V[o]=function(e){delete V[o],s.parentNode&&s.parentNode.removeChild(s),0!==e.indexOf("data:")&&i(new Error("json needs a dataURL"));var n=e.split(","),r=(n[0].match(/:(.*?);/)||[])[1],a=n[1];if("arraybuffer"===t.responseType||"blob"===t.responseType){for(var u=atob(n[1]),c=u.length,l=new Uint8Array(c),d=0;d<c;d++)l[d]=u.charCodeAt(d);a="arraybuffer"===t.responseType?l.buffer:new Blob([l],{type:r})}N((function(){return i(null,a)}))},s.src=e,document.body.appendChild(s),{abort:function(){delete V[o],s.parentNode&&s.parentNode.removeChild(s)}}}var a=new XMLHttpRequest;function u(){a.ontimeout=h,a.onreadystatechange=h,a.onprogress=h,a.onabort=h}return a.ontimeout=function(){i&&i(new Error("timeout"),null),u()},a.onreadystatechange=function(){4===this.readyState&&(0!==this.status||this.response)&&(200===this.status||0===this.status?(i&&i(null,this.response),u()):(i&&i(new Error("status:"+this.status),null),u()))},a.onprogress=function(e){if(e.lengthComputable){var t=e.loaded,i=e.total;n(t/i,t,i)}},a.onabort=function(){u(),r()},a.open("GET",e,!0),t.responseType&&(a.responseType=t.responseType),a.send(null),a}G.async=function(e,t){return new Promise((function(i,n){G(e,t,(function(e,t){return e?n(e):i(t)}))}))};var H="//vrlab-public.ljcdn.com";function W(e,t){if(void 0===t&&(t={}),"function"==typeof t.transform)return t.transform(e,t);if(e.indexOf(H)>=0&&(/\.basis(\?|$)/.test(e)&&!0!==t.basisLoaderInitialized&&(e=e.replace(/\.basis(\?|$)/,".jpg$1")),/\.(jpg|png)$/.test(e))){var i=t.size,n=t.quality,r=t.format;if(i||n||r){var o="?imageMogr2";n&&(o+="/quality/"+n),i&&(o+="/thumbnail/"+i+"x"),r&&(o+="/format/"+r),e=e.replace(H,"//vrlab-image4.ljcdn.com")+o}}return e}var q=function(){function e(){}return e.prototype.load=function(e,t,i,n){return void 0===t&&(t=h),void 0===i&&(i=h),void 0===n&&(n=h),this.loadToImage(E(),e,t,i,n)},e.prototype.loadToImage=function(e,t,i,n,r){if(void 0===i&&(i=h),void 0===n&&(n=h),void 0===r&&(r=h),e.src)throw new Error("image is loaded");G(t,{responseType:"blob"},(function(n,o){n?r(n):(e.onload=function(){i(e),e.onload=e.onerror=function(){}},e.onerror=function(){r(new Error("image parse error "+t)),e.onload=e.onerror=function(){}},e.src=URL.createObjectURL(o))}))},e}(),Z=null,X=!1,J=[];function K(e){if(void 0===e&&(e=!1),e||!X)if(Z)X=!1;else{X=!0;var t=J.shift();if(t){try{t()}catch(e){}N((function(){return K(!0)}))}else X=!1}}function $(){Z=null,K()}function ee(){(Z||0!==J.length)&&(Z&&clearTimeout(Z),Z=window.setTimeout($,200))}function te(e){return new Promise((function(t){J.push((function(){return t(e())})),K()}))}var ie,ne=__webpack_require__(1168),re={computeTangents:function(t){var i=t.index,n=t.attributes;if(null!==i&&void 0!==n.position&&void 0!==n.normal&&void 0!==n.uv){var r=i.array,o=n.position.array,s=n.normal.array,a=n.uv.array,u=o.length/3;void 0===n.tangent&&t.setAttribute("tangent",new e.BufferAttribute(new Float32Array(4*u),4));for(var c=n.tangent.array,l=[],d=[],h=0;h<u;h++)l[h]=new e.Vector3,d[h]=new e.Vector3;var M=new e.Vector3,p=new e.Vector3,f=new e.Vector3,A=new e.Vector2,y=new e.Vector2,g=new e.Vector2,N=new e.Vector3,m=new e.Vector3,v=t.groups;0===v.length&&(v=[{start:0,count:r.length}]),h=0;for(var D=v.length;h<D;++h)for(var T=S=(b=v[h]).start,w=S+b.count;T<w;T+=3)C(r[T+0],r[T+1],r[T+2]);var z,j,I,E=new e.Vector3,x=new e.Vector3,L=new e.Vector3,O=new e.Vector3;for(h=0,D=v.length;h<D;++h){var b,S;for(T=S=(b=v[h]).start,w=S+b.count;T<w;T+=3)_(r[T+0]),_(r[T+1]),_(r[T+2])}}else console.warn("THREE.BufferGeometry: Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");function C(e,t,i){M.fromArray(o,3*e),p.fromArray(o,3*t),f.fromArray(o,3*i),A.fromArray(a,2*e),y.fromArray(a,2*t),g.fromArray(a,2*i);var n=p.x-M.x,r=f.x-M.x,s=p.y-M.y,u=f.y-M.y,c=p.z-M.z,h=f.z-M.z,v=y.x-A.x,D=g.x-A.x,T=y.y-A.y,w=g.y-A.y,z=1/(v*w-D*T);N.set((w*n-T*r)*z,(w*s-T*u)*z,(w*c-T*h)*z),m.set((v*r-D*n)*z,(v*u-D*s)*z,(v*h-D*c)*z),l[e].add(N),l[t].add(N),l[i].add(N),d[e].add(m),d[t].add(m),d[i].add(m)}function _(e){L.fromArray(s,3*e),O.copy(L),j=l[e],E.copy(j),E.sub(L.multiplyScalar(L.dot(j))).normalize(),x.crossVectors(O,j),I=x.dot(d[e]),z=I<0?-1:1,c[4*e]=E.x,c[4*e+1]=E.y,c[4*e+2]=E.z,c[4*e+3]=z}},mergeBufferGeometries:function(t,i){for(var n=null!==t[0].index,r=new Set(Object.keys(t[0].attributes)),o=new Set(Object.keys(t[0].morphAttributes)),s={},a={},u=new e.BufferGeometry,c=0,l=0;l<t.length;++l){var d=t[l];if(n!==(null!==d.index))return null;for(var h in d.attributes){if(!r.has(h))return null;void 0===s[h]&&(s[h]=[]),s[h].push(d.attributes[h])}for(var h in d.morphAttributes){if(!o.has(h))return null;void 0===a[h]&&(a[h]=[]),a[h].push(d.morphAttributes[h])}if(u.userData.mergedUserData=u.userData.mergedUserData||[],u.userData.mergedUserData.push(d.userData),i){var M;if(n)M=d.index.count;else{if(void 0===d.attributes.position)return null;M=d.attributes.position.count}u.addGroup(c,M,l),c+=M}}if(n){var p=0,f=[];for(l=0;l<t.length;++l){for(var A=t[l].index,y=0;y<A.count;++y)f.push(A.getX(y)+p);p+=t[l].attributes.position.count}u.setIndex(f)}for(var h in s){var g=this.mergeBufferAttributes(s[h]);if(!g)return null;u.setAttribute(h,g)}for(var h in a){var N=a[h][0].length;if(0===N)break;for(u.morphAttributes=u.morphAttributes||{},u.morphAttributes[h]=[],l=0;l<N;++l){var m=[];for(y=0;y<a[h].length;++y)m.push(a[h][y][l]);var v=this.mergeBufferAttributes(m);if(!v)return null;u.morphAttributes[h].push(v)}}return u},mergeBufferAttributes:function(t){for(var i,n,r,o=0,s=0;s<t.length;++s){var a=t[s];if(a.isInterleavedBufferAttribute)return null;if(void 0===i&&(i=a.array.constructor),i!==a.array.constructor)return null;if(void 0===n&&(n=a.itemSize),n!==a.itemSize)return null;if(void 0===r&&(r=a.normalized),r!==a.normalized)return null;o+=a.array.length}var u=new i(o),c=0;for(s=0;s<t.length;++s)u.set(t[s].array,c),c+=t[s].array.length;return new e.BufferAttribute(u,n,r)},interleaveAttributes:function(t){for(var i,n=0,r=0,o=0,s=t.length;o<s;++o){var a=t[o];if(void 0===i&&(i=a.array.constructor),i!==a.array.constructor)return console.warn("AttributeBuffers of different types cannot be interleaved"),null;n+=a.array.length,r+=a.itemSize}var u=new e.InterleavedBuffer(new i(n),r),c=0,l=[],d=["getX","getY","getZ","getW"],h=["setX","setY","setZ","setW"],M=0;for(s=t.length;M<s;M++){var p=(a=t[M]).itemSize,f=a.count,A=new e.InterleavedBufferAttribute(u,p,c,a.normalized);l.push(A),c+=p;for(var y=0;y<f;y++)for(var g=0;g<p;g++)A[h[g]](y,a[d[g]](y))}return l},estimateBytesUsed:function(e){var t=0;for(var i in e.attributes){var n=e.getAttribute(i);t+=n.count*n.itemSize*n.array.BYTES_PER_ELEMENT}var r=e.getIndex();return t+(r?r.count*r.itemSize*r.array.BYTES_PER_ELEMENT:0)},mergeVertices:function(t,i){void 0===i&&(i=1e-4),i=Math.max(i,Number.EPSILON);for(var n={},r=t.getIndex(),o=t.getAttribute("position"),s=r?r.count:o.count,a=0,u=Object.keys(t.attributes),c={},l={},d=[],h=["getX","getY","getZ","getW"],M=0,p=u.length;M<p;M++)c[m=u[M]]=[],(w=t.morphAttributes[m])&&(l[m]=new Array(w.length).fill().map((function(){return[]})));var f=Math.log10(1/i),A=Math.pow(10,f);for(M=0;M<s;M++){var y=r?r.getX(M):M,g="",N=0;for(p=u.length;N<p;N++)for(var m=u[N],v=(T=t.getAttribute(m)).itemSize,D=0;D<v;D++)g+=~~(T[h[D]](y)*A)+",";if(g in n)d.push(n[g]);else{for(N=0,p=u.length;N<p;N++){m=u[N];var T=t.getAttribute(m),w=t.morphAttributes[m],z=(v=T.itemSize,c[m]),j=l[m];for(D=0;D<v;D++){var I=h[D];if(z.push(T[I](y)),w)for(var E=0,x=w.length;E<x;E++)j[E].push(w[E][I](y))}}n[g]=a,d.push(a),a++}}var L=t.clone();for(M=0,p=u.length;M<p;M++){m=u[M];var O=t.getAttribute(m),b=new O.array.constructor(c[m]);if(T=new e.BufferAttribute(b,O.itemSize,O.normalized),L.setAttribute(m,T),m in l)for(N=0;N<l[m].length;N++){var S=t.morphAttributes[m][N],C=(b=new S.array.constructor(l[m][N]),new e.BufferAttribute(b,S.itemSize,S.normalized));L.morphAttributes[m][N]=C}}return L.setIndex(d),L}},oe=function(e){function t(t){var i=e.call(this,t)||this;return i._callbacks={},i._initialized=!1,i._taskLoad=0,i}return n(t,e),t}(Worker),se='\nvar config, transcoderPending, _BasisFile;\nself.onmessage = function(e) {\n var message = e.data;\n switch (message.type) {\n case "init":\n config = message.config;\n init(message.transcoderBinary);\n break;\n case "transcode":\n transcoderPending.then(function() {\n try {\n var result = transcode(message.buffer);\n var width = result.width;\n var height = result.height;\n var hasAlpha = result.hasAlpha;\n var mipmaps = result.mipmaps;\n var format = result.format;\n var buffers = [];\n for (var i = 0; i < mipmaps.length; ++i) {\n buffers.push(mipmaps[i].data.buffer);\n }\n self.postMessage({ type: "transcode", id: message.id, width, height, hasAlpha, mipmaps, format }, buffers);\n } catch (error) {\n console.error(error);\n self.postMessage({ type: "error", id: message.id, error: error.message });\n }\n });\n break;\n default: break;\n }\n};\n\nfunction init(wasmBinary) {\n var BasisModule;\n transcoderPending = new Promise(function(resolve) {\n BasisModule = { wasmBinary, onRuntimeInitialized: resolve };\n BASIS(BasisModule); // eslint-disable-line no-undef\n }).then(function() {\n _BasisFile = BasisModule.BasisFile;\n BasisModule.initializeBasis();\n self.postMessage({ type: "initialized" });\n });\n}\n\nfunction transcode(buffer) {\n var basisFile = new _BasisFile(new Uint8Array(buffer));\n var width = basisFile.getImageWidth(0, 0);\n var height = basisFile.getImageHeight(0, 0);\n var levels = basisFile.getNumLevels(0);\n var hasAlpha = basisFile.getHasAlpha();\n function cleanup() {\n basisFile.close();\n basisFile.delete();\n }\n if (!hasAlpha) {\n switch (config.format) {\n case 9: // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGBA\n config.format = 8; // Hardcoded: BasisTextureLoader.BASIS_FORMAT.cTFPVRTC1_4_RGB;\n break;\n default: break;\n }\n }\n if (!width || !height || !levels) {\n cleanup();\n throw new Error("BasisTextureLoader: Invalid .basis file");\n }\n if (!basisFile.startTranscoding()) {\n cleanup();\n throw new Error("BasisTextureLoader: .startTranscoding failed");\n }\n var mipmaps = [];\n for (var mip = 0; mip < levels; mip++) {\n var mipWidth = basisFile.getImageWidth(0, mip);\n var mipHeight = basisFile.getImageHeight(0, mip);\n var dst = new Uint8Array(basisFile.getImageTranscodedSizeInBytes(0, mip, config.format));\n var status = basisFile.transcodeImage(dst, 0, mip, config.format, 0, hasAlpha);\n if (!status) {\n cleanup();\n throw new Error("BasisTextureLoader: .transcodeImage failed.");\n }\n mipmaps.push({ data: dst, width: mipWidth, height: mipHeight });\n }\n cleanup();\n return { width, height, hasAlpha, mipmaps, format: config.format };\n}\n',ae={cTFETC1:0,cTFETC2:1,cTFBC1:2,cTFBC3:3,cTFBC4:4,cTFBC5:5,cTFBC7_M6_OPAQUE_ONLY:6,cTFBC7_M5:7,cTFPVRTC1_4_RGB:8,cTFPVRTC1_4_RGBA:9,cTFASTC_4x4:10,cTFATC_RGB:11,cTFATC_RGBA_INTERPOLATED_ALPHA:12,cTFRGBA32:13,cTFRGB565:14,cTFBGR565:15,cTFRGBA4444:16},ue={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779},ce=((ie={})[ae.cTFBC1]=ue.COMPRESSED_RGB_S3TC_DXT1_EXT,ie[ae.cTFBC3]=ue.COMPRESSED_RGBA_S3TC_DXT5_EXT,ie),le=new(function(t){function i(e){var i=t.call(this,e)||this;return i.transcoderPath="",i.transcoderBinary=null,i.transcoderPending=null,i.workerLimit=4,i.workerPool=[],i.workerNextTaskID=1,i.workerSourceURL="",i.workerConfig={format:null,astcSupported:!1,bptcSupported:!1,etcSupported:!1,dxtSupported:!1,pvrtcSupported:!1},i}return n(i,t),i.prototype.setTranscoderPath=function(e){return this.transcoderPath=e,this},i.prototype.setWorkerLimit=function(e){return this.workerLimit=e,this},i.prototype.isInitialized=function(){return 0!==this.workerPool.filter((function(e){return e._initialized})).length},i.prototype.detectSupport=function(e){var t=this.workerConfig;if(t.astcSupported=!!e.extensions.get("WEBGL_compressed_texture_astc"),t.bptcSupported=!!e.extensions.get("EXT_texture_compression_bptc"),t.etcSupported=!!e.extensions.get("WEBGL_compressed_texture_etc1"),t.dxtSupported=!!e.extensions.get("WEBGL_compressed_texture_s3tc"),t.pvrtcSupported=!!e.extensions.get("WEBGL_compressed_texture_pvrtc")||!!e.extensions.get("WEBKIT_WEBGL_compressed_texture_pvrtc"),t.astcSupported)t.format=i.BASIS_FORMAT.cTFASTC_4x4;else if(t.bptcSupported)t.format=i.BASIS_FORMAT.cTFBC7_M5;else if(t.dxtSupported)t.format=i.BASIS_FORMAT.cTFBC3;else if(t.pvrtcSupported)t.format=i.BASIS_FORMAT.cTFPVRTC1_4_RGBA;else{if(!t.etcSupported)throw new Error("BasisTextureLoader: No suitable compressed texture format found.");t.format=i.BASIS_FORMAT.cTFETC1}return this},i.prototype.load=function(t,n,r,o){var s=this,a=new e.FileLoader(this.manager);a.setResponseType("arraybuffer"),a.load(t,(function(e){var r=e;if(i.taskCache.has(r))return i.taskCache.get(r).promise.then(n).catch(o);s._createTexture(r,t).then(n).catch(o)}),r,o)},i.prototype._createTexture=function(t,n){var r,o,s=this,a=t.byteLength,u=this._allocateWorker(a).then((function(e){return r=e,o=s.workerNextTaskID++,new Promise((function(e,i){r._callbacks[o]={resolve:e,reject:i},r.postMessage({type:"transcode",id:o,buffer:t},[t])}))})).then((function(t){var i,n=s.workerConfig,r=t.width,o=t.height,a=t.mipmaps;switch(t.format){case ae.cTFASTC_4x4:i=new e.CompressedTexture(a,r,o,e.RGBA_ASTC_4x4_Format);break;case ae.cTFBC1:case ae.cTFBC3:i=new e.CompressedTexture(a,r,o,ce[n.format],e.UnsignedByteType);break;case ae.cTFETC1:i=new e.CompressedTexture(a,r,o,e.RGB_ETC1_Format);break;case ae.cTFPVRTC1_4_RGB:i=new e.CompressedTexture(a,r,o,e.RGB_PVRTC_4BPPV1_Format);break;case ae.cTFPVRTC1_4_RGBA:i=new e.CompressedTexture(a,r,o,e.RGBA_PVRTC_4BPPV1_Format);break;default:throw new Error("BasisTextureLoader: No supported format available.")}return i.minFilter=1===a.length?e.LinearFilter:e.LinearMipmapLinearFilter,i.magFilter=e.LinearFilter,i.generateMipmaps=!1,i.needsUpdate=!0,i}));return u.catch((function(){return!0})).then((function(){r&&o&&(r._taskLoad-=a,delete r._callbacks[o])})),i.taskCache.set(t,{url:n,promise:u}),u},i.prototype._initTranscoder=function(){var t=this;if(!this.transcoderPending){var i=new e.FileLoader(this.manager);i.setPath(this.transcoderPath);var n=new Promise((function(e,t){i.load("basis_transcoder.js",e,void 0,t)})),r=new e.FileLoader(this.manager);r.setPath(this.transcoderPath),r.setResponseType("arraybuffer");var o=new Promise((function(e,t){r.load("basis_transcoder.wasm",e,void 0,t)}));this.transcoderPending=Promise.all([n,o]).then((function(e){var i=e[0],n=e[1],r=["/* basis_transcoder.js */",i,"/* worker */",se].join("\n");t.workerSourceURL=URL.createObjectURL(new Blob([r])),t.transcoderBinary=n}))}return this.transcoderPending},i.prototype._allocateWorker=function(e){var t=this;return this._initTranscoder().then((function(){if(t.workerPool.length<t.workerLimit){var i=new oe(t.workerSourceURL);i._callbacks={},i._initialized=!1,i._taskLoad=0,i.postMessage({type:"init",config:t.workerConfig,transcoderBinary:t.transcoderBinary}),i.onmessage=function(e){var t=e.data;switch(t.type){case"initialized":i._initialized=!0,console.log("BasisTextureLoader: basis loader initialized");break;case"transcode":i._callbacks[t.id].resolve(t);break;case"error":i._callbacks[t.id].reject(t);break;default:console.error('BasisTextureLoader: Unexpected message, "'+t.type+'"')}},t.workerPool.push(i)}else t.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));var n=t.workerPool[t.workerPool.length-1];return n._taskLoad+=e,n}))},i.prototype.dispose=function(){for(var e=0;e<this.workerPool.length;e++)this.workerPool[e].terminate();return this.workerPool.length=0,this},i.taskCache=new WeakMap,i.BASIS_FORMAT=ae,i.DXT_FORMAT=ue,i.DXT_FORMAT_MAP=ce,i}(e.Loader));le.setWorkerLimit(1),le.setTranscoderPath("https://vrlab-public.ljcdn.com/release/static/image/release/five/basis/");var de=(new e.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function he(t,i){return new e.BufferAttribute(t,i)}function Me(e){var t=e.match(/(group|floor)-?(\d+)/);return t?parseInt(t[2],10):0}function pe(t){var i=t.indices,n=t.vertices,r=t.uvs,o=new e.BufferGeometry;return o.setIndex(he(new Uint32Array(i),1)),o.setAttribute("position",he(new Float32Array(n),3)),d(r)||o.setAttribute("uv",he(new Float32Array(r),2)),o.applyMatrix4(de),o.computeVertexNormals(),o}function fe(t,i){var n=le.isInitialized();if(t=W(t,Object.assign({key:"texture",basisLoaderInitialized:n},i)),/\.basis(\?|$)/.test(t)){var r={sourceFile:t,needsUpdate:!0,wrapS:e.ClampToEdgeWrapping,wrapT:e.ClampToEdgeWrapping,minFilter:e.LinearFilter};return new Promise((function(e,i){le.load(t,(function(t){e(Object.assign(t,r))}),(function(){}),(function(e){i(e.error)}))}))}var o={sourceFile:t,needsUpdate:!0,wrapS:e.ClampToEdgeWrapping,wrapT:e.ClampToEdgeWrapping,minFilter:e.LinearFilter},s=new q;return new Promise((function(i,n){s.load(t,(function(t){var n=new e.Texture(t),r=n.dispose;n.dispose=function(){r.call(n),/^blob\:/.test(t.src)&&URL.revokeObjectURL(t.src)},i(Object.assign(n,o))}),h,(function(e){return n(e)}))}))}function Ae(e){var t=new C;return e.then((function(e){return t.uniforms.map.value=e})),t}var ye=ne.parse("\nmessage Model {\n repeated Chunk chunks = 1;\n}\nmessage Chunk {\n required Vertices vertices = 1;\n required Faces faces = 2;\n required string name = 3;\n optional string texture = 4;\n}\nmessage Vertices {\n repeated float xyz = 1 [packed=true];\n repeated float uvs = 2 [packed=true];\n}\nmessage Faces {\n repeated uint32 indices = 1 [packed=true];\n}\n").root.lookup("Model");function ge(t,i,n,r){for(var o=0,s=t;o<s.length;o++){var a=s[o];a.chunkName=(void 0,(u=a.name.match(/(chunk)-?(\d+)/))?parseInt(u[2],10):0),a.floorName=Me(a.name),a.texture&&(a.texture=n[a.chunkName]=n[a.chunkName]||i+a.texture)}var u;t.sort((function(e,t){return 1e3*e.floorName+e.chunkName-(1e3*t.floorName+t.chunkName)})),!1!==(r=Object.assign({},r)).autoResize&&(n.length>96?r.size=Math.min(r.size||1/0,100):n.length>48?r.size=Math.min(r.size||1/0,200):n.length>24?r.size=Math.min(r.size||1/0,400):n.length>12&&(r.size=Math.min(r.size||1/0,800)));var c=[],l={},d=[],h=Promise.resolve();return(h=(h=h.then((function(){return te((function(){for(var i=0;i<t.length;i++){var n,o=t[i],s=Me(o.name),a=c[s]=c[s]||{geometries:[],materials:[]},u=pe({vertices:o.vertices.xyz,uvs:o.vertices.uvs,indices:o.faces.indices});if(u.name="model_geo_chunk_"+i,a.geometries.push(u),o.texture)(n=Ae(l[o.texture]?l[o.texture]:l[o.texture]=fe(o.texture,r))).name="model_mtl_chunk_"+i,a.materials.push(n);else(n=new C).defines.USE_MAP=!1,n.uniforms.color.value=new e.Color(16777215),n.name="model_mtl_chunk_"+i,a.materials.push(n)}}))}))).then((function(){return te((function(){for(var e=0;e<c.length;e++){var t=c[e];if(t){var i=re.mergeBufferGeometries(t.geometries,!0);t.geometries.forEach((function(e){return e.dispose()}));var n=new T(i,t.materials);n.floorIndex=e,n.name="model_floor_"+e,d.push(n)}}}))}))).then((function(){var e=Object.keys(l).map((function(e){return l[e]})),t=Promise.all(e).then((function(){}));return{objects:d,textureReady:t}}))}var Ne={OutWindow:function(){this._windowSize=0}};Ne.OutWindow.prototype.create=function(e){this._buffer&&this._windowSize===e||(this._buffer=[]),this._windowSize=e,this._pos=0,this._streamPos=0},Ne.OutWindow.prototype.flush=function(){var e=this._pos-this._streamPos;if(0!==e){for(;e--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},Ne.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},Ne.OutWindow.prototype.setStream=function(e){this.releaseStream(),this._stream=e},Ne.OutWindow.prototype.init=function(e){e||(this._streamPos=0,this._pos=0)},Ne.OutWindow.prototype.copyBlock=function(e,t){var i=this._pos-e-1;for(i<0&&(i+=this._windowSize);t--;)i>=this._windowSize&&(i=0),this._buffer[this._pos++]=this._buffer[i++],this._pos>=this._windowSize&&this.flush()},Ne.OutWindow.prototype.putByte=function(e){this._buffer[this._pos++]=e,this._pos>=this._windowSize&&this.flush()},Ne.OutWindow.prototype.getByte=function(e){var t=this._pos-e-1;return t<0&&(t+=this._windowSize),this._buffer[t]},Ne.RangeDecoder=function(){},Ne.RangeDecoder.prototype.setStream=function(e){this._stream=e},Ne.RangeDecoder.prototype.releaseStream=function(){this._stream=null},Ne.RangeDecoder.prototype.init=function(){var e=5;for(this._code=0,this._range=-1;e--;)this._code=this._code<<8|this._stream.readByte()},Ne.RangeDecoder.prototype.decodeDirectBits=function(e){for(var t,i=0,n=e;n--;)this._range>>>=1,t=this._code-this._range>>>31,this._code-=this._range&t-1,i=i<<1|1-t,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return i},Ne.RangeDecoder.prototype.decodeBit=function(e,t){var i=e[t],n=(this._range>>>11)*i;return(2147483648^this._code)<(2147483648^n)?(this._range=n,e[t]+=2048-i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,e[t]-=i>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},Ne.initBitModels=function(e,t){for(;t--;)e[t]=1024},Ne.BitTreeDecoder=function(e){this._models=[],this._numBitLevels=e},Ne.BitTreeDecoder.prototype.init=function(){Ne.initBitModels(this._models,1<<this._numBitLevels)},Ne.BitTreeDecoder.prototype.decode=function(e){for(var t=1,i=this._numBitLevels;i--;)t=t<<1|e.decodeBit(this._models,t);return t-(1<<this._numBitLevels)},Ne.BitTreeDecoder.prototype.reverseDecode=function(e){for(var t,i=1,n=0,r=0;r<this._numBitLevels;++r)i=i<<1|(t=e.decodeBit(this._models,i)),n|=t<<r;return n},Ne.reverseDecode2=function(e,t,i,n){for(var r,o=1,s=0,a=0;a<n;++a)o=o<<1|(r=i.decodeBit(e,t+o)),s|=r<<a;return s},Ne.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new Ne.BitTreeDecoder(8),this._numPosStates=0},Ne.LenDecoder.prototype.create=function(e){for(;this._numPosStates<e;++this._numPosStates)this._lowCoder[this._numPosStates]=new Ne.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new Ne.BitTreeDecoder(3)},Ne.LenDecoder.prototype.init=function(){var e=this._numPosStates;for(Ne.initBitModels(this._choice,2);e--;)this._lowCoder[e].init(),this._midCoder[e].init();this._highCoder.init()},Ne.LenDecoder.prototype.decode=function(e,t){return 0===e.decodeBit(this._choice,0)?this._lowCoder[t].decode(e):0===e.decodeBit(this._choice,1)?8+this._midCoder[t].decode(e):16+this._highCoder.decode(e)},Ne.Decoder2=function(){this._decoders=[]},Ne.Decoder2.prototype.init=function(){Ne.initBitModels(this._decoders,768)},Ne.Decoder2.prototype.decodeNormal=function(e){var t=1;do{t=t<<1|e.decodeBit(this._decoders,t)}while(t<256);return 255&t},Ne.Decoder2.prototype.decodeWithMatchByte=function(e,t){var i,n,r=1;do{if(i=t>>7&1,t<<=1,r=r<<1|(n=e.decodeBit(this._decoders,(1+i<<8)+r)),i!==n){for(;r<256;)r=r<<1|e.decodeBit(this._decoders,r);break}}while(r<256);return 255&r},Ne.LiteralDecoder=function(){},Ne.LiteralDecoder.prototype.create=function(e,t){var i;if(!this._coders||this._numPrevBits!==t||this._numPosBits!==e)for(this._numPosBits=e,this._posMask=(1<<e)-1,this._numPrevBits=t,this._coders=[],i=1<<this._numPrevBits+this._numPosBits;i--;)this._coders[i]=new Ne.Decoder2},Ne.LiteralDecoder.prototype.init=function(){for(var e=1<<this._numPrevBits+this._numPosBits;e--;)this._coders[e].init()},Ne.LiteralDecoder.prototype.getDecoder=function(e,t){return this._coders[((e&this._posMask)<<this._numPrevBits)+((255&t)>>>8-this._numPrevBits)]},Ne.Decoder=function(){this._outWindow=new Ne.OutWindow,this._rangeDecoder=new Ne.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new Ne.BitTreeDecoder(4),this._lenDecoder=new Ne.LenDecoder,this._repLenDecoder=new Ne.LenDecoder,this._literalDecoder=new Ne.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new Ne.BitTreeDecoder(6),this._posSlotDecoder[1]=new Ne.BitTreeDecoder(6),this._posSlotDecoder[2]=new Ne.BitTreeDecoder(6),this._posSlotDecoder[3]=new Ne.BitTreeDecoder(6)},Ne.Decoder.prototype.setDictionarySize=function(e){return!(e<0||(this._dictionarySize!==e&&(this._dictionarySize=e,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),0))},Ne.Decoder.prototype.setLcLpPb=function(e,t,i){var n=1<<i;return!(e>8||t>4||i>4||(this._literalDecoder.create(t,e),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,0))},Ne.Decoder.prototype.init=function(){var e=4;for(this._outWindow.init(!1),Ne.initBitModels(this._isMatchDecoders,192),Ne.initBitModels(this._isRep0LongDecoders,192),Ne.initBitModels(this._isRepDecoders,12),Ne.initBitModels(this._isRepG0Decoders,12),Ne.initBitModels(this._isRepG1Decoders,12),Ne.initBitModels(this._isRepG2Decoders,12),Ne.initBitModels(this._posDecoders,114),this._literalDecoder.init();e--;)this._posSlotDecoder[e].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},Ne.Decoder.prototype.decode=function(e,t,i){var n,r,o,s,a,u,c=0,l=0,d=0,h=0,M=0,p=0,f=0;for(this._rangeDecoder.setStream(e),this._outWindow.setStream(t),this.init();i<0||p<i;)if(n=p&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(c<<4)+n))r=this._literalDecoder.getDecoder(p++,f),f=c>=7?r.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(l)):r.decodeNormal(this._rangeDecoder),this._outWindow.putByte(f),c=c<4?0:c-(c<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,c))o=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,c)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(c<<4)+n)&&(c=c<7?9:11,o=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,c)?s=d:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,c)?s=h:(s=M,M=h),h=d),d=l,l=s),0===o&&(o=2+this._repLenDecoder.decode(this._rangeDecoder,n),c=c<7?8:11);else if(M=h,h=d,d=l,o=2+this._lenDecoder.decode(this._rangeDecoder,n),c=c<7?7:10,(a=this._posSlotDecoder[o<=5?o-2:3].decode(this._rangeDecoder))>=4){if(l=(2|1&a)<<(u=(a>>1)-1),a<14)l+=Ne.reverseDecode2(this._posDecoders,l-a-1,this._rangeDecoder,u);else if(l+=this._rangeDecoder.decodeDirectBits(u-4)<<4,(l+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===l)break;return!1}}else l=a;if(l>=p||l>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(l,o),p+=o,f=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},Ne.Decoder.prototype.setDecoderProperties=function(e){var t,i,n,r,o;return!(e.size<5)&&(i=(t=e.readByte())%9,n=(t=~~(t/9))%5,r=~~(t/5),!!this.setLcLpPb(i,n,r)&&(o=e.readByte(),o|=e.readByte()<<8,o|=e.readByte()<<16,o+=16777216*e.readByte(),this.setDictionarySize(o)))},Ne.decompress=function(e,t,i,n){var r=new Ne.Decoder;if(!r.setDecoderProperties(e))throw"Incorrect stream properties";if(!r.decode(t,i,n))throw"Error in data stream";return!0},Ne.decompressFile=function(e,t){var i,n=new Ne.Decoder;if(!n.setDecoderProperties(e))throw"Incorrect stream properties";if(i=e.readByte(),i|=e.readByte()<<8,i|=e.readByte()<<16,i+=16777216*e.readByte(),e.readByte(),e.readByte(),e.readByte(),e.readByte(),!n.decode(e,t,i))throw"Error in data stream";return!0};var me="undefined"!=typeof Worker&&"undefined"!=typeof Blob,ve="";if(me)try{var De=new Blob(['\n self.onmessage = function (event) {\n var Packet = event.data;\n var Result = null;\n try {\n if (!Packet.PacketID) {\n throw new Error(\'No incoming id.\');\n }\n if (!Packet.Data) {\n throw new Error(\'No input data.\');\n }\n if (Packet.Type == \'compress\') {\n // C: checking if input is valid\n if (Packet.Data.constructor != Uint8Array) {\n throw new Error(\'Input data is not Uint8Array.\');\n }\n // C: encoding data\n Result = Util.compressFile(Packet.Data, null, Packet.Level, null);\n } else if (Packet.Type == \'decompress\') {\n // C: checking if input is valid\n if (Packet.Data.constructor != Uint8Array) {\n throw new Error(\'Input data is not Uint8Array.\');\n }\n var inStream = {\n data: Packet.Data,\n offset: 0,\n readByte () {\n return this.data[this.offset++];\n }\n };\n var partLength = inStream.data.length;\n var outStream = {\n data: [],\n offset: 0,\n writeByte (value) {\n var partIndex = Math.floor(this.offset / partLength);\n if (!this.data[partIndex]) {\n this.data[partIndex] = new Uint8Array(partLength);\n }\n this.data[partIndex][this.offset % partLength] = value;\n this.offset++;\n }\n }\n // C: decoding data\n\n LZMA.decompressFile(inStream, outStream);\n Result = new Uint8Array(outStream.offset)\n for (var i = 0; i < outStream.offset; i++) {\n Result[i] = outStream.data[Math.floor(i / partLength)][i % partLength];\n }\n }\n postMessage({ PacketID: Packet.PacketID, Result, Error: null }, [Result.buffer]);\n } catch (error) {\n postMessage({ PacketID: Packet.PacketID, Error: error.toString() });\n }\n };\n\n\n /*\n Copyright (c) 2011 Juan Mellado\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the "Software"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n /*\n References:\n - "LZMA SDK" by Igor Pavlov\n http://www.7-zip.org/sdk.html\n */\n\n var LZMA = LZMA || {};\n\n LZMA.OutWindow = function(){\n this._windowSize = 0;\n };\n\n LZMA.OutWindow.prototype.create = function(windowSize){\n if ( (!this._buffer) || (this._windowSize !== windowSize) ){\n this._buffer = [];\n }\n this._windowSize = windowSize;\n this._pos = 0;\n this._streamPos = 0;\n };\n\n LZMA.OutWindow.prototype.flush = function(){\n var size = this._pos - this._streamPos;\n if (size !== 0){\n while(size --){\n this._stream.writeByte(this._buffer[this._streamPos ++]);\n }\n if (this._pos >= this._windowSize){\n this._pos = 0;\n }\n this._streamPos = this._pos;\n }\n };\n\n LZMA.OutWindow.prototype.releaseStream = function(){\n this.flush();\n this._stream = null;\n };\n\n LZMA.OutWindow.prototype.setStream = function(stream){\n this.releaseStream();\n this._stream = stream;\n };\n\n LZMA.OutWindow.prototype.init = function(solid){\n if (!solid){\n this._streamPos = 0;\n this._pos = 0;\n }\n };\n\n LZMA.OutWindow.prototype.copyBlock = function(distance, len){\n var pos = this._pos - distance - 1;\n if (pos < 0){\n pos += this._windowSize;\n }\n while(len --){\n if (pos >= this._windowSize){\n pos = 0;\n }\n this._buffer[this._pos ++] = this._buffer[pos ++];\n if (this._pos >= this._windowSize){\n this.flush();\n }\n }\n };\n\n LZMA.OutWindow.prototype.putByte = function(b){\n this._buffer[this._pos ++] = b;\n if (this._pos >= this._windowSize){\n this.flush();\n }\n };\n\n LZMA.OutWindow.prototype.getByte = function(distance){\n var pos = this._pos - distance - 1;\n if (pos < 0){\n pos += this._windowSize;\n }\n return this._buffer[pos];\n };\n\n LZMA.RangeDecoder = function(){\n };\n\n LZMA.RangeDecoder.prototype.setStream = function(stream){\n this._stream = stream;\n };\n\n LZMA.RangeDecoder.prototype.releaseStream = function(){\n this._stream = null;\n };\n\n LZMA.RangeDecoder.prototype.init = function(){\n var i = 5;\n\n this._code = 0;\n this._range = -1;\n\n while(i --){\n this._code = (this._code << 8) | this._stream.readByte();\n }\n };\n\n LZMA.RangeDecoder.prototype.decodeDirectBits = function(numTotalBits){\n var result = 0, i = numTotalBits, t;\n\n while(i --){\n this._range >>>= 1;\n t = (this._code - this._range) >>> 31;\n this._code -= this._range & (t - 1);\n result = (result << 1) | (1 - t);\n\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n }\n\n return result;\n };\n\n LZMA.RangeDecoder.prototype.decodeBit = function(probs, index){\n var prob = probs[index],\n newBound = (this._range >>> 11) * prob;\n\n if ( (this._code ^ 0x80000000) < (newBound ^ 0x80000000) ){\n this._range = newBound;\n probs[index] += (2048 - prob) >>> 5;\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n return 0;\n }\n\n this._range -= newBound;\n this._code -= newBound;\n probs[index] -= prob >>> 5;\n if ( (this._range & 0xff000000) === 0){\n this._code = (this._code << 8) | this._stream.readByte();\n this._range <<= 8;\n }\n return 1;\n };\n\n LZMA.initBitModels = function(probs, len){\n while(len --){\n probs[len] = 1024;\n }\n };\n\n LZMA.BitTreeDecoder = function(numBitLevels){\n this._models = [];\n this._numBitLevels = numBitLevels;\n };\n\n LZMA.BitTreeDecoder.prototype.init = function(){\n LZMA.initBitModels(this._models, 1 << this._numBitLevels);\n };\n\n LZMA.BitTreeDecoder.prototype.decode = function(rangeDecoder){\n var m = 1, i = this._numBitLevels;\n\n while(i --){\n m = (m << 1) | rangeDecoder.decodeBit(this._models, m);\n }\n return m - (1 << this._numBitLevels);\n };\n\n LZMA.BitTreeDecoder.prototype.reverseDecode = function(rangeDecoder){\n var m = 1, symbol = 0, i = 0, bit;\n\n for (; i < this._numBitLevels; ++ i){\n bit = rangeDecoder.decodeBit(this._models, m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n };\n\n LZMA.reverseDecode2 = function(models, startIndex, rangeDecoder, numBitLevels){\n var m = 1, symbol = 0, i = 0, bit;\n\n for (; i < numBitLevels; ++ i){\n bit = rangeDecoder.decodeBit(models, startIndex + m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n };\n\n LZMA.LenDecoder = function(){\n this._choice = [];\n this._lowCoder = [];\n this._midCoder = [];\n this._highCoder = new LZMA.BitTreeDecoder(8);\n this._numPosStates = 0;\n };\n\n LZMA.LenDecoder.prototype.create = function(numPosStates){\n for (; this._numPosStates < numPosStates; ++ this._numPosStates){\n this._lowCoder[this._numPosStates] = new LZMA.BitTreeDecoder(3);\n this._midCoder[this._numPosStates] = new LZMA.BitTreeDecoder(3);\n }\n };\n\n LZMA.LenDecoder.prototype.init = function(){\n var i = this._numPosStates;\n LZMA.initBitModels(this._choice, 2);\n while(i --){\n this._lowCoder[i].init();\n this._midCoder[i].init();\n }\n this._highCoder.init();\n };\n\n LZMA.LenDecoder.prototype.decode = function(rangeDecoder, posState){\n if (rangeDecoder.decodeBit(this._choice, 0) === 0){\n return this._lowCoder[posState].decode(rangeDecoder);\n }\n if (rangeDecoder.decodeBit(this._choice, 1) === 0){\n return 8 + this._midCoder[posState].decode(rangeDecoder);\n }\n return 16 + this._highCoder.decode(rangeDecoder);\n };\n\n LZMA.Decoder2 = function(){\n this._decoders = [];\n };\n\n LZMA.Decoder2.prototype.init = function(){\n LZMA.initBitModels(this._decoders, 0x300);\n };\n\n LZMA.Decoder2.prototype.decodeNormal = function(rangeDecoder){\n var symbol = 1;\n\n do{\n symbol = (symbol << 1) | rangeDecoder.decodeBit(this._decoders, symbol);\n }while(symbol < 0x100);\n\n return symbol & 0xff;\n };\n\n LZMA.Decoder2.prototype.decodeWithMatchByte = function(rangeDecoder, matchByte){\n var symbol = 1, matchBit, bit;\n\n do{\n matchBit = (matchByte >> 7) & 1;\n matchByte <<= 1;\n bit = rangeDecoder.decodeBit(this._decoders, ( (1 + matchBit) << 8) + symbol);\n symbol = (symbol << 1) | bit;\n if (matchBit !== bit){\n while(symbol < 0x100){\n symbol = (symbol << 1) | rangeDecoder.decodeBit(this._decoders, symbol);\n }\n break;\n }\n }while(symbol < 0x100);\n\n return symbol & 0xff;\n };\n\n LZMA.LiteralDecoder = function(){\n };\n\n LZMA.LiteralDecoder.prototype.create = function(numPosBits, numPrevBits){\n var i;\n\n if (this._coders\n && (this._numPrevBits === numPrevBits)\n && (this._numPosBits === numPosBits) ){\n return;\n }\n this._numPosBits = numPosBits;\n this._posMask = (1 << numPosBits) - 1;\n this._numPrevBits = numPrevBits;\n\n this._coders = [];\n\n i = 1 << (this._numPrevBits + this._numPosBits);\n while(i --){\n this._coders[i] = new LZMA.Decoder2();\n }\n };\n\n LZMA.LiteralDecoder.prototype.init = function(){\n var i = 1 << (this._numPrevBits + this._numPosBits);\n while(i --){\n this._coders[i].init();\n }\n };\n\n LZMA.LiteralDecoder.prototype.getDecoder = function(pos, prevByte){\n return this._coders[( (pos & this._posMask) << this._numPrevBits)\n + ( (prevByte & 0xff) >>> (8 - this._numPrevBits) )];\n };\n\n LZMA.Decoder = function(){\n this._outWindow = new LZMA.OutWindow();\n this._rangeDecoder = new LZMA.RangeDecoder();\n this._isMatchDecoders = [];\n this._isRepDecoders = [];\n this._isRepG0Decoders = [];\n this._isRepG1Decoders = [];\n this._isRepG2Decoders = [];\n this._isRep0LongDecoders = [];\n this._posSlotDecoder = [];\n this._posDecoders = [];\n this._posAlignDecoder = new LZMA.BitTreeDecoder(4);\n this._lenDecoder = new LZMA.LenDecoder();\n this._repLenDecoder = new LZMA.LenDecoder();\n this._literalDecoder = new LZMA.LiteralDecoder();\n this._dictionarySize = -1;\n this._dictionarySizeCheck = -1;\n\n this._posSlotDecoder[0] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[1] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[2] = new LZMA.BitTreeDecoder(6);\n this._posSlotDecoder[3] = new LZMA.BitTreeDecoder(6);\n };\n\n LZMA.Decoder.prototype.setDictionarySize = function(dictionarySize){\n if (dictionarySize < 0){\n return false;\n }\n if (this._dictionarySize !== dictionarySize){\n this._dictionarySize = dictionarySize;\n this._dictionarySizeCheck = Math.max(this._dictionarySize, 1);\n this._outWindow.create( Math.max(this._dictionarySizeCheck, 4096) );\n }\n return true;\n };\n\n LZMA.Decoder.prototype.setLcLpPb = function(lc, lp, pb){\n var numPosStates = 1 << pb;\n\n if (lc > 8 || lp > 4 || pb > 4){\n return false;\n }\n\n this._literalDecoder.create(lp, lc);\n\n this._lenDecoder.create(numPosStates);\n this._repLenDecoder.create(numPosStates);\n this._posStateMask = numPosStates - 1;\n\n return true;\n };\n\n LZMA.Decoder.prototype.init = function(){\n var i = 4;\n\n this._outWindow.init(false);\n\n LZMA.initBitModels(this._isMatchDecoders, 192);\n LZMA.initBitModels(this._isRep0LongDecoders, 192);\n LZMA.initBitModels(this._isRepDecoders, 12);\n LZMA.initBitModels(this._isRepG0Decoders, 12);\n LZMA.initBitModels(this._isRepG1Decoders, 12);\n LZMA.initBitModels(this._isRepG2Decoders, 12);\n LZMA.initBitModels(this._posDecoders, 114);\n\n this._literalDecoder.init();\n\n while(i --){\n this._posSlotDecoder[i].init();\n }\n\n this._lenDecoder.init();\n this._repLenDecoder.init();\n this._posAlignDecoder.init();\n this._rangeDecoder.init();\n };\n\n LZMA.Decoder.prototype.decode = function(inStream, outStream, outSize){\n var state = 0, rep0 = 0, rep1 = 0, rep2 = 0, rep3 = 0, nowPos64 = 0, prevByte = 0,\n posState, decoder2, len, distance, posSlot, numDirectBits;\n\n this._rangeDecoder.setStream(inStream);\n this._outWindow.setStream(outStream);\n\n this.init();\n\n while(outSize < 0 || nowPos64 < outSize){\n posState = nowPos64 & this._posStateMask;\n\n if (this._rangeDecoder.decodeBit(this._isMatchDecoders, (state << 4) + posState) === 0){\n decoder2 = this._literalDecoder.getDecoder(nowPos64 ++, prevByte);\n\n if (state >= 7){\n prevByte = decoder2.decodeWithMatchByte(this._rangeDecoder, this._outWindow.getByte(rep0) );\n }else{\n prevByte = decoder2.decodeNormal(this._rangeDecoder);\n }\n this._outWindow.putByte(prevByte);\n\n state = state < 4? 0: state - (state < 10? 3: 6);\n\n }else{\n\n if (this._rangeDecoder.decodeBit(this._isRepDecoders, state) === 1){\n len = 0;\n if (this._rangeDecoder.decodeBit(this._isRepG0Decoders, state) === 0){\n if (this._rangeDecoder.decodeBit(this._isRep0LongDecoders, (state << 4) + posState) === 0){\n state = state < 7? 9: 11;\n len = 1;\n }\n }else{\n if (this._rangeDecoder.decodeBit(this._isRepG1Decoders, state) === 0){\n distance = rep1;\n }else{\n if (this._rangeDecoder.decodeBit(this._isRepG2Decoders, state) === 0){\n distance = rep2;\n }else{\n distance = rep3;\n rep3 = rep2;\n }\n rep2 = rep1;\n }\n rep1 = rep0;\n rep0 = distance;\n }\n if (len === 0){\n len = 2 + this._repLenDecoder.decode(this._rangeDecoder, posState);\n state = state < 7? 8: 11;\n }\n }else{\n rep3 = rep2;\n rep2 = rep1;\n rep1 = rep0;\n\n len = 2 + this._lenDecoder.decode(this._rangeDecoder, posState);\n state = state < 7? 7: 10;\n\n posSlot = this._posSlotDecoder[len <= 5? len - 2: 3].decode(this._rangeDecoder);\n if (posSlot >= 4){\n\n numDirectBits = (posSlot >> 1) - 1;\n rep0 = (2 | (posSlot & 1) ) << numDirectBits;\n\n if (posSlot < 14){\n rep0 += LZMA.reverseDecode2(this._posDecoders,\n rep0 - posSlot - 1, this._rangeDecoder, numDirectBits);\n }else{\n rep0 += this._rangeDecoder.decodeDirectBits(numDirectBits - 4) << 4;\n rep0 += this._posAlignDecoder.reverseDecode(this._rangeDecoder);\n if (rep0 < 0){\n if (rep0 === -1){\n break;\n }\n return false;\n }\n }\n }else{\n rep0 = posSlot;\n }\n }\n\n if (rep0 >= nowPos64 || rep0 >= this._dictionarySizeCheck){\n return false;\n }\n\n this._outWindow.copyBlock(rep0, len);\n nowPos64 += len;\n prevByte = this._outWindow.getByte(0);\n }\n }\n\n this._outWindow.flush();\n this._outWindow.releaseStream();\n this._rangeDecoder.releaseStream();\n\n return true;\n };\n\n LZMA.Decoder.prototype.setDecoderProperties = function(properties){\n var value, lc, lp, pb, dictionarySize;\n\n if (properties.size < 5){\n return false;\n }\n\n value = properties.readByte();\n lc = value % 9;\n value = ~~(value / 9);\n lp = value % 5;\n pb = ~~(value / 5);\n\n if ( !this.setLcLpPb(lc, lp, pb) ){\n return false;\n }\n\n dictionarySize = properties.readByte();\n dictionarySize |= properties.readByte() << 8;\n dictionarySize |= properties.readByte() << 16;\n dictionarySize += properties.readByte() * 16777216;\n\n return this.setDictionarySize(dictionarySize);\n };\n\n LZMA.decompress = function(properties, inStream, outStream, outSize){\n var decoder = new LZMA.Decoder();\n\n if ( !decoder.setDecoderProperties(properties) ){\n throw "Incorrect stream properties";\n }\n\n if ( !decoder.decode(inStream, outStream, outSize) ){\n throw "Error in data stream";\n }\n\n return true;\n };\n\n LZMA.decompressFile = function(inStream, outStream){\n var decoder = new LZMA.Decoder(), outSize;\n\n if ( !decoder.setDecoderProperties(inStream) ){\n throw "Incorrect stream properties";\n }\n\n outSize = inStream.readByte();\n outSize |= inStream.readByte() << 8;\n outSize |= inStream.readByte() << 16;\n outSize += inStream.readByte() * 16777216;\n\n inStream.readByte();\n inStream.readByte();\n inStream.readByte();\n inStream.readByte();\n\n if ( !decoder.decode(inStream, outStream, outSize) ){\n throw "Error in data stream";\n }\n\n return true;\n };\n'],{type:"text/javascript"});ve=URL.createObjectURL(De)}catch(e){}var Te=function(){function e(){var e=this;if(this.callCounter=0,this.requests=[],!me)throw new Error("LZMACaller cannot work in this broswer.");var t=this.worker=new Worker(ve);t.onmessage=function(t){var i,n,r=t.data,o=r.PacketID,s=r.Result,a=r.Error;a?null===(n=e.requests[o])||void 0===n||n.onCompleteCallback(new Error(a)):null===(i=e.requests[o])||void 0===i||i.onCompleteCallback(null,s),delete e.requests[o]},t.onerror=function(e){return console.error(e)}}return e.prototype.compress=function(e,t,i){var n=++this.callCounter;this.requests[n]={onCompleteCallback:i},this.worker.postMessage({Type:"compress",PacketID:n,Data:e,Level:t},[e.buffer])},e.prototype.decompress=function(e,t){var i=++this.callCounter;this.requests[i]={onCompleteCallback:t},this.worker.postMessage({Type:"decompress",PacketID:i,Data:e},[e.buffer])},e.prototype.terminate=function(){this.worker.terminate()},e.support=me,e}();function we(e){return Array.prototype.reduce.call(e,(function(e,t,i){return e|t<<8*i}),0)}function ze(e){for(var t=new Uint8Array(e),i=we(t.slice(0,4)),n=[],r=[],o=4+4*i,s=0;s<i;s++)r[s]=we(t.slice(4+4*s,8+4*s)),n[s]=s===i-1?t.subarray(o,o+r[s]):t.slice(o,o+r[s]),o+=r[s];return Te.support?function(e){for(var t=[],i=e.length,n=function(i){t.push(new Promise((function(t,n){var r=new Te;r.decompress(e[i],(function(e,i){if(r.terminate(),e)return n(e);t(i)}))})))},r=0;r<i;r++)n(r);return Promise.all(t)}(n):Promise.resolve(function(e){for(var t,i=[],n=e.length,r=function(n){var r={data:e[n],offset:0,readByte:function(){return this.data[this.offset++]}},o=r.data.length,s={data:[],offset:0,writeByte:function(e){var t=Math.floor(this.offset/o);this.data[t]||(this.data[t]=new Uint8Array(o)),this.data[t][this.offset%o]=e,this.offset++}};Ne.decompressFile(r,s),t=new Uint8Array(s.offset);for(var a=0;a<s.offset;a++)t[a]=s.data[Math.floor(a/o)][a%o];i.push(t)},o=0;o<n;o++)r(o);return i}(n))}function je(e){return 0===e.indexOf("//")||/^[0-9a-z]+\:\/\//i.test(e)}var Ie=ne.parse("\nmessage Model {\n repeated Mesh meshes = 1;\n}\nmessage Mesh {\n required string name = 1;\n repeated Chunk chunks = 2;\n repeated Matrix matrix = 3;\n}\nmessage Matrix {\n repeated float elements = 1;\n}\nmessage Chunk {\n required Geometry geometry = 2;\n repeated Material material = 3;\n}\nmessage Geometry {\n required Position position = 1;\n optional UV uv = 2;\n optional UV uv2 = 3;\n required Normal normal = 4;\n repeated Group groups = 5;\n}\nmessage Position {\n repeated float array = 1[packed=true];\n}\nmessage UV {\n repeated float array = 1[packed=true];\n}\nmessage Normal {\n repeated float array = 1[packed=true];\n}\nmessage Group {\n required uint32 start = 1;\n required uint32 count = 2;\n required uint32 materialIndex = 3;\n}\nmessage Material {\n optional Color kd = 1;\n optional Color ks = 2;\n optional Color ke = 3;\n optional string mapkd = 4;\n optional string mapks = 5;\n optional string mapke = 6;\n optional string norm = 7;\n optional string mapbump = 8;\n optional string bump = 9;\n optional string mapd = 10;\n optional float ns = 11;\n optional float d = 12;\n optional float tr = 13;\n optional string mapkdrepeat = 14;\n}\nmessage Color {\n repeated float rgb = 1;\n}\n").root.lookup("Model"),Ee={};function xe(t,i,n){var r,o=[],s=[];function a(t,r,o){var a=function(t){var i=t.position,n=t.normal,r=t.uv,o=t.uv2,s=t.groups,a=new e.BufferGeometry;return a.setAttribute("position",new e.BufferAttribute(new Float32Array(i.array),3)),n&&a.setAttribute("normal",new e.BufferAttribute(new Float32Array(n.array),3)),r&&a.setAttribute("uv",new e.BufferAttribute(new Float32Array(r.array),2)),o&&a.setAttribute("uv2",new e.BufferAttribute(new Float32Array(o.array),2)),s.forEach((function(e){return a.addGroup(e.start,e.count,e.materialIndex)})),a}(t);a.applyMatrix4(o);var u=new e.Vector3,c=new e.Quaternion,l=new e.Vector3;o.decompose(u,c,l),l.x*l.y*l.z<0&&a.attributes.normal&&a.attributes.position&&a.attributes.uv&&function(e){for(var t=[0,0,0],i=0;i<e.attributes.normal.array.length/9;i++)t[0]=e.attributes.normal.array[9*i],t[1]=e.attributes.normal.array[9*i+1],t[2]=e.attributes.normal.array[9*i+2],e.attributes.normal.array[9*i]=e.attributes.normal.array[9*i+6],e.attributes.normal.array[9*i+1]=e.attributes.normal.array[9*i+7],e.attributes.normal.array[9*i+2]=e.attributes.normal.array[9*i+8],e.attributes.normal.array[9*i+6]=t[0],e.attributes.normal.array[9*i+7]=t[1],e.attributes.normal.array[9*i+8]=t[2];for(i=0;i<e.attributes.position.array.length/9;i++)t[0]=e.attributes.position.array[9*i],t[1]=e.attributes.position.array[9*i+1],t[2]=e.attributes.position.array[9*i+2],e.attributes.position.array[9*i]=e.attributes.position.array[9*i+6],e.attributes.position.array[9*i+1]=e.attributes.position.array[9*i+7],e.attributes.position.array[9*i+2]=e.attributes.position.array[9*i+8],e.attributes.position.array[9*i+6]=t[0],e.attributes.position.array[9*i+7]=t[1],e.attributes.position.array[9*i+8]=t[2];for(i=0;i<e.attributes.uv.array.length/6;i++)t[0]=e.attributes.uv.array[6*i],t[1]=e.attributes.uv.array[6*i+1],e.attributes.uv.array[6*i]=e.attributes.uv.array[6*i+4],e.attributes.uv.array[6*i+1]=e.attributes.uv.array[6*i+5],e.attributes.uv.array[6*i+4]=t[0],e.attributes.uv.array[6*i+5]=t[1];e.attributes.normal.needsUpdate=!0,e.attributes.position.needsUpdate=!0,e.attributes.uv.needsUpdate=!0}(a);var d=r.map((function(t){var r=function(t,i,n){var r={sourceFile:null,needsUpdate:!0,wrapS:e.RepeatWrapping,wrapT:e.RepeatWrapping};function o(t,o){return Ee[t]?Promise.resolve(Ee[t]):new Promise((function(s,a){var u=new q;je(t)||(t=i+t),-1!==(t=(t=t.replace(/\/\/vrlab-image\d*.ljcdn.com\//,"//vrlab-public.ljcdn.com/")).split("?")[0]).indexOf(".png")&&(t=t.split(".png")[0]+".png"),-1!==t.indexOf(".jpg")&&(t=t.split(".jpg")[0]+".jpg"),0===t.indexOf("//")&&(t="https:"+t),t=W(t,Object.assign({key:"texture"},n,{size:64})),u.load(t,(function(i){var n=new e.Texture(i),a=n.dispose;n.dispose=function(){a.call(n),/^blob\:/.test(i.src)&&URL.revokeObjectURL(i.src)},o&&Object.assign(n.repeat,o),Object.assign(n,r,{sourceFile:t}),n.updateMatrix(),Ee[t]=n,s(n)}),h,(function(e){return a(e.error)}))}))}var s,a=[],u=new C,c=u.uniforms;if(t.hasOwnProperty("kd")&&(c.diffuse.value=(new e.Color).fromArray(t.kd.rgb)),t.hasOwnProperty("mapkd")){var l=void 0;if(t.mapkdrepeat){var d=t.mapkdrepeat.split(/\s+/).map((function(e){return Number(e)})),M=d[0],p=d[1];l=new e.Vector2(M,p)}a.push(o(t.mapkd,l).then((function(e){c.map.value=e,c.uvTransform.value=e.matrix})).catch((function(e){})))}return t.hasOwnProperty("ks")&&(c.specular.value=(new e.Color).fromArray(t.ks.rgb)),t.hasOwnProperty("mapks")&&a.push(o(t.mapks).then((function(e){c.specularMap.value=e})).catch((function(e){}))),t.hasOwnProperty("ke")&&(c.emissive.value=(new e.Color).fromArray(t.ke.rgb)),t.hasOwnProperty("mapke")&&a.push(o(t.mapke).then((function(e){c.emissiveMap.value=e})).catch((function(e){}))),t.hasOwnProperty("norm")&&a.push(o(t.norm).then((function(e){c.normalMap.value=e})).catch((function(e){}))),t.hasOwnProperty("mapbump")&&a.push(o(t.mapbump).then((function(e){c.bumpMap.value=e})).catch((function(e){}))),t.hasOwnProperty("bump")&&a.push(o(t.bump).then((function(e){c.bumpMap.value=e})).catch((function(e){}))),t.hasOwnProperty("ns")&&(c.shininess.value=t.ns),t.hasOwnProperty("d")&&(s=t.d)>=0&&s<1&&(c.originOpacity.value=s),t.hasOwnProperty("tr")&&(s=1-t.tr)>=0&&s<1&&(c.originOpacity.value=s),c.originOpacity.value<1&&(u.transparent=!0),{material:u,textureReady:Promise.all(a).then((function(){}))}}(t,i,n),o=r.material,a=r.textureReady;return s.push(a),o}));return new T(a,d)}return(r=t,Ie.decode(r)).meshes.forEach((function(t){var i=t.name,n=t.chunks,r=t.matrix;"Ceiling"!==i&&"CeilingDrop"!==i&&r.map((function(t){var r,s=new e.Matrix4;if(s.elements=t.elements,1===n.length){var u=n[0],c=u.geometry,l=u.material;r=a(c,l,s)}else r=new w,n.forEach((function(e,t){var i=a(e.geometry,e.material,s);i.name="chunk"+t,r.add(i)}));r.floorIndex=0,r.name=i,o.push(r)}))})),{objects:o,textureReady:Promise.all(s).then((function(){}))}}function Le(){Object.keys(Ee).forEach((function(e){Ee[e].dispose(),delete Ee[e]}))}var Oe="$$FIVE_EVENT$$";function be(e){return e[Oe]||(e[Oe]={}),e[Oe]}var Se=function(){function e(){}return e.prototype.hasListener=function(e){var t=be(this);return t&&t[e]&&t[e].length>0},e.prototype.on=function(e,t,i){var n=this,r=be(this);return r[e]||(r[e]=[]),r[e].push([t,i||!1]),function(){return n.off(e,t)}},e.prototype.once=function(e,t){return this.on(e,t,!0)},e.prototype.off=function(e,t){if(void 0!==e){var i=be(this);if(i[e]||(i[e]=[]),void 0!==t){for(var n=0;n<i[e].length&&i[e][n][0]!==t;n++);n<i[e].length&&i[e].splice(n,1)}else i[e].length=0}else this[Oe]||delete this[Oe]},e.prototype.emit=function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];for(var n=!1,r=be(this),o=r[e]||[],s=0,a=o.slice();s<a.length;s++){var u=a[s],c=u[0],l=u[1],d=void 0!==l&&l,h=c.apply(void 0,t);d&&this.off(e,c),!1===h&&(n=!0)}return n},e}();function Ce(t){var i;return new((i=e.Triangle).bind.apply(i,o([void 0],t.map((function(t){return new e.Vector3(t.x,t.y,t.z)})))))}var _e={at3d:function(e,t){return Promise.resolve().then((function(){return G.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return ze(e)})).then((function(e){return te((function(){for(var t=[],i=0,n=e;i<n.length;i++){var r=n[i],o=ye.decode(r);t.push.apply(t,o.chunks)}return t}))})).then((function(i){return te((function(){return ge(i,e.textureBase,e.textures,t)}))}))},pbm:function(e,t){return Promise.resolve().then((function(){return G.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return te((function(){var t=new Uint8Array(e),i=ye.decode(t);return[].concat(i.chunks)}))})).then((function(i){return te((function(){return ge(i,e.textureBase,e.textures,t)}))}))},dome:function(e,t){return Promise.resolve().then((function(){return Le()})).then((function(){return G.async(e.file,{responseType:"arraybuffer"})})).then((function(i){return xe(new Uint8Array(i),e.textureBase,t)}))},domez:function(e,t){return Promise.resolve().then((function(){return Le()})).then((function(){return G.async(e.file,{responseType:"arraybuffer"})})).then((function(e){return ze(e)})).then((function(e){var t=e.reduce((function(e,t){return e+t.length}),0),i=new Uint8Array(t),n=0;return e.forEach((function(e){i.set(e,n),n+=e.length})),i})).then((function(i){return xe(i,e.textureBase,t)}))}},ke=function(t){function i(){var i=t.call(this)||this;return i.empty=!1,i.name="model",i.loaded=!1,i.bvhs=[],i.bounding=new e.Box3,i.shownfloor=null,i}return n(i,t),i.prototype.getEdges=function(t){var i;void 0===t&&(t=30/180*Math.PI);for(var n=Math.cos(t),r=[],o=0,s=this.children;o<s.length;o++){var a=s[o];if(a instanceof T){for(var u={},c=["a","b","c"],l=re.mergeVertices(a.geometry),d=l.getAttribute("position").array,h=(null===(i=l.getIndex())||void 0===i?void 0:i.array)||[],M=[],p=[],f=0,A=d.length;f<A;f+=3)M.push(new e.Vector3(d[f],d[f+1],d[f+2]));for(f=0,A=h.length;f<A;f+=3){var y=h[f],g=h[f+1],N=h[f+2],m=(new e.Vector3).crossVectors(M[g].clone().sub(M[y]),M[N].clone().sub(M[y])).normalize();p.push({a:y,b:g,c:N,normal:m})}for(f=0,A=p.length;f<A;f++)for(var v=p[f],D=0;D<3;D++){var w=v[c[D]],z=v[c[(D+1)%3]],j=[Math.min(w,z),Math.max(w,z)];void 0===u[I=j[0]+"-"+j[1]]?u[I]={index1:j[0],index2:j[1],face1:f}:u[I].face2=f}for(var I in u){var E=u[I];if(void 0===E.face2||p[E.face1].normal.dot(p[E.face2].normal)<=n){var x=M[E.index1],L=M[E.index2];r.push(new e.Line3(x,L))}}l.dispose(),M.length=0,p.length=0}}return r},i.prototype.hasFloors=function(){var e=[];return this.traverse((function(t){t instanceof T&&(e[t.floorIndex]=!0)})),e.length},i.prototype.show=function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var n=null,r=null!==(e=t[1])&&void 0!==e?e:.1,o=0!==t.length;this.shownfloor=n=o?t[0]:null,this.traverse((function(e){e instanceof T&&e.material.forEach((function(t){null===n||n===e.floorIndex?t.opacity=1:t.opacity=r}))})),this.needsRender=!0},i.prototype.intersectRaycaster=function(t,i){var n=t.ray,r=n.origin,o=n.direction;if(d(i))if(d(this.shownfloor)){var s=this.hasFloors();i=[];for(var a=0;a<s;a++)i.push(a)}else i=[this.shownfloor];var u=[],c=[];Array.isArray(i)?c.push.apply(c,i):c.push(i);for(var l=function(i){var n=h.bvhs&&h.bvhs[i];if(n)(s=n.intersectRay(r,o,!0).map((function(t){var i=t.intersectionPoint,n=t.triangle,o=new e.Vector3(i.x,i.y,i.z);return{point:o,face:{normal:Ce(n).getNormal(new e.Vector3)},distance:r.distanceTo(o)}}))).length&&u.push.apply(u,s);else{var s,a=[];h.traverse((function(e){e instanceof T&&e.floorIndex===i&&a.push(e)})),(s=t.intersectObjects(a).map((function(e){var t=e.face?{normal:e.face.normal}:void 0;return{point:e.point,face:t,distance:e.distance}}))).length&&u.push.apply(u,s)}},h=this,M=0,p=c;M<p.length;M++)l(p[M]);return u.filter((function(e){var i=e.distance;return i<=t.far&&i>=t.near})).sort((function(e,t){return e.distance-t.distance}))},i.prototype.buildBVH=function(){var e=this,t=[];this.traverse((function(e){e instanceof T&&(t[e.floorIndex]=t[e.floorIndex]||[],t[e.floorIndex].push(e.geometry))}));var i=t.map((function(e){var t=e.reduce((function(e,t){return e+(t.index?t.index.array.length:t.attributes.position.array.length)}),0),i=new Float32Array(3*t);return e.reduce((function(e,t){for(var n=t.index?t.index.array:null,r=t.attributes.position.array,o=n?n.length:r.length/3,s=0;s<o;s++){var a=3*(e+s),u=n?3*n[s]:3*s;i[a+0]=r[u+0],i[a+1]=r[u+1],i[a+2]=r[u+2]}return e+o}),0),new F(i,5)}));return this.bvhs=[],Promise.all(i.map((function(e){return new Promise((function(t){return e.splitNode(t)}))}))).then((function(){e.bvhs=i,e.bvhs.loaded=!0,e.emit("bvhLoaded")}))},i.prototype.load=function(t,i){var n=this;if(void 0===i&&(i={}),!0===this.loaded)throw new Error("model 只能被 load 一次");var r=_e[function(e,t){void 0===t&&(t=[]);var i=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(e);if(i)for(var n=String(i[1]).trim().split("."),r=0,o=t;r<o.length;r++){var s=o[r];if(n.indexOf(s)>=0)return s}}(t.file,Object.keys(_e))||""];if(!r)throw new Error("文件类型错误");r(t,i).then((function(t){for(var i=t.objects,r=t.textureReady,o=[],s=0,a=i;s<a.length;s++)(d=a[s]).traverse((function(e){e instanceof T&&(e.geometry.computeBoundingBox(),e.geometry.computeBoundingSphere(),o.push(e.geometry.boundingBox))})),n.add(d);n.emit("geometryLoaded"),r.then((function(){return n.emit("materialLoaded")})),n.bounding=function(t){for(var i=new e.Box3,n=0,r=t;n<r.length;n++){var o=r[n];i.union(o)}return i}(o);for(var u=n.bounding.getCenter(new e.Vector3),c=0,l=i;c<l.length;c++){var d;(d=l[c]).traverse((function(e){e instanceof T&&e.material.forEach((function(e){e.uniforms.modelCenter.value=u}))}))}o.length=0,r.then((function(){n.emit("loaded"),n.loaded=!0}))})).catch((function(e){n.emit("error",e)}))},i.prototype.dispose=function(){for(this.off(),this.disposeGeometry(),this.disposeMaterial();this.children.length;)this.remove(this.children[0]);this.bvhs.length=0,delete this.bvhs.loaded},i}(w);function Ue(e){switch(e.getError()){case e.INVALID_ENUM:return new Error("webgl error: INVALID_ENUM");case e.INVALID_VALUE:return new Error("webgl error: INVALID_VALUE");case e.INVALID_OPERATION:return new Error("webgl error: INVALID_OPERATION");case e.INVALID_FRAMEBUFFER_OPERATION:return new Error("webgl error: INVALID_FRAMEBUFFER_OPERATION");case e.OUT_OF_MEMORY:return new Error("webgl error: OUT_OF_MEMORY");case e.CONTEXT_LOST_WEBGL:return new Error("webgl error: CONTEXT_LOST_WEBGL");default:return null}}Object.assign(ke.prototype,{on:Se.prototype.on,once:Se.prototype.once,off:Se.prototype.off,emit:Se.prototype.emit,hasListener:Se.prototype.hasListener});var Qe,Be=document.head||document.getElementsByTagName("head")[0],Pe={},Ye={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-Ye.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*Ye.Bounce.In(2*e):.5*Ye.Bounce.Out(2*e-1)+.5}}},Re="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},Fe=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map((function(t){return e._tweens[t]}))},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},e.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},e.prototype.update=function(e,t){void 0===e&&(e=Re()),void 0===t&&(t=!1);var i=Object.keys(this._tweens);if(0===i.length)return!1;for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var n=0;n<i.length;n++){var r=this._tweens[i[n]],o=!t;r&&!1===r.update(e,o)&&!t&&delete this._tweens[i[n]]}i=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),Ve={Linear:function(e,t){var i=e.length-1,n=i*t,r=Math.floor(n),o=Ve.Utils.Linear;return t<0?o(e[0],e[1],n):t>1?o(e[i],e[i-1],i-n):o(e[r],e[r+1>i?i:r+1],n-r)},Bezier:function(e,t){for(var i=0,n=e.length-1,r=Math.pow,o=Ve.Utils.Bernstein,s=0;s<=n;s++)i+=r(1-t,n-s)*r(t,s)*e[s]*o(n,s);return i},CatmullRom:function(e,t){var i=e.length-1,n=i*t,r=Math.floor(n),o=Ve.Utils.CatmullRom;return e[0]===e[i]?(t<0&&(r=Math.floor(n=i*(1+t))),o(e[(r-1+i)%i],e[r],e[(r+1)%i],e[(r+2)%i],n-r)):t<0?e[0]-(o(e[0],e[0],e[1],e[1],-n)-e[0]):t>1?e[i]-(o(e[i],e[i],e[i-1],e[i-1],n-i)-e[i]):o(e[r?r-1:0],e[r],e[i<r+1?i:r+1],e[i<r+2?i:r+2],n-r)},Utils:{Linear:function(e,t,i){return(t-e)*i+e},Bernstein:function(e,t){var i=Ve.Utils.Factorial;return i(e)/i(t)/i(e-t)},Factorial:(Qe=[1],function(e){var t=1;if(Qe[e])return Qe[e];for(var i=e;i>1;i--)t*=i;return Qe[e]=t,t}),CatmullRom:function(e,t,i,n,r){var o=.5*(i-e),s=.5*(n-t),a=r*r;return(2*t-2*i+o+s)*(r*a)+(-3*t+3*i-2*o-s)*a+o*r+t}}},Ge=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),He=new Fe,We=function(){function e(e,t){void 0===t&&(t=He),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ye.Linear.None,this._interpolationFunction=Ve.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Ge.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},e.prototype.duration=function(e){return this._duration=e,this},e.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==e?"string"==typeof e?Re()+parseFloat(e):e:Re(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(e,t,i,n){for(var r in i){var o=e[r],s=Array.isArray(o),a=s?"array":typeof o,u=!s&&Array.isArray(i[r]);if("undefined"!==a&&"function"!==a){if(u){var c=i[r];if(0===c.length)continue;c=c.map(this._handleRelativeValue.bind(this,o)),i[r]=[o].concat(c)}if("object"!==a&&!s||!o||u)void 0===t[r]&&(t[r]=o),s||(t[r]*=1),n[r]=u?i[r].slice().reverse():t[r]||0;else{for(var l in t[r]=s?[]:{},o)t[r][l]=o[l];n[r]=s?[]:{},this._setupProperties(o,t[r],i[r],n[r])}}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(e){return void 0===e&&(e=Re()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this)),this},e.prototype.resume=function(e){return void 0===e&&(e=Re()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},e.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},e.prototype.group=function(e){return this._group=e,this},e.prototype.delay=function(e){return this._delayTime=e,this},e.prototype.repeat=function(e){return this._initialRepeat=e,this._repeat=e,this},e.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},e.prototype.yoyo=function(e){return this._yoyo=e,this},e.prototype.easing=function(e){return this._easingFunction=e,this},e.prototype.interpolation=function(e){return this._interpolationFunction=e,this},e.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},e.prototype.onStart=function(e){return this._onStartCallback=e,this},e.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},e.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},e.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},e.prototype.onStop=function(e){return this._onStopCallback=e,this},e.prototype.update=function(e,t){if(void 0===e&&(e=Re()),void 0===t&&(t=!0),this._isPaused)return!0;var i,n,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(e>r)return!1;t&&this.start(e)}if(this._goToEnd=!1,e<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),n=(e-this._startTime)/this._duration,n=0===this._duration||n>1?1:n;var o=this._easingFunction(n);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,o),this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(i in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[i]||(this._valuesStartRepeat[i]=this._valuesStartRepeat[i]+parseFloat(this._valuesEnd[i])),this._yoyo&&this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var s=0,a=this._chainedTweens.length;s<a;s++)this._chainedTweens[s].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(e,t,i,n){for(var r in i)if(void 0!==t[r]){var o=t[r]||0,s=i[r],a=Array.isArray(e[r]),u=Array.isArray(s);!a&&u?e[r]=this._interpolationFunction(s,n):"object"==typeof s&&s?this._updateProperties(e[r],o,s,n):"number"==typeof(s=this._handleRelativeValue(o,s))&&(e[r]=o+(s-o)*n)}},e.prototype._handleRelativeValue=function(e,t){return"string"!=typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?e+parseFloat(t):parseFloat(t)},e.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],i=this._valuesEnd[e];this._valuesStartRepeat[e]="string"==typeof i?this._valuesStartRepeat[e]+parseFloat(i):this._valuesEnd[e],this._valuesEnd[e]=t},e}(),qe=Ge.nextId,Ze=He,Xe=Ze.getAll.bind(Ze),Je=Ze.removeAll.bind(Ze),Ke=Ze.add.bind(Ze),$e=Ze.remove.bind(Ze),et=Ze.update.bind(Ze),tt={Easing:Ye,Group:Fe,Interpolation:Ve,now:Re,Sequence:Ge,nextId:qe,Tween:We,VERSION:"18.6.4",getAll:Xe,removeAll:Je,add:Ke,remove:$e,update:et},it=tt.Tween,nt=tt.Easing;function rt(e,t,i,n){void 0===n&&(n=nt.Linear.None);var r=[],o=[],s=[],a=[],u=Object.assign(new it(e).to(t,i).easing(n),{completed:!1,onCancel:function(e){return r.push(e),u},destroy:function(){if(u.stop(),Object.assign(this,{_onStartCallback:null,_onUpdateCallback:null,_onCompleteCallback:null,_onStopCallback:null}),!u.completed)for(var e=0,t=r;e<t.length;e++)(0,t[e])();r.length=0,c()}});Object.assign(u,{onStart:function(e){return o.push(e),u},onUpdate:function(e){return s.push(e),u},onComplete:function(e){return a.push(e),u},_onStartCallback:function(e){for(var t=0,i=o;t<i.length;t++)(0,i[t])(e)},_onUpdateCallback:function(e,t){for(var i=0,n=s;i<n.length;i++)(0,n[i])(e,t);1===t&&0===u._repeat&&(u.completed=!0)},_onCompleteCallback:function(e){for(var t=0,i=a;t<i.length;t++)(0,i[t])(e)}}),N((function(){return u.start()}));var c=m((function(e){!1===u.update(e)&&c()}));return u}function ot(e,t){return rt({progress:0},{progress:1},e,t)}var st=2*Math.PI;function at(e){return(e%st+st)%st}var ut=Math.PI,ct=2*ut;function lt(e,t,i){return e+(t-e)*i}function dt(e,t,i){return e=at(e),lt((t=at(t))-e>ut?e+ct:e-t>ut?e-ct:e,t,i)}function ht(e,t,i){if(e===t)return t;var n=t-e;return Math.abs(n)<=i?t:e+(n>0?1:-1)*i}var Mt=function(t){function i(){var i=t.call(this)||this;return i.type="LineSegmentsGeometry",i.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),i.setAttribute("position",new e.Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),i.setAttribute("uv",new e.Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2)),i}return n(i,t),i.prototype.applyMatrix4=function(e){var t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},i.prototype.setPositions=function(t){var i;i=t instanceof Float32Array?t:Array.isArray(t)?new Float32Array(t):new Float32Array;var n=new e.InstancedInterleavedBuffer(i,6,1);return this.setAttribute("instanceStart",new e.InterleavedBufferAttribute(n,3,0)),this.setAttribute("instanceEnd",new e.InterleavedBufferAttribute(n,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},i.prototype.setColors=function(t){var i;i=t instanceof Float32Array?t:Array.isArray(t)?new Float32Array(t):new Float32Array;var n=new e.InstancedInterleavedBuffer(i,6,1);return this.setAttribute("instanceColorStart",new e.InterleavedBufferAttribute(n,3,0)),this.setAttribute("instanceColorEnd",new e.InterleavedBufferAttribute(n,3,3)),this},i.prototype.fromWireframeGeometry=function(e){return this.setPositions(e.attributes.position.array),this},i.prototype.fromEdgesGeometry=function(e){return this.setPositions(e.attributes.position.array),this},i.prototype.fromMesh=function(t){return this.fromWireframeGeometry(new e.WireframeGeometry(t.geometry)),this},i.prototype.fromLineSegments=function(t){var i=t.geometry;if(i instanceof e.Geometry){var n=(new e.BufferGeometry).fromGeometry(i);this.setPositions(n.attributes.position.array)}else i instanceof e.BufferGeometry&&this.setPositions(i.attributes.position.array);return this},i.prototype.computeBoundingBox=function(){null===this.boundingBox&&(this.boundingBox=new e.Box3);var t=this.attributes.instanceStart,i=this.attributes.instanceEnd;if(void 0!==t&&void 0!==i){var n=new e.Box3;this.boundingBox.setFromBufferAttribute(t),n.setFromBufferAttribute(i),this.boundingBox.union(n)}},i.prototype.computeBoundingSphere=function(){null===this.boundingSphere&&(this.boundingSphere=new e.Sphere),null===this.boundingBox&&this.computeBoundingBox();var t=this.attributes.instanceStart,i=this.attributes.instanceEnd;if(void 0!==t&&void 0!==i){var n=this.boundingSphere.center;this.boundingBox.getCenter(n);for(var r=0,o=new e.Vector3,s=0,a=t.count;s<a;s++)o.fromBufferAttribute(t,s),r=Math.max(r,n.distanceToSquared(o)),o.fromBufferAttribute(i,s),r=Math.max(r,n.distanceToSquared(o));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}},i.prototype.toJSON=function(){},i}(e.InstancedBufferGeometry);Object.assign(Mt.prototype,{isLineSegmentsGeometry:!0});var pt={uniforms:e.UniformsUtils.merge([e.UniformsLib.common,e.UniformsLib.fog,{linewidth:{value:1},resolution:{value:new e.Vector2(1,1)},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1},opacity:{value:1}}]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\tvarying vec2 vUv;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\tvUv = uv;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec2 ndcStart = clipStart.xy / clipStart.w;\n\t\t\tvec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd - ndcStart;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t// perpendicular to dir\n\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\n\t\t\t// undo aspect ratio adjustment\n\t\t\tdir.x /= aspect;\n\t\t\toffset.x /= aspect;\n\n\t\t\t// sign flip\n\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t// endcaps\n\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\toffset += - dir;\n\n\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\toffset += dir;\n\n\t\t\t}\n\n\t\t\t// adjust for linewidth\n\t\t\toffset *= linewidth;\n\n\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\toffset /= resolution.y;\n\n\t\t\t// select end\n\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t// back to clip space\n\t\t\toffset *= clip.w;\n\n\t\t\tclip.xy += offset;\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\tfloat a = vUv.x;\n\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t}\n\n\t\t\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <encodings_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"},ft=function(t){function i(i){var n=t.call(this,{uniforms:e.UniformsUtils.clone(pt.uniforms),vertexShader:pt.vertexShader,fragmentShader:pt.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(i),n}return n(i,t),i}(e.ShaderMaterial);Object.assign(ft.prototype,{isLineMaterial:!0});var At=function(t){function i(e,i){var n=t.call(this)||this;return n.type="LineSegments2",n.geometry=void 0!==e?e:new Mt,n.material=void 0!==i?i:new ft({color:16777215*Math.random()}),n}return n(i,t),i.prototype.computeLineDistances=function(){for(var t=this.geometry,i=t.attributes.instanceStart,n=t.attributes.instanceEnd,r=new Float32Array(2*i.count),o=new e.Vector3,s=new e.Vector3,a=0,u=0,c=i.count;a<c;a++,u+=2)o.fromBufferAttribute(i,a),s.fromBufferAttribute(n,a),r[u]=0===u?0:r[u-1],r[u+1]=r[u]+o.distanceTo(s);var l=new e.InstancedInterleavedBuffer(r,2,1);return t.setAttribute("instanceDistanceStart",new e.InterleavedBufferAttribute(l,1,0)),t.setAttribute("instanceDistanceEnd",new e.InterleavedBufferAttribute(l,1,1)),this},i.prototype.raycast=function(t,i){null===t.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var n=t.ray,r=t.camera,o=r.projectionMatrix,s=this.geometry,a=this.material,u=a.resolution,c=a.linewidth,l=s.attributes.instanceStart,d=s.attributes.instanceEnd,h=new e.Vector4,M=new e.Vector4,p=new e.Vector4,f=new e.Vector3,A=new e.Matrix4,y=new e.Line3,g=new e.Vector3;n.at(1,p),p.w=1,p.applyMatrix4(r.matrixWorldInverse),p.applyMatrix4(o),p.multiplyScalar(1/p.w),p.x*=u.x/2,p.y*=u.y/2,p.z=0,f.copy(p);var N=this.matrixWorld;A.multiplyMatrices(r.matrixWorldInverse,N);for(var m=0,v=l.count;m<v;m++){h.fromBufferAttribute(l,m),M.fromBufferAttribute(d,m),h.w=1,M.w=1,h.applyMatrix4(A),M.applyMatrix4(A),h.applyMatrix4(o),M.applyMatrix4(o),h.multiplyScalar(1/h.w),M.multiplyScalar(1/M.w);var D=h.z<-1&&M.z<-1,T=h.z>1&&M.z>1;if(!D&&!T){h.x*=u.x/2,h.y*=u.y/2,M.x*=u.x/2,M.y*=u.y/2,y.start.copy(h),y.start.z=0,y.end.copy(M),y.end.z=0;var w=y.closestPointToPointParameter(f,!0);y.at(w,g);var z=e.MathUtils.lerp(h.z,M.z,w),j=z>=-1&&z<=1,I=f.distanceTo(g)<.5*c;if(j&&I){y.start.fromBufferAttribute(l,m),y.end.fromBufferAttribute(d,m),y.start.applyMatrix4(N),y.end.applyMatrix4(N);var E=new e.Vector3,x=new e.Vector3;n.distanceSqToSegment(y.start,y.end,x,E),i.push({point:x,pointOnLine:E,distance:n.origin.distanceTo(x),object:this,faceIndex:m})}}}},i}(e.Mesh);Object.assign(At.prototype,{isLineSegments2:!0});var yt=function(e){function t(t,i){var n=e.call(this,t,i)||this;return n.type="Line2",n}return n(t,e),t}(At);Object.assign(yt.prototype,{isLine2:!0});var gt=function(t){function i(){var e=t.call(this)||this;return e.type="LineGeometry",e}return n(i,t),i.prototype.setPositions=function(e){for(var i=e.length-3,n=new Float32Array(2*i),r=0;r<i;r+=3)n[2*r]=e[r],n[2*r+1]=e[r+1],n[2*r+2]=e[r+2],n[2*r+3]=e[r+3],n[2*r+4]=e[r+4],n[2*r+5]=e[r+5];return t.prototype.setPositions.call(this,n),this},i.prototype.setColors=function(e){for(var i=e.length-3,n=new Float32Array(2*i),r=0;r<i;r+=3)n[2*r]=e[r],n[2*r+1]=e[r+1],n[2*r+2]=e[r+2],n[2*r+3]=e[r+3],n[2*r+4]=e[r+4],n[2*r+5]=e[r+5];return t.prototype.setColors.call(this,n),this},i.prototype.fromLine=function(t){var i=t.geometry;if(i instanceof e.Geometry){var n=(new e.BufferGeometry).fromGeometry(i);this.setPositions(n.attributes.position.array)}else i instanceof e.BufferGeometry&&this.setPositions(i.attributes.position.array);return this},i.prototype.copy=function(){return this},i}(Mt);Object.assign(gt.prototype,{isLineGeometry:!0});var Nt=14467195,mt=null,vt=function(t){function i(i,n){void 0===i&&(i=new e.Vector3),void 0===n&&(n=new e.Vector3);var r=t.call(this)||this;r.type="FiveLine";var o=new gt,s=new ft({color:Nt,linewidth:2,dashScale:20,dashed:!1});r.line=new yt(o,s);var a=new e.BufferGeometry,u=new e.PointsMaterial({color:Nt,size:8,map:mt||(mt=(new e.TextureLoader).load("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==")),sizeAttenuation:!1,transparent:!0});return r.points=new e.Points(a,u),r.points.renderOrder=11,r.points.frustumCulled=!1,r.setPoints(i,n),r.add(r.line,r.points),r}return n(i,t),i.prototype.setPoints=function(t,i){var n=[].concat(t.toArray(),i.toArray());this.points.geometry.setAttribute("position",new e.BufferAttribute(new Float32Array(n),3)),this.line.geometry.setPositions(n),this.line.computeLineDistances()},i.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new e.Vector3(t[0],t[1],t[2]),new e.Vector3(t[3],t[4],t[5])]},i.prototype.setMaterial=function(e){var t=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];"dashed"===i?(t.dashed=n,n?t.defines.USE_DASH="":delete t.defines.USE_DASH,t.needsUpdate=!0):t[i]=e[i]}},i.prototype.setResolution=function(e,t){this.line.material.resolution.set(e,t)},i}(e.Object3D);Object.assign(vt.prototype,{isFiveLine:!0});var Dt="Panorama";function Tt(e){return"number"==typeof e}var wt=function(e){return Number(e)};function zt(e,t,i){var n;void 0===t&&(t=wt),void 0===i&&(i=!1);for(var r,o=1/0,s=0,a=e;s<a.length;s++){var u=a[s],c=t(u);c<=o&&(r=(n=[u,c])[0],o=n[1])}return i?[r,o]:r}var jt=document.mozFullScreen?"DOMMouseScroll":"mousewheel",It=!!window.addEventListener,Et=!!window.attachEvent;function xt(t,i,n){var r=i.offsetWidth,o=i.offsetHeight,s=i.getBoundingClientRect(),a=s.top,u=s.left;return n&&(u+=r*n.left,a+=o*(1-n.bottom-n.height),r*=n.width,o*=n.height),new e.Vector2((t.x-u)/r*2-1,-(t.y-a)/o*2+1)}var Lt=navigator.userAgent.toLowerCase(),Ot=document.createElement("canvas"),bt=(function(){try{!window.WebGLRenderingContext||!Ot.getContext("webgl")&&Ot.getContext("experimental-webgl")}catch(e){return!1}}(),"undefined"!=typeof history&&"pushState"in history&&"replaceState"in history&&history,Lt.match(/android/i)||Lt.match(/webos/i)||Lt.match(/ipad|iphone|ipod/i)||Lt.match(/iemobile/i)||Lt.match(/opera mini/i)||Lt.match(/blackberry/i)||Lt.match(/windows phone/i)),St=function(e){function t(i){var n=e.call(this)||this,r=t.parseArgs(i);return n.ready=!1,n.destroyed=!1,n.ident=r.ident,n.scene=r.scene,n.camera=r.camera,n.renderer=r.renderer,n.scissor=r.scissor,n.element=r.element,n.model=r.model,n.work=r.work,n.imageOptions=r.imageOptions,n.videoTexture=r.videoTexture,n.needsRender=!0,n.preventPanGesture=!1,n.preventTapGesture=!1,n.preventPinchGesture=!1,n.currentPanoIndex=r.panoIndex,d(n.work.observers[n.currentPanoIndex])&&(n.currentPanoIndex=0),n.eventUnbinds=[r.element].concat(r.extraElements||[]).map((function(e){return n.bindEvents(e)})),N((function(){return n.initAnimation.apply(n,r.initial).then((function(){return n.ready=!0}))})),n}return n(t,e),t.parseArgs=function(e){return r({},e)},t.initAnimationEndPose=function(e){return this.parseArgs(e).camera.copyPose()},t.prototype.initAnimation=function(e,t,i){return Promise.resolve()},t.prototype.bindExtraElement=function(e){for(var t=0,i=this.eventUnbinds;t<i.length;t++)if(i[t].element===e)return;this.eventUnbinds.push(this.bindEvents(e))},t.prototype.unbindExtraElement=function(e){for(var t=null,i=-1,n=0,r=this.eventUnbinds;n<r.length;n++){var o=r[n];if(i++,o.element===e){t=o;break}}t&&(t(),this.eventUnbinds.splice(i,1))},t.prototype.resize=function(){this.needsRender=!0},t.prototype.resetModel=function(e,t){this.model=e,this.needsRender=!0},t.prototype.updateWork=function(e,t,i,n){return!1},t.prototype.render=function(){this.renderer.render(this.scene,this.camera)},t.prototype.destroy=function(){this.destroyed=!0,this.ready=!1,this.off();for(var e=0,t=this.eventUnbinds;e<t.length;e++)(0,t[e])();this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenCoordinates)},t.prototype.moveToPano=function(e,t,i){void 0===t&&(t={});var n={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()};t.moveStartCallback&&t.moveStartCallback(e,n),this.emit("moveToPano",e,i),this.currentPanoIndex=e,this.emit("panoArrived",e,{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},i),t.moveEndCallback&&t.moveEndCallback(e,n)},t.prototype.updateCamera=function(e,t,i){var n,r,o,s;void 0===e&&(e={});var a=null!==(n=e.longitude)&&void 0!==n?n:this.camera.pose.longitude,u=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,c=null!==(o=e.fov)&&void 0!==o?o:this.camera.pose.fov,l=null!==(s=e.offset)&&void 0!==s?s:this.camera.pose.offset,d=a!==this.camera.pose.longitude||u!==this.camera.pose.latitude,h=c!==this.camera.pose.fov,M=!l.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:a,latitude:u,fov:c,offset:l}),h&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),d&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),M&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(h||d||M)&&this.emit("cameraUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},t),this.needsRender=!0},t.prototype.onPanGesture=function(e){},t.prototype.onTapGesture=function(e){},t.prototype.onPinchGesture=function(e){},t.prototype.onMouseWheel=function(e){},t.prototype.onMouseMove=function(e){},t.prototype.onMouseOut=function(){},t.prototype.relativeClientPosition=function(e){return xt(e,this.element,this.scissor)},t.prototype.bindEvents=function(e){var t=this,i=function(e){var i=xt(e,t.element,t.scissor);return!(Math.abs(i.x)>1||Math.abs(i.y)>1)},n=new Hammer.Manager(e),r=function(e){return e.session.firstInput||null};n.add(new Hammer.Pan({threshold:10,pointers:0})),n.add(new Hammer.Tap({interval:410})),n.add(new Hammer.Pinch({threshold:0,pointers:2}).recognizeWith(n.get("pan"))),n.on("panstart pan",(function(e){var o=r(n);o&&!i(o.center)||!0!==t.preventPanGesture&&t.onPanGesture(e)})),n.on("tap",(function(e){var o=r(n);o&&!i(o.center)||!0!==t.preventTapGesture&&t.onTapGesture(e)})),n.on("pinchstart pinch pinchend",(function(e){var o=r(n);o&&!i(o.center)||!0!==t.preventPinchGesture&&t.onPinchGesture(e)}));var o=function(e){var n={x:e.clientX,y:e.clientY};i(n)&&t.onMouseWheel(e)},s=function(e){var n={x:e.clientX,y:e.clientY};i(n)?t.onMouseMove(e):t.onMouseOut()},a=function(){t.onMouseOut()};return function(e,t){var i=function(e,t){return t.__mouseWheelWrapper=function(i){if(i=i||window.event,It&&i.preventDefault(),Et&&(i.returnValue=!1),"DOMMouseScroll"==jt||"mousewheel"==jt){var n=i.wheelDelta;i.delta=n?n/120:-(i.delta||0)/3}t.call(e,i)}}(e,t);It?e.addEventListener(jt,i,!1):Et&&e.attachEvent("on"+jt,i)}(e,o),bt||(Hammer.on(e,"mousemove",s),Hammer.on(e,"mouseout",a)),Object.assign((function(){n.destroy(),function(e,t){t.__mouseWheelWrapper&&(It?e.removeEventListener(jt,t.__mouseWheelWrapper,!1):Et&&e.detachEvent("on"+jt,t.__mouseWheelWrapper),delete t.__mouseWheelWrapper)}(e,o),bt||(Hammer.off(e,"mousemove",s),Hammer.off(e,"mouseout",a))}),{element:e})},t}(Se),Ct=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).defaultLongitude=r.defaultLongitude,n.defaultLatitude=r.defaultLatitude,n.defaultFov=r.defaultFov,n.maxFov=r.maxFov,n.minFov=r.minFov,n.maxLatitude=r.maxLatitude,n.minLatitude=r.minLatitude,n}return n(i,t),i.parseArgs=function(e){var i,n,o,s,a,u,c,l=t.parseArgs.call(this,e);return r(r({},l),{defaultLongitude:null!==(i=e.defaultLongitude)&&void 0!==i?i:Math.PI/4,defaultLatitude:null!==(n=e.defaultLatitude)&&void 0!==n?n:Math.PI/4,defaultFov:null!==(o=e.defaultFov)&&void 0!==o?o:80,maxFov:null!==(s=e.maxFov)&&void 0!==s?s:120,minFov:null!==(a=e.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=e.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=e.minLatitude)&&void 0!==c?c:-Math.PI/2})},i.initAnimationEndPose=function(e){var t,n,r,o=this.parseArgs(e),s=e.initial[0],a=null!==(t=s.longitude)&&void 0!==t?t:o.defaultLongitude,u=Math.max(o.minLatitude,Math.min(o.maxLatitude,null!==(n=s.latitude)&&void 0!==n?n:o.defaultLatitude)),c=null!==(r=s.fov)&&void 0!==r?r:o.defaultFov,l=i.prototype.cameraDistance.call(o);return{longitude:a,latitude:u,fov:c,offset:i.prototype.calculateCameraPosition.call(o,{longitude:u,latitude:u},l,null,!1).clone()}},i.prototype.destroy=function(){t.prototype.destroy.call(this)},i.prototype.updateWork=function(e,t,i,n){return this.work=e,this.currentPanoIndex=t.panoIndex,!0},i.prototype.resetModel=function(e,i){t.prototype.resetModel.call(this,e,i),this.updateCamera({longitude:this.defaultLongitude,latitude:this.defaultLatitude,fov:this.defaultFov},i,!1)},i.prototype.initAnimation=function(t,i,n){var r,o,s,a,u,c,l=this;if(this.destroyed)return Promise.resolve();var d=this.camera,h=this.model;this.preventPanGesture=!0,this.preventTapGesture=!0,this.preventPinchGesture=!0;var M=d.pose.longitude,p=d.pose.latitude,f=d.pose.fov,A=d.pose.offset.clone(),y=(null===(r=h.getMaterial())||void 0===r?void 0:r.modelAlpha)||0,g=null!==(s=null===(o=this.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==s?s:0,N=null!==(a=t.longitude)&&void 0!==a?a:this.defaultLongitude,m=Math.max(this.minLatitude,Math.min(this.maxLatitude,null!==(u=t.latitude)&&void 0!==u?u:this.defaultLatitude)),v=null!==(c=t.fov)&&void 0!==c?c:this.defaultFov,D=h.bounding.getCenter(new e.Vector3),T=this.cameraDistance(),w=this.calculateCameraPosition({longitude:m,latitude:m},T,null,!1),z={longitude:N,latitude:m,fov:v,offset:w.clone()};return this.emit("initAnimationWillStart",this.currentPanoIndex,z,n),new Promise((function(t){l.tweenCoordinates&&(l.tweenCoordinates.destroy(),delete l.tweenCoordinates);var r=function(e){var t=e.progress,i=dt(M,N,t),r=lt(p,m,t),o=lt(f,v,t);l.updateCamera({longitude:i,latitude:r,fov:o,offset:l.camera.pose.offset},n,!1)},o=function(){r({progress:1}),l.tweenCoordinates&&(l.tweenCoordinates.destroy(),delete l.tweenCoordinates)};i>0?l.tweenCoordinates=ot(i,nt.Quadratic.InOut).onUpdate(r).onComplete(o):o(),l.tweenPosition&&(l.tweenPosition.destroy(),delete l.tweenPosition);var s=function(t){var i=t.progress,r=lt(0,T,i),o=new e.Vector3(lt(A.x-D.x,0,i),lt(A.y-D.y,0,i),lt(A.z-D.z,0,i)),s=lt(y,1,i),a=lt(g,0,i);h.setMaterial({modelAlpha:s,perspToOrtho:a});var u=l.calculateCameraPosition(l.camera.pose,r,o,!1);l.updateCamera({offset:u},n,!1)};o=function(){s({progress:1}),l.updateCamera(l.camera.copyPose(),n,!1),l.tweenPosition&&(l.tweenPosition.destroy(),delete l.tweenPosition),l.needsRender=!0,l.preventPanGesture=!1,l.preventTapGesture=!1,l.preventPinchGesture=!1,t(),l.emit("initAnimationEnded",l.currentPanoIndex,l.camera.copyPose(),n)},i>0?l.tweenPosition=ot(i,nt.Quadratic.InOut).onUpdate(s).onComplete(o).onCancel((function(){l.preventPanGesture=!1,l.preventTapGesture=!1,l.preventPinchGesture=!1,t(),l.emit("initAnimationEnded",l.currentPanoIndex,l.camera.copyPose(),n)})):o()}))},i.prototype.cameraDistance=function(){var e=this.model.bounding,t=this.camera.aspect,i=Math.pow(Math.pow(e.max.x-e.min.x+2,2)+Math.pow(e.max.y-e.min.y+2,2)+Math.pow(e.max.z-e.min.z+2,2),.5),n=i/2/Math.tan(Math.PI*this.defaultFov/360);return t<1&&(n/=t),isNaN(n)?i:n},i.prototype.calculateCameraPosition=function(t,i,n,r){var o=t.longitude,s=Math.max(-Math.PI/2+.01,Math.min(Math.PI/2-.01,t.latitude));r&&(s=Math.max(this.minLatitude,Math.min(this.maxLatitude,s)));var a=this.model.bounding.getCenter(new e.Vector3),u=i*Math.cos(s),c=new e.Vector3(Math.sin(o)*u+a.x,Math.sin(s)*i+a.y,Math.cos(o)*u+a.z);return null!==n&&c.add(n),c},i.prototype.updateCamera=function(e,t,i){var n,r,o;void 0===e&&(e={});var s=this,a=s.minFov,u=s.maxFov,c=s.maxLatitude,l=s.minLatitude,d=null!==(n=e.longitude)&&void 0!==n?n:this.camera.pose.longitude,h=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,M=void 0===e.fov||this.emit("wantsChangeCameraFov",e.fov)?this.camera.pose.fov:e.fov,p=null!==(o=e.offset)&&void 0!==o?o:this.calculateCameraPosition({longitude:d,latitude:h},this.cameraDistance(),null,i);i&&(h=Math.max(l,Math.min(c,h)),M=Math.max(a,Math.min(u,M)));var f=d!==this.camera.pose.longitude||h!==this.camera.pose.latitude,A=M!==this.camera.pose.fov,y=!p.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:d,latitude:h,fov:M,offset:p}),A&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),f&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),y&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(A||f||y)&&this.emit("cameraUpdate",this.camera.copyPose(),t),this.needsRender=!0,ee()},i.prototype.getForwardPanoIndexOrNot=function(e){var t=this.work.observers.filter((function(e){return e.active})),i=this.model.intersectRaycaster(e)[0];if(!i)return null;var n=zt(t,(function(e){return e.standingPosition.distanceTo(i.point)}),!0),r=n[0];return n[1]<5?this.work.observers.indexOf(r):null},i.prototype.coordinatesChangeWithOffset=function(e,t){var i=this.element,n=this.camera,r=i.offsetWidth,o=i.offsetHeight,s=2*t.x/r*n.fov/30,a=2*t.y/o*n.fov/30;return{longitude:at(e.longitude+s),latitude:Math.max(this.minLatitude,Math.min(this.maxLatitude,e.latitude+a))}},i.prototype.requestInteriaMovement=function(e,t){var i=this;if(!1!==this.interiaMovement){var n=this.coordinatesChangeWithOffset(this.camera.pose,e),r=n.longitude,o=n.latitude;this.updateCamera({longitude:r,latitude:o},t,!0);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",this.camera.copyPose(),!s),s&&N((function(){i.requestInteriaMovement({x:.8*e.x,y:.8*e.y},t)}))}},i.prototype.onPanGesture=function(e){var t=this;if(!this.tweenCoordinates){this.interiaMovement=!1;var i=this.lastPanPoint&&this.lastPanPoint.pointerLength===e.pointers.length?{x:e.center.x-this.lastPanPoint.x,y:e.center.y-this.lastPanPoint.y}:{x:0,y:0},n=this.relativeClientPosition(e.center),r=this.camera.pose.latitude<Math.PI/6||n.y<0?-1:1,o=this.coordinatesChangeWithOffset(this.camera.pose,{x:i.x*r,y:i.y}),s=o.longitude,a=o.latitude,u=this.calculateCameraPosition({longitude:s,latitude:a},this.cameraDistance(),null,!0),c=e.pointers.map((function(e){return{x:e.x,y:e.y}}));this.emit("wantsGesture","pan",c,e.isFinal)||this.emit("wantsPanGesture",{longitude:s,latitude:a,fov:this.camera.pose.fov,offset:u.clone()},e.isFinal)||(this.updateCamera({longitude:s,latitude:a,offset:u},!0,!0),this.emit("gesture","pan",c,e.isFinal),this.emit("panGesture",this.camera.copyPose(),e.isFinal),this.lastPanPoint=e.isFinal?void 0:{pointerLength:e.pointers.length,x:e.center.x,y:e.center.y},e.isFinal&&(this.emit("wantsInteriaPan",this.camera.copyPose())||(this.interiaMovement=!0,D((function(i){var n=e.velocityX*i*r,o=e.velocityY*i,s=Math.sqrt(n*n+o*o);s>100&&(n=n/s*100,o=o/s*100),t.requestInteriaMovement({x:n,y:o},!0)})))))}},i.prototype.onTapGesture=function(t){if(this.interiaMovement=!1,!this.tweenPosition){var i=this.relativeClientPosition(t.center),n=new e.Raycaster;n.setFromCamera(i,this.camera);var r,o=t.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!this.emit("wantsGesture","tap",o,!0)&&!this.emit("wantsTapGesture",n,i))this.emit("gesture","tap",o,!0),this.emit("tapGesture",n,i),d(r=this.getForwardPanoIndexOrNot(n))||(this.emit("panoSelected",r),this.emit("wantsMoveToPano",r,{longitude:this.camera.pose.longitude,latitude:0},!0))}},i.prototype.onPinchGesture=function(e){this.interiaMovement=!1;var t=this.camera,i=this.lastPinchPoint;if("pinchstart"===e.type)return delete this.lastPanPoint,void(this.lastPinchPoint=t.fov);"pinchend"===e.type&&(delete this.lastPanPoint,delete this.lastPinchPoint);var n="pinchend"===e.type;if(i){var r=i/e.scale,o=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",o,n)||this.emit("wantsPinchGesture",e.scale,r,n))return;this.updateCamera({fov:r},!0,!0),this.emit("gesture","pinch",o,n),this.emit("pinchGesture",e.scale,r,n)}},i.prototype.onMouseWheel=function(e){var t=this;this.interiaMovement=!1;var i=e.delta,n=this.minFov,r=this.maxFov,o=Math.max(n,Math.min(r,this.camera.fov-i)),s=[{x:e.clientX,y:e.clientY}];this.emit("wantsGesture","mouseWheel",s,!1)||this.emit("wantsMouseWheel",i,o,!1)||(this.updateCamera({fov:o},!0,!0),this.emit("gesture","mouseWheel",s,!1),this.emit("mouseWheel",i,o,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",s,!0)||t.emit("wantsMouseWheel",i,o,!0)||(t.emit("gesture","mouseWheel",s,!0),t.emit("mouseWheel",0,o,!0))}),200))},i}(St),_t=function(t){function i(e){var n=i.parseArgs(e);return t.call(this,n)||this}return n(i,t),i.parseArgs=function(e){var i=[r(r({},e.initial[0]),{longitude:0,latitude:Math.PI/2}),e.initial[1],e.initial[2]],n=r(r({},e),{initial:i,maxLatitude:Math.PI/2,minLatitude:Math.PI/2,defaultLongitude:0,defaultLatitude:Math.PI/2});return t.parseArgs.call(this,n)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.initAnimation=function(e,i,n){var r=this;return t.prototype.initAnimation.call(this,e,i,n).then((function(){var e,t;if(!r.destroyed){var n=null!==(t=null===(e=r.model.getMaterial())||void 0===e?void 0:e.perspToOrtho)&&void 0!==t?t:0;if(0===i)r.model.setMaterial({perspToOrtho:1}),r.needsRender=!0;else var o=ot(250,nt.Linear.None).onUpdate((function(e){var t=e.progress;r.destroyed||(r.model.setMaterial({perspToOrtho:lt(n,1,t)}),r.needsRender=!0)})).onComplete((function(){return o.destroy()}))}}))},i.prototype.resetModel=function(e,t){this.model=e,this.needsRender=!0;var i=this.calculateCameraPosition({longitude:this.defaultLongitude,latitude:this.defaultLatitude},this.cameraDistance(),null,!1);this.updateCamera({offset:i},t,!1)},i.prototype.getZoomOffsetFromFov=function(t,i,n){var r=new e.Vector3(0,-1,0),o=Math.tan(n/2*Math.PI/180),s=Math.tan(i.fov/2*Math.PI/180),a=(s-o)/s,u=new e.Raycaster;u.setFromCamera(t,i);var c=u.ray.direction,l=c.angleTo(r),d=this.cameraDistance(),h=d*Math.tan(l),M=c.clone().setLength(d*Math.cos(l)).projectOnPlane(r),p=M.length(),f=a/p*M.x*h,A=a/p*M.z*h;return new e.Vector3(f,0,A)},i.prototype.onPanGesture=function(t){if(!this.tweenCoordinates){var i=this.element,n=this.camera,r=n.fov,o=n.matrix,s=n.up,a=i.offsetHeight,u=this.lastPanPoint&&this.lastPanPoint.pointerLength===t.pointers.length?{x:t.center.x-this.lastPanPoint.x,y:t.center.y-this.lastPanPoint.y}:{x:0,y:0},c=this.camera.pose.offset.clone(),l=n.position.y*Math.tan(r/2*Math.PI/180);c.add(function(t,i){var n=new e.Vector3;return n.setFromMatrixColumn(i,0),n.multiplyScalar(-t),n}(2*u.x*l/a,o)),c.add(function(t,i,n){var r=new e.Vector3;return r.setFromMatrixColumn(n,0),r.crossVectors(i,r),r.multiplyScalar(t),r}(2*u.y*l/a,s,o));var d=this.model.bounding,h=d.getCenter(new e.Vector3),M=(d.max.x-d.min.x)/this.defaultFov*n.fov,p=(d.max.y,d.min.y,this.defaultFov,n.fov,(d.max.z-d.min.z)/this.defaultFov*n.fov);c.x=Math.max(h.x-M,Math.min(h.x+M,c.x)),c.z=Math.max(h.z-p,Math.min(h.z+p,c.z));var f=t.pointers.map((function(e){return{x:e.x,y:e.y}}));this.emit("wantsGesture","pan",f,t.isFinal)||this.emit("wantsPanGesture",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:c},t.isFinal)||(this.updateCamera({offset:c},!0,!0),this.emit("gesture","pan",f,t.isFinal),this.emit("panGesture",this.camera.copyPose(),t.isFinal),this.lastPanPoint=t.isFinal?void 0:{pointerLength:t.pointers.length,x:t.center.x,y:t.center.y})}},i.prototype.onMouseWheel=function(e){var t=this,i=e.delta,n=e.clientX,r=e.clientY,o=this.camera,s=this.minFov,a=this.maxFov,u=Math.max(s,Math.min(a,this.camera.fov-i)),c=[{x:e.clientX,y:e.clientY}];if(!this.emit("wantsGesture","mouseWheel",c,!1)&&!this.emit("wantsMouseWheel",i,u,!1)){var l=this.relativeClientPosition({x:n,y:r}),d=this.getZoomOffsetFromFov(l,o,u),h=this.camera.pose.offset.clone().add(d);this.updateCamera({offset:h,fov:u},!0,!0),this.emit("gesture","mouseWheel",c,!1),this.emit("mouseWheel",i,u,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",c,!0)||t.emit("wantsMouseWheel",i,u,!0)||(t.emit("gesture","mouseWheel",c,!0),t.emit("mouseWheel",0,u,!0))}),200)}},i.prototype.onPinchGesture=function(e){var t=this.camera,i=this.lastPinchPoint,n=e.scale,r=e.type,o=e.center,s=this.minFov,a=this.maxFov;if("pinchstart"===r)return delete this.lastPanPoint,void(this.lastPinchPoint=t.fov);"pinchend"===r&&(delete this.lastPanPoint,delete this.lastPinchPoint);var u="pinchend"===r;if(i){var c=i/n,l=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",l,u)||this.emit("wantsPinchGesture",n,c,u))return;c=Math.max(s,Math.min(a,c));var d=this.relativeClientPosition(o),h=this.getZoomOffsetFromFov(d,t,c),M=this.camera.pose.offset.clone().add(h);this.updateCamera({longitude:0,latitude:Math.PI/2,offset:M,fov:c},!0,!0),this.emit("gesture","pinch",l,u),this.emit("pinchGesture",n,c,u)}},i.prototype.__requestInteriaMovement=function(){},i}(Ct),kt=__webpack_require__(4717),Ut=[];function Qt(e){return e.onload=e.onerror=h,e.crossOrigin="",/^blob\:/.test(e.src)&&URL.revokeObjectURL(e.src),e.removeAttribute("src"),e}function Bt(t){t instanceof e.Texture?t.dispose():(Qt(t),0===Ut.indexOf(t)&&Ut.push(t))}function Pt(e,t,i,n,r){if(void 0===e&&(e=""),void 0===t&&(t=h),void 0===i&&(i=h),void 0===n&&(n=h),void 0===r&&(r=h),/\.basis(\?|$)/.test(e)){var o=!1,s=!1;return le.load(e,(function(e){t(e),n(1),!0===s&&e.dispose(),o=!0}),(function(e){n(e.loaded/e.total)}),(function(e){i(e.error),o=!0})),{abort:function(){o||r(),s=!0}}}var a=!1;return G(e,{responseType:"blob"},(function(e,r){if(!a){if(e)return i(e),void(a=!0);var o=URL.createObjectURL(r),s=Qt(Ut.shift()||E());s.onload=function(){s.onload=s.onerror=h,a?Bt(s):(N((function(){return t(s)})),n(1),a=!0)},s.onerror=function(){s.onload=s.onerror=h,a||(i(new Error("image load error.")),a=!0),Bt(s)},s.src=o}}),n,(function(){a||(a=!1,r())}))}var Yt=["right","left","up","down","front","back"],Rt=function(t){function i(e){var i=t.call(this)||this;return i.images=[null,null,null,null,null,null],i.xhr=[null,null,null,null,null,null],i.aborted=!1,i.renderer=e,i}return n(i,t),i.prototype.load=function(e,t){var i=this,n=kt.u(e),r=h,o=h,s=h,a=h;"function"==typeof t?(r=t.bind(this,null),s=t.bind(this),a=t.bind(this)):(t.onLoad&&(r=t.onLoad),t.onProgress&&(o=t.onProgress),t.onError&&(s=t.onError),t.onAbort&&(a=t.onAbort)),this.abort(),this.disposeImages(),this.aborted=!1;for(var u=[0,0,0,0,0,0],c=function(t,n){u[n]=t,t=u.reduce((function(e,t){return e+t}),0)/u.length,o(t),i.emit("progress",t,e)},l=function(t){var o=function(e,t){var i=t.index,n=void 0===i?0:i,r=t.images,o=void 0===r?{}:r,s=t.imageOptions,a=void 0===s?{}:s,u=o[e],c=["cube",n,e].join("."),l=le.isInitialized();return W(u,Object.assign({key:c,basisLoaderInitialized:l},a))}(Yt[t],e);d.xhr[t]=Pt(o,(function(o){return function(t,o){c(1,o),i.images[o]=t,i.xhr[o]=null;for(var s=0,a=i.images;s<a.length;s++)if(!a[s])return;var u=i.toCubeTexture();u.hash=n,r(u),i.emit("load",u,e)}(o,t)}),(function(n){return function(t,n){i.aborted||(s(t),i.emit("error",t,e),i.xhr[n]=null,i.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null})),i.disposeImages())}(n,t)}),(function(e){return c(e,t)}),(function(){i.aborted||(i.aborted=!0,i.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null})),i.disposeImages(),a(new Error("image aborted")),i.emit("abort",e))}))},d=this,M=0;M<this.images.length;M++)l(M);this.emit("start",e)},i.prototype.abort=function(){this.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null}))},i.prototype.disposeImages=function(){for(var e=0;e<this.images.length;e++)if(this.images[e]){var t=this.images[e];t&&Bt(t),this.images[e]=null}},i.prototype.toCubeTexture=function(){var t=new I;t.generateMipmaps=!0;var i=t.dispose;return this.images[0]instanceof e.Texture?(t.format=this.images[0].format,t.encoding=this.images[0].encoding,t.minFilter=this.images[0].minFilter,t.magFilter=this.images[0].magFilter,t.isCompressedTexture=!0):t.minFilter=e.LinearFilter,this.images.forEach((function(e,i,n){t.images[i]=e,n[i]=null})),t.needsUpdate=!0,t.dispose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.images.forEach((function(e){e&&Bt(e)})),this.images=[],i.call.apply(i,o([this],e))},t},i}(Se),Ft=function(t){function i(i,n){var r=t.call(this)||this;r.disposed=!1,r.size=i.clone(),r.image=new ImageData(new Uint8ClampedArray([0,0,0,0]),1,1),r.generateMipmaps=!0,r.unpackAlignment=1,r.needsUpdate=!0,r.wrapS=e.ClampToEdgeWrapping,r.wrapT=e.ClampToEdgeWrapping,r.minFilter=e.NearestFilter,r.magFilter=e.NearestFilter,r.renderer=n;var o=r.gl=n.getContext(),s=r.utils=e.WebGLUtils(o,n.extensions,n.capabilities);n.initTexture(r);var a=n.properties.get(r),u=o.getParameter(o.TEXTURE_BINDING_2D);return o.bindTexture(o.TEXTURE_2D,a.__webglTexture),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1),o.texImage2D(o.TEXTURE_2D,0,s.convert(r.format),i.x,i.y,0,s.convert(r.format),s.convert(r.type),null),o.bindTexture(o.TEXTURE_2D,u),r.update(r.image,new e.Vector2),r}return n(i,t),i.prototype.update=function(e,t){if(!this.disposed){var i=this,n=(i.size,i.gl),r=i.utils,o=i.renderer.properties.get(this);if(!o.__webglTexture)throw new Error("UpdatableTexture never initialized");var s=n.getParameter(n.TEXTURE_BINDING_2D);n.bindTexture(n.TEXTURE_2D,o.__webglTexture),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.texSubImage2D(n.TEXTURE_2D,0,t.x,t.y,r.convert(this.format),r.convert(this.type),e),n.generateMipmap(n.TEXTURE_2D),n.bindTexture(n.TEXTURE_2D,s)}},i.prototype.dispose=function(){this.disposed=!0,t.prototype.dispose.call(this)},i}(e.Texture),Vt=2048,Gt=new q,Ht=E();Ht.crossOrigin="";var Wt=Promise.resolve(),qt=function(t){function i(i){var n=t.call(this)||this;n.texutre=new Ft(new e.Vector2(Vt,Vt),i),n.mappings=[];for(var r,o=A(),s=0;s<16;s++){var a=(r=s,4,[Math.floor(r%4),Math.floor(r/4)]),u=a[0],c=a[1];n.mappings[s]={idle:!0,loaded:!0,resource:"",timestamp:o,clip:new e.Vector4(0,0,0,0),drawAt:new e.Vector4(u/4,c/4,1/4,1/4)}}return n}return n(i,t),i.prototype.requestResource=function(t){var i=this;Wt=Wt.then((function(){return new Promise((function(n){var r=function(){/^blob\:/.test(Ht.src)&&URL.revokeObjectURL(Ht.src),Ht.removeAttribute("src"),n()};Gt.loadToImage(Ht,t,(function(){if(512!==Ht.width||512!==Ht.height)i.emit("error",new Error("tile image size must be 512 x 512."));else{var n=i.getMaddpingByResource(t);if(n&&!0!==n.loaded){n.loaded=!0;var o=new e.Vector2(n.drawAt.x*Vt,n.drawAt.y*Vt);i.texutre.update(Ht,o),i.emit("update",i.getVisibleMappings())}}r()}),(function(){}),r)}))}))},i.prototype.getMaddpingByResource=function(e){return this.mappings.filter((function(t){return e===t.resource}))[0]},i.prototype.getIdleMapping=function(){return this.mappings.filter((function(e){return e.idle})).sort((function(e,t){return e.timestamp-t.timestamp}))[0]},i.prototype.getHash=function(){return kt.u(this.getVisibleMappings().map((function(e){return e.map((function(e){return e.toArray()}))})))},i.prototype.cleanTiles=function(){for(var e=this.getHash(),t=0,i=this.mappings;t<i.length;t++)i[t].idle=!0;e!==this.getHash&&this.emit("update",this.getVisibleMappings())},i.prototype.loadTiles=function(e){var t=this.getHash(),i=Math.pow(4,2),n=A();e.length>i&&((e=e.slice()).length=i);for(var r=0,o=this.mappings;r<o.length;r++)(M=o[r]).idle=!0;for(var s=[],a=0,u=e;a<u.length;a++){var c=W((h=u[a]).resource);(M=this.getMaddpingByResource(c))?(M.idle=!1,M.timestamp=n):s.push(h)}for(var l=0,d=s;l<d.length;l++){var h,M;c=W((h=d[l]).resource),(M=this.getIdleMapping()).idle=!1,M.resource=c,M.clip=h.clip,M.loaded=!1,M.timestamp=n,this.requestResource(c)}t!==this.getHash&&this.emit("update",this.getVisibleMappings())},i.prototype.getVisibleMappings=function(){return this.mappings.map((function(t){var i=!1===t.idle&&!0===t.loaded?t.drawAt.clone():new e.Vector4(0,0,0,0);return[t.clip.clone(),i.clone()]}))},i.prototype.dispose=function(){this.emit("dispose"),this.mappings.length=0,this.texutre.dispose()},i}(Se),Zt=function(t){function i(){var i=t.call(this)||this,n=new e.RingBufferGeometry(.04,.08,32),r=new e.MeshBasicMaterial({color:1245179,opacity:.8,side:e.DoubleSide,transparent:!0});return i.ringMesh=new e.Mesh(n,r),i.ringMesh.renderOrder=10,i.add(i.ringMesh),i}return n(i,t),i.prototype.dispose=function(){this.remove(this.ringMesh),this.ringMesh.geometry.dispose(),Array.isArray(this.ringMesh.material)?this.ringMesh.material.forEach((function(e){return e.dispose()})):this.ringMesh.material.dispose()},i}(e.Object3D);function Xt(){return new Zt}var Jt=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).defaultLongitude=r.defaultLongitude,n.defaultLatitude=r.defaultLongitude,n.defaultFov=r.defaultFov,n.maxFov=r.maxFov,n.minFov=r.minFov,n.maxLatitude=r.maxLatitude,n.minLatitude=r.minLatitude,n.moveSpeed=r.moveSpeed,n.intersectMeshCreator=r.intersectMeshCreator,n.interiaMovement=!1,n.intersectMesh=n.intersectMeshCreator(),n.intersectMesh.name="intersect",n.intersectMesh.visible=!1,n.scene.add(n.intersectMesh),n}return n(i,t),i.parseArgs=function(e){var i,n,o,s,a,u,c,l,d,h=t.parseArgs.call(this,e);return r(r({},h),{defaultLongitude:null!==(i=e.defaultLongitude)&&void 0!==i?i:0,defaultLatitude:null!==(n=e.defaultLongitude)&&void 0!==n?n:0,defaultFov:null!==(o=e.defaultFov)&&void 0!==o?o:80,maxFov:null!==(s=e.maxFov)&&void 0!==s?s:120,minFov:null!==(a=e.minFov)&&void 0!==a?a:40,maxLatitude:null!==(u=e.maxLatitude)&&void 0!==u?u:+Math.PI/2,minLatitude:null!==(c=e.minLatitude)&&void 0!==c?c:-Math.PI/2,moveSpeed:null!==(l=e.moveSpeed)&&void 0!==l?l:3.2,intersectMeshCreator:null!==(d=e.intersectMeshCreator)&&void 0!==d?d:Xt})},i.initAnimationEndPose=function(e){var t,i,n,r=this.parseArgs(e),o=e.initial[0];return{longitude:null!==(t=o.longitude)&&void 0!==t?t:r.defaultLongitude,latitude:null!==(i=o.latitude)&&void 0!==i?i:r.defaultLatitude,fov:null!==(n=o.fov)&&void 0!==n?n:r.defaultFov,offset:r.work.observers[r.panoIndex].position.clone()}},i.prototype.destroy=function(){t.prototype.destroy.call(this),this.interiaMovement=!1,this.hideIntersectMesh(),this.intersectMesh&&(this.scene.remove(this.intersectMesh),this.intersectMesh.dispose())},i.prototype.updateCamera=function(e,t,i){var n,r,o;void 0===e&&(e={});var s=this,a=s.minFov,u=s.maxFov,c=s.maxLatitude,l=s.minLatitude,d=null!==(n=e.longitude)&&void 0!==n?n:this.camera.pose.longitude,h=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,M=void 0===e.fov||this.emit("wantsChangeCameraFov",e.fov)?this.camera.pose.fov:e.fov,p=null!==(o=e.offset)&&void 0!==o?o:this.camera.pose.offset;i&&(h=Math.max(l,Math.min(c,h)),M=Math.max(a,Math.min(u,M)));var f=d!==this.camera.pose.longitude||h!==this.camera.pose.latitude,A=M!==this.camera.pose.fov,y=!p.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:d,latitude:h,fov:M,offset:p}),A&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),f&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),y&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(A||f||y)&&this.emit("cameraUpdate",this.camera.copyPose(),t),this.needsRender=!0,ee()},i.prototype.calculateMovingDuration=function(e,t){switch(typeof e){case"function":return e(t,this.moveSpeed);case"number":return e;case"string":return Number(e);default:return Math.floor(Math.max(Math.min(t/this.moveSpeed*1e3,1500),500))}},i.prototype.initAnimation=function(e,t,i){var n,r,o,s=this;if(this.destroyed)return Promise.resolve();var a=null!==(n=e.longitude)&&void 0!==n?n:this.defaultLongitude,u=null!==(r=e.latitude)&&void 0!==r?r:this.defaultLatitude,c=null!==(o=e.fov)&&void 0!==o?o:this.defaultFov;return new Promise((function(e){s.moveToPano(s.currentPanoIndex,{longitude:a,latitude:u,fov:c,limit:!1,duration:t,moveStartCallback:function(e,t){s.preventPanGesture=!0,s.preventTapGesture=!0,s.emit("initAnimationWillStart",e,t,i)},moveEndCallback:function(t,n){s.preventPanGesture=!1,s.preventTapGesture=!1,e(),s.emit("initAnimationEnded",t,n,i)},moveCancelCallback:function(){s.preventPanGesture=!1,s.preventTapGesture=!1,e(),s.emit("initAnimationEnded",s.currentPanoIndex,s.camera.copyPose(),i)}},i)}))},i.prototype.hideIntersectMesh=function(){this.intersectMesh.visible=!1,this.emit("intersectionHidden"),this.needsRender=!0},i.prototype.coordinatesChangeWithOffset=function(e,t){var i=2*t.x/this.element.offsetWidth*this.camera.fov/95*this.camera.aspect,n=-2*t.y/this.element.offsetHeight*this.camera.fov/95;return{longitude:e.longitude+i,latitude:e.latitude+n}},i.prototype.requestInteriaMovement=function(e,t){var i=this;if(!1!==this.interiaMovement){var n=this.coordinatesChangeWithOffset(this.camera.pose,e),r=n.longitude,o=n.latitude;this.updateCamera({longitude:r,latitude:o},t,!0);var s=Math.abs(e.x)>1||Math.abs(e.y)>1;this.emit("interiaPan",this.camera.copyPose(),!s),s?N((function(){i.requestInteriaMovement({x:.9*e.x,y:.9*e.y*.7},t)})):this.interiaMovement=!1}},i.prototype.onPanGesture=function(e){var t=this;this.interiaMovement=!1,this.hideIntersectMesh();var i=this.lastPanPoint&&this.lastPanPoint.pointerLength===e.pointers.length?{x:e.center.x-this.lastPanPoint.x,y:e.center.y-this.lastPanPoint.y}:{x:0,y:0},n=this.coordinatesChangeWithOffset(this.camera.pose,i),r=n.longitude,o=n.latitude;Math.abs(e.overallVelocityX)>.2&&Math.atan2(Math.abs(e.overallVelocityY),Math.abs(e.overallVelocityX))<Math.PI/6.923&&(o=this.camera.pose.latitude);var s=e.pointers.map((function(e){return{x:e.x,y:e.y}}));this.emit("wantsGesture","pan",s,e.isFinal)||this.emit("wantsPanGesture",this.camera.copyPose(),e.isFinal)||(this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.updateCamera({longitude:r,latitude:o},!0,!0),this.emit("gesture","pan",s,e.isFinal),this.emit("panGesture",this.camera.copyPose(),e.isFinal),this.lastPanPoint=e.isFinal?void 0:{pointerLength:e.pointers.length,x:e.center.x,y:e.center.y},e.isFinal&&(this.emit("wantsInteriaPan",this.camera.copyPose())||D((function(i){t.interiaMovement=!0;var n=e.velocityX*i,r=e.velocityY*i,o=Math.sqrt(n*n+r*r);o>100&&(n=n/o*100,r=r/o*100),Math.abs(r/n)<Math.tan(20/180*Math.PI)&&(r=0),t.requestInteriaMovement({x:n,y:r},!0)}))))},i.prototype.onPinchGesture=function(e){this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.interiaMovement=!1;var t=this.camera,i=this.lastPinchFov,n=e.scale,r=e.type;if("pinchstart"===r)return this.lastPinchFov=t.fov,void delete this.lastPanPoint;"pinchend"===r&&(delete this.lastPanPoint,delete this.lastPinchFov);var o="pinchend"===r;if(i){var s=i/n,a=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(this.emit("wantsGesture","pinch",a,o)||this.emit("wantsPinchGesture",n,s,o))return;this.updateCamera({fov:s},!0,!0),this.emit("gesture","pinch",a,o),this.emit("pinchGesture",n,s,o)}},i.prototype.onMouseWheel=function(e){var t=this;this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.interiaMovement=!1;var i=e.delta,n=this.minFov,r=this.maxFov,o=Math.max(n,Math.min(r,this.camera.fov-i)),s=[{x:e.clientX,y:e.clientY}];this.emit("wantsGesture","mouseWheel",s,!1)||this.emit("wantsMouseWheel",i,o,!1)||(this.updateCamera({fov:o},!0,!0),this.emit("gesture","mouseWheel",s,!1),this.emit("mouseWheel",i,o,!1),clearTimeout(this.onMouseWheelFinalInterval),this.onMouseWheelFinalInterval=window.setTimeout((function(){t.emit("wantsGesture","mouseWheel",s,!0)||t.emit("wantsMouseWheel",i,o,!0)||(t.emit("gesture","mouseWheel",s,!0),t.emit("mouseWheel",0,o,!0))}),200))},i.prototype.onMouseMove=function(t){var i=this,n=i.camera,r=i.model,o=i.intersectMesh,s=i.lastPanPoint;if(o&&!r.empty&&r.bvhs&&!0===r.bvhs.loaded&&!s){var a=this.relativeClientPosition({x:t.clientX,y:t.clientY}),u=new e.Raycaster;if(u.setFromCamera(a,n),this.emit("wantsShowIntersectionOnModel",u))return this.hideIntersectMesh(),void(this.needsRender=!0);var c=r.intersectRaycaster(u)[0];if(c&&c.face){var l=c.face.normal,d=l.clone().multiplyScalar(.05),h=c.point.clone().add(d);o.position.copy(h);var M=h.clone().add(d);if(o.lookAt(M),Math.abs(l.y)>.99){var p=n.pose.offset.clone().sub(h);o.rotation.z=-Math.atan2(p.z,p.x)}o.visible=!0,this.emit("intersectionOnModelUpdate",c,o),this.needsRender=!0}else this.hideIntersectMesh(),this.needsRender=!0;this.lastMouseMoveEvent={clientX:t.clientX,clientY:t.clientY}}},i.prototype.onMouseOut=function(){this.intersectMesh&&!0===this.intersectMesh.visible&&this.hideIntersectMesh()},i}(St),Kt=E(),$t=new e.Texture(Kt);Kt.onload=function(){return $t.needsUpdate=!0},Kt.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAR9JREFUOBF10kFOAzEMBdCZFhCbrrgAN+NqHIULsWKDKO3gF+VHoZpa+rXjfH87nq7btr0ty3KZ8FsxnHeQPL748lA/x0Jsq+AwYe0X8nDtGA33BEJUHIEKW/EorHOLI7BHNlkEbju38YkQAIRZxFkHz2HOirKDxNcIzG+fu/6oLiNmqc5ZrlwTeKyAgJF14tMZmSn87pBrxeX/CRABgk/dl1s+C18dio2Pp9nmCQru2UtdvN+7lI9AFsgb3zNMcSp8FF4LYs3UhLfOAvkDJffci8q1J/ByRLKnQ8gUJUFOd2SeZYliCxwiyJCxCbhUGFKF4zPm61hiq7sVyJnPmATyR5IzLSNyDNEFRCDnkAmA8U2RfCsIefYhDeKOQLv7A+l1ZTyjymNxAAAAAElFTkSuQmCC";var ei=new e.RingBufferGeometry(.06,.07,32).rotateX(-Math.PI/2),ti=new e.MeshBasicMaterial({map:$t,transparent:!0});function ii(){var t=document.createElement("canvas"),i=512,n=256,r=190;t.setAttribute("width",String(i)),t.setAttribute("height",String(i));var o=new e.Texture(t),s=t.getContext("2d");if(!s)throw Error("cannot create canvas context");var a=s.createRadialGradient(n,n,150,n,n,0);function u(){var e=Math.PI/12,t=2*Math.PI/3;s&&(s.beginPath(),s.arc(n,n,r,0*t,1*t-e),s.stroke(),s.beginPath(),s.arc(n,n,r,1*t,2*t-e),s.stroke(),s.beginPath(),s.arc(n,n,r,2*t,3*t-e),s.stroke())}function c(e){s&&(s.clearRect(0,0,i,i),s.lineWidth=20,-1!==e&&(s.globalCompositeOperation="source-over",s.strokeStyle="rgba(255, 255, 255, 1)",u(),s.globalCompositeOperation="source-in",s.beginPath(),s.arc(n,n,r,0,2*Math.PI*e),s.strokeStyle="rgba(255, 255, 255, 1)",s.stroke(),s.globalCompositeOperation="source-over",s.strokeStyle="rgba(255, 255, 255, "+(e?.5:1)+")",u()),s.beginPath(),s.arc(n,n,150,0,2*Math.PI),s.closePath(),s.fillStyle=a,s.fill(),s.fillStyle="rgba(255, 255, 255, 0.01)",s.fillRect(0,0,i,i),o.needsUpdate=!0)}return a.addColorStop(0,"rgba(255, 255, 255, 1)"),a.addColorStop(.15,"rgba(255, 255, 255, 1)"),a.addColorStop(.15,"rgba(255, 255, 255, 0.5)"),a.addColorStop(.4,"rgba(255, 255, 255, 0.0)"),a.addColorStop(1,"rgba(255, 255, 255, 0.0)"),c(0),Object.assign(o,{draw:c,retain:!1,pool:!1})}var ni=[],ri=ii();ri.draw(0);var oi=ii();oi.draw(1);var si=ii();si.draw(-1);var ai=new e.CircleBufferGeometry(.12,32).rotateX(-Math.PI/2);var ui=function(t){function i(){var i=t.call(this)||this;return i.needsRender=!0,i.loading=!1,i.disabled=!1,i.centerMesh=new e.Mesh(ai,new e.MeshBasicMaterial({map:ri,transparent:!0})),i.centerMesh.position.y+=.01,i.add(i.centerMesh),i.loadingMesh=new e.Mesh(ei,ti),i.loadingMesh.position.y+=.011,i}return n(i,t),i.prototype.setLoading=function(t){var i=this;this.loading=t,this.stopInterval&&this.stopInterval(),t?(this.add(this.loadingMesh),this.stopInterval=m((function(){i.loadingMesh.rotateOnAxis(new e.Vector3(0,1,0),.1),i.needsRender=!0}))):this.remove(this.loadingMesh),this.needsRender=!0},i.prototype.setDisabled=function(e){function t(t){var i=t.map;!0===i.pool&&(i.retain=!1),t.map=e?si:ri}this.disabled=e,Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){t(e)})):t(this.centerMesh.material),this.needsRender=!0},i.prototype.setProgress=function(e){function t(e,t){var i=e.map;0===t||1===t?(!0===i.pool&&(i.retain=!1),0===t&&(e.map=ri),1===t&&(e.map=oi)):(!0!==i.pool&&(e.map=function(){for(var e=0,t=ni;e<t.length;e++){var i=t[e];if(!1===i.retain)return i}var n=ii();return n.pool=!0,n.retain=!0,ni.push(n),n}()),e.map.draw(t))}this.setLoading(!1),this.setDisabled(!1),e=Math.max(0,Math.min(1,e)),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(i){t(i,e)})):t(this.centerMesh.material,e),this.needsRender=!0},i.prototype.setOpacity=function(e){Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(t){t.opacity=e})):this.centerMesh.material.opacity=e,this.needsRender=!0},i.prototype.dispose=function(){this.setLoading(!1),this.remove(this.centerMesh),this.remove(this.loadingMesh),this.centerMesh.geometry.dispose(),Array.isArray(this.centerMesh.material)?this.centerMesh.material.forEach((function(e){e.dispose()})):this.centerMesh.material.dispose(),this.loadingMesh.geometry.dispose(),Array.isArray(this.loadingMesh.material)?this.loadingMesh.material.forEach((function(e){e.dispose()})):this.loadingMesh.material.dispose()},i}(e.Object3D);function ci(){return new ui}function li(t){var i=Math.abs(Math.cos(t.latitude));return new e.Vector3(-Math.sin(t.longitude)*i,-Math.sin(t.latitude),-Math.cos(t.longitude)*i)}for(var di=(new e.Matrix4).makeRotationAxis(new e.Vector3(0,1,0),Math.PI),hi=new e.Vector2(16,8),Mi=[],pi=0;pi<hi.x;pi++)for(var fi=0;fi<hi.y;fi++){Mi[fi*hi.x+pi]=[];var Ai=li({longitude:2*Math.PI/hi.x*(pi+.5),latitude:Math.PI/hi.y*(fi+.5)-Math.PI/2});Mi[fi*hi.x+pi].push(Ai);for(var yi=0;yi<=8;yi++)for(var gi=0;gi<=8;gi++){var Ni=li({longitude:2*Math.PI/hi.x*(pi+yi/8),latitude:Math.PI/hi.y*(fi+gi/8)-Math.PI/2});Mi[fi*hi.x+pi].push(Ni)}}var mi=new e.MeshDistanceMaterial({nearDistance:0,farDistance:10}),vi=function(t){function i(n){var r=this,o=i.parseArgs(n);(r=t.call(this,o)||this).maxAccessibleDistance=o.maxAccessibleDistance,r.panoTapTriggerRadius=o.panoTapTriggerRadius,r.panoCircleMeshCreator=o.panoCircleMeshCreator;var s=r.model.getMaterial()||{},a=s.pano0Map,u=s.pano1Map;return u&&u!==a&&(r.model.setMaterial({pano1Map:a}),u.dispose()),r.boundingMesh=r.generateBoundingMesh(),r.boundingMesh.setMaterial(r.model.getMaterial()||{}),r.boundingMesh.name="bounding",r.boundingMesh.visible=!1,r.scene.add(r.boundingMesh),r.panoCircleMeshes=[],r.updatePanoCircleMeshes(),r.model.loaded||r.panoCircleMeshes.forEach((function(e){return e.visible=!1})),r.depthCamera=new e.CubeCamera(.01,10,new e.WebGLCubeRenderTarget(64)),r.cubeTextureLoader=new Rt(r.renderer),r.cubeTextureLoader.on("start",(function(e){var t,i=e.index;null===(t=r.panoCircleMeshes[i])||void 0===t||t.setProgress(0),r.emit("textureStartLoad",i,r.work.observers[i])})),r.cubeTextureLoader.on("progress",(function(e,t){var i,n=t.index;null===(i=r.panoCircleMeshes[n])||void 0===i||i.setProgress(e),r.emit("textureLoading",e,n,r.work.observers[n])})),r.cubeTextureLoader.on("abort",(function(e){var t,i=e.index;null===(t=r.panoCircleMeshes[i])||void 0===t||t.setProgress(0),r.emit("textureAbort",i,r.work.observers[i])})),r.cubeTextureLoader.on("load",(function(e,t){var i,n=t.index;null===(i=r.panoCircleMeshes[n])||void 0===i||i.setProgress(1),r.emit("textureLoaded",n,r.work.observers[n])})),r.cubeTextureLoader.on("error",(function(e,t){var i,n=t.index;null===(i=r.panoCircleMeshes[n])||void 0===i||i.setProgress(0),r.emit("textureError",e,n,r.work.observers[n]),r.emit("error",e)})),r.once("initAnimationWillStart",(function(){(new e.Box3).expandByObject(r.boundingMesh).containsPoint(r.camera.position)&&(r.boundingMesh.visible=!0)})),r.once("initAnimationEnded",(function(){r.boundingMesh.visible=!0})),r.on("panoWillArrive",(function(){return r.ready=!1})),r.on("moveToPanoCanceled",(function(){return r.ready=!0})),r.on("panoArrived",(function(){return r.ready=!0})),r}return n(i,t),i.parseArgs=function(e){var i,n,o,s=t.parseArgs.call(this,e);return r(r({},s),{maxAccessibleDistance:null!==(i=e.maxAccessibleDistance)&&void 0!==i?i:5,panoTapTriggerRadius:null!==(n=e.panoTapTriggerRadius)&&void 0!==n?n:1,panoCircleMeshCreator:null!==(o=e.panoCircleMeshCreator)&&void 0!==o?o:ci})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.getCurrentTileIndicesInCamera=function(){for(var t=this.work.observers[this.currentPanoIndex],i=(new e.Matrix4).compose(t.position,t.quaternion,new e.Vector3(-1,1,1)),n=this.camera.getWorldDirection(new e.Vector3),r=(new e.Matrix4).multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),o=(new e.Frustum).setFromProjectionMatrix(r),s=[],a=0;a<Mi.length;a++)for(var u=0,c=Mi[a];u<c.length;u++){var l=c[u];if(o.containsPoint(l.clone().applyMatrix4(i))){s.push(a);break}}return s.sort((function(e,t){return Mi[e][0].angleTo(n)-Mi[t][0].angleTo(n)})),s},i.prototype.tilingPanoIfNeeds=function(){var t,i=this,n=this.camera.pose.fov<=70,r=this.work.observers[this.currentPanoIndex],o=r.images.tiles;if(n&&o&&r.position.equals(this.camera.pose.offset)){this.tileTextureLoader||(this.tileTextureLoader=new qt(this.renderer),this.tileTextureLoader.on("update",(function(e){i.setModelAndBoundingMaterial({panoTileMap:i.tileTextureLoader.texutre,panoTileMappings:e}),i.needsRender=!0})));for(var s=this.getCurrentTileIndicesInCamera(),a=[],u=0;u<hi.x*hi.y;u++)if(-1!==s.indexOf(u)){var c=Math.floor(u%hi.x),l=Math.floor(u/hi.x),d=new e.Vector4(c/hi.x,l/hi.y,1/hi.x,1/hi.y),h=o+"/row-"+(l+1)+"-column-"+(c+1)+".jpg";a.push({resource:h,clip:d})}this.tileTextureLoader.loadTiles(a)}else null===(t=this.tileTextureLoader)||void 0===t||t.cleanTiles()},i.prototype.updateWork=function(e,t,i,n){var r=this;this.ready=!1,this.work=e,this.currentPanoIndex=t.panoIndex;var o={},s=!0;return this.boundingMesh&&(o=this.boundingMesh.getMaterial()||{},s=this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(!0),this.boundingMesh.name="bounding",this.boundingMesh.visible=s,this.boundingMesh.setMaterial(o),this.scene.add(this.boundingMesh),this.hideIntersectMesh(),this.moveToPano(t.panoIndex,{effect:"fade",duration:i,longitude:t.longitude,latitude:t.latitude,fov:t.fov,moveStartCallback:function(){return r.updatePanoCircleMeshes(!1)}},n),!0},i.prototype.updatePanoCircleMeshes=function(t){var i=this;void 0===t&&(t=!0);var n=[];this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){e.loading&&n.push(e.panoIndex),i.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0);var r=new e.Vector3(0,-1,0);this.panoCircleMeshes=this.work.observers.map((function(o,s){var a=i.panoCircleMeshCreator();if(a.position.copy(o.standingPosition),t&&i.model.loaded){var u=a.position.clone().add(new e.Vector3(0,1,0)),c=new e.Raycaster(u,r,0,1),l=i.model.intersectRaycaster(c)[0];l&&l.point.distanceTo(a.position)>.1&&(a.position.copy(l.point.clone()),a.needsRender=!0)}return a.name="panoCircle_"+s,a.panoIndex=s,i.scene.add(a),a.needsRender=!0,!1===o.active&&(a.setDisabled(!0),n.indexOf(s)>=0&&(a.setDisabled(!1),a.setLoading(!0))),a}));var o=this.work.observers[this.currentPanoIndex].visibleNodes;o=o.filter((function(e){var t=i.work.observers[e];return t.loadable||t.active})),this.panoCircleMeshes.forEach((function(e){e.visible=o.indexOf(e.panoIndex)>=0}));var s=this.camera.position;this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(s);e.setOpacity(Math.min(1.5/t,1))}))},i.prototype.destroy=function(){var i,n,r,o=this;t.prototype.destroy.call(this),this.cubeTextureLoader.off(),null===(i=this.tileTextureLoader)||void 0===i||i.dispose(),delete this.pendingLoadTextureHashAndCallback,this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){o.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0),this.interiaMovement=!1;var s=this.videoTexture.image;s.pause(),s.oncanplay=function(){},s.ontimeupdate=function(){};var a={pano0DepthMap:null,panoVideoMap:null,panoVideoSize:new e.Vector2,panoVideoMatrix:new e.Matrix4,panoVideoAlpha:0};this.setModelAndBoundingMaterial(a),null===(n=this.depthCamera)||void 0===n||n.renderTarget.texture.dispose(),null===(r=this.depthCamera)||void 0===r||r.renderTarget.dispose(),delete this.depthCamera},i.prototype.render=function(){this.work.observers[this.currentPanoIndex].video&&(this.needsRender=!0),t.prototype.render.call(this)},i.prototype.generateBoundingMesh=function(t){void 0===t&&(t=!1);var i=this.model.bounding.clone();return this.work.observers.forEach((function(t){i.expandByPoint(t.standingPosition),i.expandByPoint((new e.Vector3).fromArray([t.position.x,2*t.position.y-t.standingPosition.y,t.position.z]))})),t&&i.expandByPoint(this.camera.pose.offset),U(i,new e.Vector3(1,0,1))},i.prototype.resetModel=function(e,t){var i=this;this.model=e;var n={};this.boundingMesh&&(n=this.boundingMesh.getMaterial()||{},this.boundingMesh.visible,this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.boundingMesh=this.generateBoundingMesh(),this.boundingMesh.visible=!0,this.boundingMesh.name="bounding",this.boundingMesh.setMaterial(n),this.scene.add(this.boundingMesh),this.needsRender=!0,te((function(){i.updatePanoCircleMeshes(),i.updateCamera({},t,!0),i.needsRender=!0}))},i.prototype.moveToPano=function(e,t,i){var n=this;this.interiaMovement=!1;var r={index:e,images:this.work.observers[e].images,imageOptions:this.imageOptions},o=kt.u(r),s=function(r,o){if(r)return t.moveCancelCallback&&t.moveCancelCallback(),n.emit("panoLoadError",r,e),void n.emit("moveToPanoCanceled",e);var s=o;n.destroyed?s.dispose():(n.emit("panoLoaded",e),N((function(){return n.doMoveToPano(e,s,t,i)})))},a=this.pendingLoadTextureHashAndCallback||[],u=a[0],c=a[1];if(o!==u){if(delete this.pendingLoadTextureHashAndCallback,c&&c(new Error("texture aborted")),this.emit("moveToPano",e,i),this.emit("panoWillLoad",e),!r.images)return void s(new Error("pano images were not existed"));var l=this.getModelAndBoundingMaterial()||{},d=l.pano0Map,h=l.pano1Map,M=void 0;if(d&&d.hash===o?M=d:h&&h.hash===o&&(M=h),M)return void s(null,M);this.pendingLoadTextureHashAndCallback=[o,s],this.cubeTextureLoader.load(r,(function(e,t){var i=n.pendingLoadTextureHashAndCallback||[],r=i[0],s=i[1];o===r&&s?(s(e,t),delete n.pendingLoadTextureHashAndCallback):null==t||t.dispose()}))}},i.prototype.updateCamera=function(e,i,n){var r=this;void 0===e&&(e={}),t.prototype.updateCamera.call(this,e,i,n),this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(r.camera.pose.offset);e.setOpacity(Math.min(1.5/t,1))}));var o=this.getForwardPanoIndexOrNot();null!==o&&this.panoCircleMeshes[o].setOpacity(1),this.needsRender=!0,ee(),this.tilingPanoIfNeeds()},i.prototype.canNotMoveAnimation=function(){var e=this;if(this.interiaMovement=!1,!this.tweenCoordinates){var t=this.camera.fov,i=.98*t,n=function(t){var i=t.fov;e.updateCamera({fov:i},!0,!0)};this.tweenCoordinates=rt({fov:t},{fov:i},200).onUpdate(n).onComplete((function(){var r;null===(r=e.tweenCoordinates)||void 0===r||r.destroy(),e.tweenCoordinates=rt({fov:i},{fov:t},200).onUpdate(n).onComplete((function(){var t;null===(t=e.tweenCoordinates)||void 0===t||t.destroy(),delete e.tweenCoordinates}))}))}},i.prototype.getModelAndBoundingMaterial=function(){for(var e=0,t=[this.model,this.boundingMesh];e<t.length;e++)return t[e].getMaterial();return null},i.prototype.setModelAndBoundingMaterial=function(e){for(var t=0,i=[this.model,this.boundingMesh];t<i.length;t++)i[t].setMaterial(e)},i.prototype.doMoveToPano=function(t,i,n,r){var o,s,a,u,c,l,d,h,M,p,f,A=this;void 0===n&&(n={});var y=n.effect,g=void 0===y?"fly":y,m=n.limit,v=void 0===m||m,D=n.easing,T=void 0===D?nt.Quadratic.InOut:D,w=this.currentPanoIndex,z=this.work.observers[t],j=this.work.observers[w].accessibleNodes.indexOf(t)>=0,I=z.video,E=z.visibleNodes;E=E.filter((function(e){var t=A.work.observers[e];return t.loadable||t.active}));var x=this.calculateMovingDuration(n.duration,this.camera.pose.offset.distanceTo(z.standingPosition)),L=this.camera.pose.offset.clone(),O=null!==(s=null===(o=this.getModelAndBoundingMaterial())||void 0===o?void 0:o.modelAlpha)&&void 0!==s?s:0,b=null!==(u=null===(a=this.model.getMaterial())||void 0===a?void 0:a.perspToOrtho)&&void 0!==u?u:0,S=this.camera.pose.longitude,C=this.camera.pose.latitude,_=this.camera.pose.fov,k=z.position,U=null!==(l=null===(c=this.getModelAndBoundingMaterial())||void 0===c?void 0:c.pano0Matrix)&&void 0!==l?l:new e.Matrix4,Q=(new e.Matrix4).compose(z.position,z.quaternion,new e.Vector3(-1,1,1)),B=null!==(d=n.longitude)&&void 0!==d?d:S,P=null!==(h=n.latitude)&&void 0!==h?h:C,Y=null!==(M=n.fov)&&void 0!==M?M:_,R={fov:Y,longitude:B,latitude:P,offset:k.clone()};this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition),this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),n.moveStartCallback&&n.moveStartCallback(t,R),this.emit("panoWillArrive",t,R,r),this.needsRender=!0,j&&(this.scene.overrideMaterial=mi,mi.referencePosition.copy(L),null===(p=this.depthCamera)||void 0===p||p.position.copy(L),null===(f=this.depthCamera)||void 0===f||f.update(this.renderer,this.scene),this.scene.overrideMaterial=null);var F=function(){var e=A.getModelAndBoundingMaterial()||{},o=e.pano0Map,s=e.pano1Map;o&&o!==s&&o!==i&&o.dispose();var a={modelAlpha:0,perspToOrtho:0,pano0Matrix:Q,pano0Map:i,pano0DepthMap:A.depthCamera?A.depthCamera.renderTarget.texture:null,pano1Matrix:Q,pano1Map:i,progress:0};if(I&&Object.keys(I).length>0){var u=A.videoTexture.image;u.oncanplay=function(){u.oncanplay=function(){},u.currentTime=0,u.play(),A.setModelAndBoundingMaterial({panoVideoAlpha:0,panoVideoMap:A.videoTexture,panoVideoSize:I.size,panoVideoMatrix:di.clone().multiply(Q).multiply(I.matrix)})},u.src=I.source,u.ontimeupdate=function(){if(u.currentTime>.5&&u.src===(null==I?void 0:I.source)){u.ontimeupdate=function(){};var e=ot(230,T).onUpdate((function(e){var t=e.progress;return A.setModelAndBoundingMaterial({panoVideoAlpha:t})})).onComplete((function(){return e.destroy()}))}}}A.setModelAndBoundingMaterial(a),A.panoCircleMeshes.forEach((function(e){e.visible=E.indexOf(e.panoIndex)>=0})),A.updateCamera({offset:k},r,v),A.panoCircleMeshes[t]&&A.panoCircleMeshes[t].setProgress(0),n.moveEndCallback&&n.moveEndCallback(t,A.camera.copyPose()),A.currentPanoIndex=t,A.preventTapGesture=!1,N((function(){A.emit("panoArrived",t,A.camera.copyPose(),r)})),A.needsRender=!0};if(this.preventTapGesture=!0,x){var V=this.videoTexture.image;V.pause(),V.removeAttribute("src"),V.oncanplay=function(){},V.ontimeupdate=function(){},this.videoTexture.needsUpdate=!0;var G=this.getModelAndBoundingMaterial()||{},H=G.pano0Map,W=G.pano1Map;W&&W!==H&&W!==i&&W.dispose();var q={pano1Matrix:Q,pano1Map:i,pano0DepthMap:j&&this.depthCamera?this.depthCamera.renderTarget.texture:null,panoVideoMap:null,panoVideoSize:new e.Vector2,panoVideoMatrix:new e.Matrix4,panoVideoAlpha:0,useBlackTransition:"instant"===g};if("fade"===g){var Z=U.clone();Z.setPosition(k),q.pano0Matrix=Z,L.copy(k),this.updateCamera({offset:k},r,v)}this.setModelAndBoundingMaterial(q),"fly"!==g&&this.panoCircleMeshes.forEach((function(e){return e.visible=!1})),this.renderer.compile(this.scene,this.camera),this.tweenPosition=ot(x,T).onUpdate((function(i){var n=i.progress;A.setModelAndBoundingMaterial({progress:n,modelAlpha:lt(O,0,n),perspToOrtho:lt(b,0,Math.min(5*n,1))});var o=new e.Vector3(lt(L.x,k.x,n),lt(L.y,k.y,n),lt(L.z,k.z,n));A.updateCamera({offset:o},r,v),n>.9&&(A.preventTapGesture=!1),A.emit("movingToPano",t,w,n),"fly"===g?r&&A.lastMouseMoveEvent&&A.onMouseMove(A.lastMouseMoveEvent):A.hideIntersectMesh(),A.needsRender=!0})).onComplete((function(){A.tweenPosition&&(A.tweenPosition.completed=!0,A.tweenPosition.destroy()),delete A.tweenPosition,F()})).onCancel((function(){n.moveCancelCallback&&n.moveCancelCallback()}))}else F();if(S!==B||C!==P||_!==Y){var X=function(e){var t=e.progress,i=dt(S,B,t),n=lt(C,P,t),o=lt(_,Y,t);A.updateCamera({longitude:i,latitude:n,fov:o},r,v)},J=function(){return X({progress:1})};x>0?this.tweenCoordinates=ot(x,T).onUpdate(X).onComplete((function(){A.tweenCoordinates&&(A.tweenCoordinates.destroy(),delete A.tweenCoordinates),J()})):J()}},i.prototype.getForwardPanoIndexOrNot=function(t){var i=this,n=this.camera,r=this.currentPanoIndex,o=this.work.observers[r].accessibleNodes;o=o.filter((function(e){var t=i.work.observers[e];return t.loadable||t.active}));var s,a=n.getWorldDirection(new e.Vector3);s=t?t.ray.direction.clone():a.clone();var u=n.pose.offset.clone();if(s.y=u.y=0,0===s.length()||0===u.length())return null;for(var c=0,l=o.filter((function(e){var t=i.work.observers[e].standingPosition.clone().sub(n.pose.offset);return 0!==t.length()&&t.angleTo(a)<n.fov/2/180*Math.PI})).map((function(e){var t=i.work.observers[e].standingPosition.clone();return Object.assign(t,{y:0,panoIndex:e})})).sort((function(e,t){return e.distanceTo(u)-t.distanceTo(u)}));c<l.length;c++){var d=l[c],h=d.clone().sub(u);if(0!==h.length()&&s.angleTo(h)<Math.PI/6)return d.panoIndex}return null},i.prototype.onTapGesture=function(t){var i=this;if(this.interiaMovement=!1,!0!==this.preventTapGesture){var n=null,r=this.work.observers[this.currentPanoIndex],s=r.accessibleNodes.filter((function(e){return i.work.observers[e].position.distanceTo(i.camera.pose.offset)<i.maxAccessibleDistance})),a=this.relativeClientPosition(t.center),u=new e.Raycaster;u.setFromCamera(a,this.camera);var c=t.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!this.emit("wantsGesture","tap",c,!0)&&!this.emit("wantsTapGesture",u,a)){this.emit("gesture","tap",c,!0),this.emit("tapGesture",u,a);var l=this.camera.getWorldDirection(new e.Vector3).setY(0).normalize(),h=this.model.intersectRaycaster(u)[0];if(h){var M=zt(s,(function(e){var t=i.work.observers[e].standingPosition.clone();return t.clone().sub(i.camera.pose.offset).setY(0).angleTo(l)>Math.PI/2?1/0:t.distanceTo(h.point)}),!0),p=M[0];M[1]<this.panoTapTriggerRadius&&(n=p)}if(d(n)&&(n=this.getForwardPanoIndexOrNot(u)),d(n))this.canNotMoveAnimation();else{var f=this.work.observers[n];if(this.emit("panoSelected",n),f.active){for(var A=Math.PI/6,y=Math.PI/12,g=f.position.clone().setY(0).sub(r.position.clone().setY(0)).normalize(),N=g.clone().applyAxisAngle(new e.Vector3(0,1,0),A),m=g.clone().applyAxisAngle(new e.Vector3(0,1,0),-A),v=[],D=[],T=[],w=0,z=f.accessibleNodes;w<z.length;w++)if((p=z[w])!==this.currentPanoIndex&&p!==n){var j=this.work.observers[p].position.clone().setY(0).sub(f.position.clone().setY(0));g.angleTo(j)<A?T.push(j):N.angleTo(j)<A?v.push(j):m.angleTo(j)<A&&D.push(j)}var I=(T.length>0?T:o(o([],v),D)).slice().sort((function(e,t){return e.angleTo(g)-t.angleTo(g)}))[0],E={};I&&I.angleTo(l)>y&&(E.longitude=Math.atan2(-I.x,-I.z)),this.emit("wantsMoveToPano",n,E,!0)}else this.panoCircleMeshes[n]&&(this.panoCircleMeshes[n].setDisabled(!1),this.panoCircleMeshes[n].setLoading(!0))}}}},i}(Jt),Di=__webpack_require__(9930),Ti=__webpack_require__.n(Di),wi=__webpack_require__(9629),zi=__webpack_require__.n(wi);function ji(t,i){var n,r,o,s,a=new e.Vector3,u=new e.Vector3,c=null;"VRFrameData"in window&&(c=new window.VRFrameData),navigator.getVRDisplays&&navigator.getVRDisplays().then((function(e){r=e,e.length>0?n=e[0]:i&&i(new Error("HMD not available"))})).catch((function(){console.warn("THREE.VREffect: Unable to get VR Displays")})),this.isPresenting=!1,this.scale=1;var l=this,d=t.getSize(new e.Vector2),h=!1,M=t.getPixelRatio();this.getVRDisplay=function(){return n},this.setVRDisplay=function(e){n=e},this.getVRDisplays=function(){return console.warn("THREE.VREffect: getVRDisplays() is being deprecated."),r},this.setSize=function(i,r,o){if(d=new e.Vector2(i,r),h=o,l.isPresenting){var s=n.getEyeParameters("left");t.setPixelRatio(1),t.setSize(2*s.renderWidth,s.renderHeight,!1)}else t.setPixelRatio(M),t.setSize(i,r,o)};var p=t.domElement,f=[0,0,.5,1],A=[.5,0,.5,1];function y(){var i=l.isPresenting;if(l.isPresenting=void 0!==n&&n.isPresenting,l.isPresenting){var r=n.getEyeParameters("left"),o=r.renderWidth,s=r.renderHeight;i||(M=t.getPixelRatio(),d=t.getSize(new e.Vector2),t.setPixelRatio(1),t.setSize(2*o,s,!1))}else i&&(t.setPixelRatio(M),t.setSize(d.width,d.height,h))}window.addEventListener("vrdisplaypresentchange",y,!1),this.setFullScreen=function(e){return new Promise((function(t,i){void 0!==n?l.isPresenting!==e?e?(n.requestPresent([{source:p}]),t()):(n.exitPresent(),t()):t():i(new Error("No VR hardware found."))}))},this.requestPresent=function(){return this.setFullScreen(!0)},this.exitPresent=function(){return this.setFullScreen(!1)},this.requestAnimationFrame=function(e){return void 0!==n?n.requestAnimationFrame(e):window.requestAnimationFrame(e)},this.cancelAnimationFrame=function(e){void 0!==n?n.cancelAnimationFrame(e):window.cancelAnimationFrame(e)},this.submitFrame=function(){void 0!==n&&l.isPresenting&&n.submitFrame()},this.autoSubmitFrame=!0;var g=new e.PerspectiveCamera;g.layers.enable(1);var N=new e.PerspectiveCamera;function m(t,i,n,r){var o=Math.PI/180;return function(t,i,n,r){n=void 0===n?.01:n,r=void 0===r?1e4:r;var o=(i=void 0===i||i)?-1:1,s=new e.Matrix4,a=s.elements,u=function(e){var t=2/(e.leftTan+e.rightTan),i=2/(e.upTan+e.downTan);return{scale:[t,i],offset:[(e.leftTan-e.rightTan)*t*.5,(e.upTan-e.downTan)*i*.5]}}(t);return a[0]=u.scale[0],a[1]=0,a[2]=u.offset[0]*o,a[3]=0,a[4]=0,a[5]=u.scale[1],a[6]=-u.offset[1]*o,a[7]=0,a[8]=0,a[9]=0,a[10]=r/(n-r)*-o,a[11]=r*n/(n-r),a[12]=0,a[13]=0,a[14]=o,a[15]=0,s.transpose(),s}({upTan:Math.tan(t.upDegrees*o),downTan:Math.tan(t.downDegrees*o),leftTan:Math.tan(t.leftDegrees*o),rightTan:Math.tan(t.rightDegrees*o)},i,n,r)}N.layers.enable(2),this.render=function(i,r){var d,h;if(n&&l.isPresenting){var M=i.autoUpdate;M&&(i.updateMatrixWorld(),i.autoUpdate=!1);var p=n.getEyeParameters("left"),y=n.getEyeParameters("right");a.fromArray(p.offset),u.fromArray(y.offset),Array.isArray(i)&&(console.warn("THREE.VREffect.render() no longer supports arrays. Use object.layers instead."),i=i[0]);var v,D,T=t.getSize(new e.Vector2),w=n.getLayers();if(w.length){var z=w[0];v=null!==z.leftBounds&&4===(null===(d=z.leftBounds)||void 0===d?void 0:d.length)?z.leftBounds:f,D=null!==z.rightBounds&&4===(null===(h=z.rightBounds)||void 0===h?void 0:h.length)?z.rightBounds:A}else v=f,D=A;o={x:Math.round(T.width*v[0]),y:Math.round(T.height*v[1]),width:Math.round(T.width*v[2]),height:Math.round(T.height*v[3])},s={x:Math.round(T.width*D[0]),y:Math.round(T.height*D[1]),width:Math.round(T.width*D[2]),height:Math.round(T.height*D[3])},t.setScissorTest(!0),t.autoClear&&t.clear(),null===r.parent&&r.updateMatrixWorld(),r.matrixWorld.decompose(g.position,g.quaternion,g.scale),r.matrixWorld.decompose(N.position,N.quaternion,N.scale);var j=this.scale;return g.translateOnAxis(a,j),N.translateOnAxis(u,j),n.getFrameData&&c?(n.depthNear=r.near,n.depthFar=r.far,n.getFrameData(c),g.projectionMatrix.elements=[].slice.call(c.leftProjectionMatrix),N.projectionMatrix.elements=[].slice.call(c.rightProjectionMatrix)):(g.projectionMatrix=m(p.fieldOfView,!0,r.near,r.far),N.projectionMatrix=m(y.fieldOfView,!0,r.near,r.far)),t.setViewport(o.x,o.y,o.width,o.height),t.setScissor(o.x,o.y,o.width,o.height),t.render(i,g),t.setViewport(s.x,s.y,s.width,s.height),t.setScissor(s.x,s.y,s.width,s.height),t.render(i,N),t.setViewport(0,0,T.width,T.height),t.setScissorTest(!1),M&&(i.autoUpdate=!0),void(l.autoSubmitFrame&&l.submitFrame())}t.render(i,r)},this.dispose=function(){window.removeEventListener("vrdisplaypresentchange",y,!1)}}var Ii=8900346,Ei=new e.SphereBufferGeometry(.1,32,32);function xi(t,i){Array.isArray(t)?t.forEach((function(t){t instanceof e.MeshBasicMaterial&&t.setValues({color:i})})):t instanceof e.MeshBasicMaterial&&t.setValues({color:i})}var Li=function(t){function i(){var i=t.call(this)||this,n=new e.MeshBasicMaterial({color:Ii,opacity:.5,transparent:!0});return i.mesh=new e.Mesh(Ei,n),i.active=!1,i.current=!1,i.add(i.mesh),i}return n(i,t),i.prototype.isActive=function(){return this.active},i.prototype.isCurrent=function(){return this.current},i.prototype.setActive=function(){!0!==this.active&&(this.active=!0,xi(this.mesh.material,16776960))},i.prototype.setCurrent=function(){!0!==this.current&&(this.current=!0,xi(this.mesh.material,65280))},i.prototype.reset=function(){!1===this.current&&!1===this.active||(this.active=!1,this.current=!1,xi(this.mesh.material,Ii))},i.prototype.dispose=function(){this.remove(this.mesh),Array.isArray(this.mesh.material)?this.mesh.material.forEach((function(e){return e.dispose()})):this.mesh.material.dispose()},i}(e.Object3D),Oi=null,bi=function(t){function i(e){var n=this;d(Oi)&&(Oi=new(Ti())(e.webvrPolyfillConfig||{}));var r=i.parseArgs(e);n=t.call(this,r)||this;var o=r.element,s=r.renderer,a=r.panoIndex,u=void 0===a?0:a;n.effect=new ji(s);var c=o.offsetWidth,l=o.offsetHeight;n.element=o,n.effect.setSize(c,l),n.effect.isPresenting=!0,n.panoSphereMeshes=n.work.observers.map((function(e,t){var i=new Li;return i.name="panoSphereMesh_"+t,i.position.copy(e.position),Object.assign(i,{panoIndex:t}),n.scene.add(i),i}));var h=n.work.observers[u].visibleNodes;h=h.filter((function(e){return n.work.observers[e].active}));var M=n.panoSphereMeshes.filter((function(e){return e.panoIndex===u}))[0];return n.panoSphereMeshes.forEach((function(e){if(e.visible=h.indexOf(e.panoIndex)>=0,M){var t=M.position.distanceTo(e.position)<5;e.visible=e.visible&&t}})),n.intersectMesh.parent&&n.intersectMesh.parent.remove(n.intersectMesh),n.initHelper(o),n}return n(i,t),i.parseArgs=function(e){var i=r(r({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return t.parseArgs.call(this,i)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){var e=this;t.prototype.destroy.call(this),this.panoSphereMeshes&&(this.panoSphereMeshes.forEach((function(t){e.scene.remove(t),t.dispose()})),this.panoSphereMeshes.length=0),this.destroyHelper()},i.prototype.initHelper=function(e){for(var t="five_webvr_helper_"+p(),i=1,n=document.getElementsByTagName("meta"),r=0;r<n.length;r++){var o=n[r];if("viewport"===o.getAttribute("name")){var s=(o.getAttribute("content")||"").match(/initial\-scale\=([\d|\.]+)/);s&&(i=Number(s[1])),isNaN(i)&&(i=1)}}var a=function(e){return Math.floor(e*i)+"px"},u=document.createElement("style"),c="\n ."+t+"{\n font-family:sans-serif;\n background:#394043;color:#ffffff;\n position:absolute;display:none;\n -webkit-tap-highlight-color:rgba(0,0,0,0);\n }\n ."+t+" img{\n position:absolute;top:50%;left:50%;\n -webkit-transform:translate(-50%,-100%);\n -moz-transform:translate(-50%,-100%);\n transform:translate(-50%,-100%);\n pointer-events:none;\n width:"+a(132)+";\n height:"+a(162)+";\n }\n ."+t+" ol{\n position:absolute;top:50%;left:50%;\n -webkit-transform:translate(-50%,0);\n -moz-transform:translate(-50%,0);\n transform:translate(-50%,0);\n pointer-events:none;\n margin-top:"+a(38)+";\n font-size:"+a(16)+";\n line-height:"+a(30)+";\n }\n ."+t+" li{\n list-style-type:none;\n white-space:nowrap;\n position:relative;\n padding-left:"+a(14)+";\n }\n ."+t+" li:before{\n content:'';display:block;height:"+a(6)+";width:"+a(6)+";\n position:absolute;top:50%;left:0;\n -webkit-transform:translate(0,-50%);\n -moz-transform:translate(0,-50%);\n transform:translate(0,-50%);\n border-radius:50%;background:#ffffff;\n }\n @media screen and (orientation: portrait){\n ."+t+"{display: block!important}\n }\n ";u.setAttribute("type","text/css"),"styleSheet"in u?u.styleSheet.cssText=c:u.appendChild(document.createTextNode(c));var l=this.helperElement=document.createElement("div");l.className=t,l.innerHTML='\n <img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTMycHgiIGhlaWdodD0iMTYycHgiIHZpZXdCb3g9IjAgMCAxMzIgMTYyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0Ni4xICg0NDQ2MykgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+R3JvdXA8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cG9seWdvbiBpZD0icGF0aC0xIiBwb2ludHM9IjY1Ljk4NTM0MjMgOTMuMTg5NjU1MiAwIDkzLjE4OTY1NTIgMCAwLjI0NzE1NTE3MiAxMzEuOTcwNjg1IDAuMjQ3MTU1MTcyIDEzMS45NzA2ODUgOTMuMTg5NjU1MiI+PC9wb2x5Z29uPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWKoOi9vemhtS1jb3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTE4LjAwMDAwMCwgLTE4NC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTguMDAwMDAwLCAxODQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iUGFnZS0xIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaXBob25lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNS4wMDAwMDAsIDAuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4yMDIzNzg3LDMyLjI2OTE1MzIgQzYyLjIwODU3NTQsMzQuNDI4MDQyOSA2MC42ODkzNDU5LDM3LjA2MDgzNTEgNTguODA3NjA4MiwzOC4xNDI4NjEgTDU1Ljg3MDM2MjMsMzkuODQwMjM3NyBMNTUuMTc5NDI3OSwzOC42Mzc0MTMgTDU1LjEzNTAxOCwyMi4xNTMwMzY0IEw1Ni4zMTM0Mjc5LDIyLjE0Njg0MTYgQzU2LjMxMzQyNzksMjMuNDk1MjQ0MiA1Ny4yNjk3ODg1LDI0LjAzOTM1NDUgNTguNDQ3MTY1NiwyMy4zNTU4NjEgQzU5LjYxODM0NTksMjIuNjc4NTYyMyA2MC41NjIzMTMxLDIxLjAzOTAwMzkgNjAuNTYyMzEzMSwxOS42OTY3OTYxIEw2Mi4xNjQxNjU2LDE5LjY5MDYwMTMgTDYyLjIwMjM3ODcsMzIuMjY5MTUzMiBaIiBpZD0iRmlsbC0xIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02Mi4xMjAxNjg5LDUuMjYzNjIyNzMgTDYyLjE2MzU0NTksMTkuNjkxMzI0IEw2MC41NjI3MjYyLDE5LjY5NjQ4NjQgQzYwLjU1NTQ5NjcsMTguMzQxODg5IDU5LjYwNTMzMjgsMTcuNzk3Nzc4NiA1OC40Mjc5NTU3LDE4LjQ3NTA3NzMgQzU3LjI1Njc3NTQsMTkuMTUyMzc2IDU2LjMwNjYxMTUsMjAuNzk4MTI5MiA1Ni4zMTI4MDgyLDIyLjE0NzU2NDMgTDU1LjEzNTQzMTEsMjIuMTUyNzI2NiBMNTUuMDkxMDIxMyw3LjAxMDU1Nzc5IEw1NC4zOTQ5MjMsNS44MDc3MzMxMiBMNTguNzA2ODA4MiwzLjMxOTQ4NjM2IEM2MC41ODc1MTMxLDIuMjMxMjY1NTggNjIuMTIwMTY4OSwzLjEwNDczMzEyIDYyLjEyMDE2ODksNS4yNjM2MjI3MyIgaWQ9IkZpbGwtMyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjAuMTEyNjM3NywxOS45NTYxNTE5IEM2MC4xMTI2Mzc3LDIxLjAxMzM5ODcgNTkuMzY0OSwyMi4zMTEyMTA0IDU4LjQ0MDU1NTcsMjIuODQyOTMxMiBDNTcuNTE2MjExNSwyMy4zNzU2ODQ0IDU2Ljc2MjI3NywyMi45NDUxNDU1IDU2Ljc2MjI3NywyMS44ODY4NjYyIEM1Ni43NTYwODAzLDIwLjgyMzQyNDcgNTcuNTAzODE4LDE5LjUyNTYxMyA1OC40MzQzNTksMTguOTkzODkyMiBDNTkuMzUyNTA2NiwxOC40NjIxNzE0IDYwLjEwNjQ0MSwxOC44OTI3MTA0IDYwLjExMjYzNzcsMTkuOTU2MTUxOSIgaWQ9IkZpbGwtNyI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wMTA4NTkwMiw1My4yOTE1MzQ0IEw4Ljk5MTIzNjA3LDQ1LjYxOTI2ODIgQzguOTkxMjM2MDcsNDUuNDc0NzIyNyA4Ljg5MDAyMjk1LDQ1LjQxNjkwNDUgOC43NjQwMjI5NSw0NS40ODYwNzk5IEM4LjYzNjk5MDE2LDQ1LjU2MzUxNDkgOC41NDE5NzM3Nyw0NS43MzM4NzIxIDguNTQxOTczNzcsNDUuODc4NDE3NSBMOC41NjA1NjM5Myw1My41NTE3MTYyIEM4LjU2MDU2MzkzLDUzLjY5MTA5OTQgOC42NjI4MDk4NCw1My43NDY4NTI2IDguNzgyNjEzMTEsNTMuNjc3Njc3MyBDOC45MDk2NDU5LDUzLjYwMjMwNzEgOS4wMTA4NTkwMiw1My40MzE5NSA5LjAxMDg1OTAyLDUzLjI5MTUzNDQgTDkuMDEwODU5MDIsNTMuMjkxNTM0NCBaIE01NS4xNzk1MzExLDM4LjYzNzcyMjcgTDU1Ljg3MDQ2NTYsMzkuODQwNTQ3NCBMOS4xODc0NjU1Nyw2Ni43ODE3NTUyIEM3LjMwNzc5MzQ0LDY3Ljg3MTAwODQgNS43NzUxMzc3LDY2Ljk5NjUwODQgNS43NzUxMzc3LDY0LjgzODY1MTMgTDUuNjkyNTE0NzUsMzcuODMyMzk4MSBDNS42ODYzMTgwMywzNS42NzU1NzM0IDcuMjA1NTQ3NTQsMzMuMDQxNzQ4NyA5LjA4NzI4NTI1LDMxLjk1ODY5MDMgTDU0LjM5NDYxMzEsNS44MDgzNTI2IEw1NS4wOTA3MTE1LDcuMDExMTc3MjcgTDExLjg5ODUzMTEsMzEuOTM5MDczNCBMMTEuOTg3MzUwOCw2My41NjU2MTg4IEw1NS4xNzk1MzExLDM4LjYzNzcyMjcgWiIgaWQ9IkZpbGwtOSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTUuMzI1ODc3LDAuMDAwNTE2MjMzNzY2IEM1NC44NjYyODY5LDAuMDAwNTE2MjMzNzY2IDU0LjM0Njc5NTEsMC4xNTAyMjQwMjYgNTMuNzk4Mzg1MiwwLjQ2NzE5MTU1OCBMNC4xNzkxNzIxMywyOS4xMDU3NzYgQzIuMjk5NSwzMC4xOTA4OTk0IDAuNzgwMjcwNDkyLDMyLjgyMTYyNjYgMC43ODU0MzQ0MjYsMzQuOTgxNTQ4NyBMMC44NjI4OTM0NDMsNjEuOTg3ODAxOSBDMC44NjU5OTE4MDMsNjMuMDYwNTM1NyAxLjI0Mzk5MTgsNjMuODE1MjY5NSAxLjg1NTQwMTY0LDY0LjE2OTQwNTggTDYuNzY0MjM3Nyw2Ny4wMjIxMTM2IEM2LjE1Mzg2MDY2LDY2LjY2Njk0NDggNS43NzQ4Mjc4Nyw2NS45MTIyMTEgNS43NzE3Mjk1MSw2NC44Mzk0NzczIEw1LjY5NTMwMzI4LDM3LjgzMzIyNCBDNS42ODkxMDY1NiwzNS42NzQzMzQ0IDcuMjA4MzM2MDcsMzMuMDQyNTc0NyA5LjA4ODAwODIsMzEuOTU3NDUxMyBMNTguNzA3MjIxMywzLjMxODg2Njg4IEM1OS4yNTY2NjM5LDMuMDAxODk5MzUgNTkuNzc1MTIzLDIuODUyMTkxNTYgNjAuMjM0NzEzMSwyLjg1MjE5MTU2IEM2MC41NjgzMDMzLDIuODUyMTkxNTYgNjAuODY5ODc3LDIuOTMwNjU5MDkgNjEuMTMwMTM5MywzLjA4MTM5OTM1IEw1Ni4yMjAyNzA1LDAuMjMwNzU2NDk0IEM1NS45NjEwNDEsMC4wNzg5ODM3NjYyIDU1LjY1ODQzNDQsMC4wMDA1MTYyMzM3NjYgNTUuMzI1ODc3LDAuMDAwNTE2MjMzNzY2IE01NS4zMjU4NzcsMC42MzM0MTg4MzEgQzU1LjU0Mzc5NTEsMC42MzM0MTg4MzEgNTUuNzM3OTU5LDAuNjgxOTQ0ODA1IDU1LjkwMjE3MjEsMC43NzY5MzE4MTggTDU4Ljg5NjIyMTMsMi41MTY2Mzk2MSBDNTguNzI4OTA5OCwyLjU4Nzg3OTg3IDU4LjU2MDU2NTYsMi42NzM1NzQ2OCA1OC4zOTExODg1LDIuNzcxNjU5MDkgTDguNzcxOTc1NDEsMzEuNDEwMjQzNSBDNi42ODQ3MTMxMSwzMi42MTQxMDA2IDUuMDU0OTc1NDEsMzUuNDM2ODY2OSA1LjA2MjIwNDkyLDM3LjgzNTI4OSBMNS4xMzg2MzExNSw2NC44NDE1NDIyIEM1LjEzODYzMTE1LDY1LjAyMTE5MTYgNS4xNDg5NTkwMiw2NS4xOTU2Nzg2IDUuMTY3NTQ5MTgsNjUuMzYyOTM4MyBMMi4xNzM1LDYzLjYyMzIzMDUgQzEuNzM4Njk2NzIsNjMuMzcwMjc2IDEuNDk4MDU3MzgsNjIuNzg3OTY0MyAxLjQ5NTk5MTgsNjEuOTg1NzM3IEwxLjQxOTU2NTU3LDM0Ljk3OTQ4MzggQzEuNDEzMzY4ODUsMzMuMDU5MDk0MiAyLjgyMzEyMjk1LDMwLjYxOTM3MzQgNC40OTUyMDQ5MiwyOS42NTQwMTYyIEw1NC4xMTU0NTA4LDEuMDE0Mzk5MzUgQzU0LjU0ODE4ODUsMC43NjU1NzQ2NzUgNTQuOTY2NDY3MiwwLjYzMzQxODgzMSA1NS4zMjU4NzcsMC42MzM0MTg4MzEiIGlkPSJGaWxsLTM1Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA4ODUyNDU5LDMyLjI3NDIxMjMgQzkuMDMzNzg2ODksMzIuMjc0MjEyMyA4Ljk4MDA4MTk3LDMyLjI1OTc1NzggOC45Mjk0NzU0MSwzMi4yMzE4ODEyIEw0LjM4OTM0NDI2LDI5LjU5MzkyNjYgQzQuMjM3NTI0NTksMjkuNTA2MTY2OSA0LjE4NTg4NTI1LDI5LjMxMjA2MyA0LjI3MzY3MjEzLDI5LjE2MTMyMjcgQzQuMzYyNDkxOCwyOS4wMDk1NSA0LjU1NjY1NTc0LDI4Ljk1OTk5MTYgNC43MDc0NDI2MiwyOS4wNDY3MTg4IEw5LjI0NzU3Mzc3LDMxLjY4NDY3MzQgQzkuMzk4MzYwNjYsMzEuNzcyNDMzMSA5LjQ1LDMxLjk2NTUwNDUgOS4zNjIyMTMxMSwzMi4xMTcyNzczIEM5LjMwMzM0NDI2LDMyLjIxNzQyNjYgOS4xOTY5NjcyMSwzMi4yNzQyMTIzIDkuMDg4NTI0NTksMzIuMjc0MjEyMyIgaWQ9IkZpbGwtMzciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTU4LjcwNzYzNDQsMy42MzUzMTgxOCBDNTguNjUyODk2NywzLjYzNTMxODE4IDU4LjU5OTE5MTgsMy42MjE4OTYxIDU4LjU0ODU4NTIsMy41OTI5ODcwMSBMNTMuOTY5MjA4MiwwLjkzMjMxODE4MiBDNTMuODE4NDIxMywwLjg0NDU1ODQ0MiA1My43NjY3ODIsMC42NTA0NTQ1NDUgNTMuODU0NTY4OSwwLjQ5OTcxNDI4NiBDNTMuOTQyMzU1NywwLjM0NjkwOTA5MSA1NC4xMzY1MTk3LDAuMjk4MzgzMTE3IDU0LjI4NzMwNjYsMC4zODUxMTAzOSBMNTguODY2NjgzNiwzLjA0NTc3OTIyIEM1OS4wMTc0NzA1LDMuMTMzNTM4OTYgNTkuMDY5MTA5OCwzLjMyNjYxMDM5IDU4Ljk4MTMyMywzLjQ3ODM4MzEyIEM1OC45MjI0NTQxLDMuNTc5NTY0OTQgNTguODE2MDc3LDMuNjM1MzE4MTggNTguNzA3NjM0NCwzLjYzNTMxODE4IiBpZD0iRmlsbC0zOSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy4zMjA5MjYyMyw2My4zMzk5MjE0IEMyLjc5NjI3MDQ5LDYzLjMzOTkyMTQgMi4zNzA3NjIzLDYyLjkxNTU3NzMgMi4zNzA3NjIzLDYyLjM5MDA1MTMgTDIuMzcwNzYyMyw1OC4xMzAwOTAzIEMyLjM3MDc2MjMsNTcuNjA0NTY0MyAyLjc5NjI3MDQ5LDU3LjE4MDIyMDEgMy4zMjA5MjYyMyw1Ny4xODAyMjAxIEMzLjg0NTU4MTk3LDU3LjE4MDIyMDEgNC4yNzAwNTczOCw1Ny42MDQ1NjQzIDQuMjcwMDU3MzgsNTguMTMwMDkwMyBMNC4yNzAwNTczOCw2Mi4zOTAwNTEzIEM0LjI3MDA1NzM4LDYyLjkxNTU3NzMgMy44NDU1ODE5Nyw2My4zMzk5MjE0IDMuMzIwOTI2MjMsNjMuMzM5OTIxNCIgaWQ9IkZpbGwtNDEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTQ3IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgNjguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNsaXAtNDYiPjwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTc5Ljg2NTUwNjcsNTEuOTU3Njg5NyBDODAuMzMyNzcwNiw1MC4yNzIxNzI0IDgxLjQ3MTM3MTgsNDguNjk5MjkzMSA4Mi43NjcwNzczLDQ3Ljk1MDUzNDUgQzgzLjM3MDM5MDIsNDcuNjAyMDg2MiA4My45NDIxMjAyLDQ3LjQ3OTcyNDEgODQuMzM4OTMwMSw0Ny42MTUwNTE3IEM4NC42MTI2NDc5LDQ3LjcwNzQzMSA4NC44MTgzNDExLDQ3LjkyNjIyNDEgODQuOTY3MzQ3Miw0OC4yODQzOTY2IEw4OC41NTQwMjIxLDU2LjkxOTQzMSBDODguNTYzNzM5OSw1Ni45NDEzMTAzIDg4LjU3NjY5NjksNTYuOTYwNzU4NiA4OC41ODcyMjQ1LDU2Ljk4MTAxNzIgQzg4LjU5Nzc1MjEsNTcuMDAwNDY1NSA4OC42MDU4NTAzLDU3LjAxOTkxMzggODguNjE3OTk3NSw1Ny4wMzg1NTE3IEM4OC42MzUwMDM3LDU3LjA2NDQ4MjggODguNjU1MjQ5MSw1Ny4wODcxNzI0IDg4LjY3NDY4NDcsNTcuMTA5ODYyMSBDODguNjg1MjEyMyw1Ny4xMjM2Mzc5IDg4LjY5NDkzMDEsNTcuMTM4MjI0MSA4OC43MDYyNjc1LDU3LjE0OTU2OSBDODguNzMyMTgxNiw1Ny4xNzYzMTAzIDg4Ljc2MDUyNTIsNTcuMTk5ODEwMyA4OC43ODk2Nzg1LDU3LjIyMTY4OTcgQzg4Ljc5Nzc3NjcsNTcuMjI4MTcyNCA4OC44MDUwNjUsNTcuMjM1NDY1NSA4OC44MTMxNjMyLDU3LjI0MTk0ODMgQzg5LjAwNzUxOSw1Ny4zNzgwODYyIDg5LjI2MjYxMSw1Ny40MjEwMzQ1IDg5LjQ5OTg4NzEsNTcuMzMyNzA2OSBMODkuODMxMTAxOCw1Ny4yMDc5MTM4IEw5MC4wNzQ4NTY0LDU3LjExODc3NTkgQzkwLjIxMDkwNTUsNTcuMDY4NTM0NSA5MC4zNDc3NjQ0LDU3LjAxODI5MzEgOTAuNDg1NDMzMSw1Ni45Njk2NzI0IEM5MC43ODY2ODQ3LDU2Ljg2MTg5NjYgOTEuMDkwMzY1Niw1Ni43NTk3OTMxIDkxLjM5NDA0NjYsNTYuNjU3Njg5NyBMOTIuMzY1MDE2LDU2LjM0MTY1NTIgQzkyLjgwMjMxNjYsNTYuMjAzMDg2MiA5My4yNDA0MjcsNTYuMDY4NTY5IDkzLjY4MjU4NjUsNTUuOTQwNTM0NSBDOTMuODUxMDI4Miw1NS44OTE5MTM4IDk0LjAxOTQ2OTksNTUuODQ0OTEzOCA5NC4xODc5MTE3LDU1Ljc5NjI5MzEgTDk0LjI3OTQyMDksNTUuNzcxMTcyNCBDOTQuNjg0MzI4OCw1NS42NTc3MjQxIDk1LjA5MDA0NjYsNTUuNTQ5OTQ4MyA5NS40OTczODQsNTUuNDQ2MjI0MSBMOTUuNjA2NzA5Miw1NS40MTcwNTE3IEM5NS43NjMwMDM3LDU1LjM3NjUzNDUgOTUuOTIwMTA4LDU1LjMzNjAxNzIgOTYuMDc3MjEyMyw1NS4yOTc5MzEgQzk2LjU2NjM0MTEsNTUuMTc3MTg5NyA5Ny4wNTU0Njk5LDU1LjA2Mzc0MTQgOTcuNTQ2MjE4NCw1NC45NTUxNTUyIEw5Ny44NTM5NDg1LDU0Ljg4NTQ2NTUgQzk4LjQ0NDMwNDMsNTQuNzU5MDUxNyA5OS4wMzcwODk2LDU0LjY0MjM2MjEgOTkuNjI3NDQ1NCw1NC41MzM3NzU5IEwxMDAuMDIxMDE2LDU0LjQ2NjUxNzIgQzEwMC42MTU0MjEsNTQuMzYxMTcyNCAxMDEuMjA5MDE2LDU0LjI2NjM2MjEgMTAxLjgwNDIzMSw1NC4xNzk2NTUyIEwxMDIuMjY1MDE2LDU0LjExMjM5NjYgQzEwMi45NjA2NDgsNTQuMDE2Nzc1OSAxMDMuNjQ3MzcyLDUzLjkzNDEyMDcgMTA0LjMwNTc1Miw1My44NjYwNTE3IEwxMDQuODM2MTgyLDUzLjgxNzQzMSBDMTA1LjIyNjUxMyw1My43ODE3NzU5IDEwNS42MTUyMjUsNTMuNzQ3NzQxNCAxMDYuMDA0NzQ2LDUzLjcyMDE4OTcgQzEwNi4yMTQ0ODgsNTMuNzA0NzkzMSAxMDYuNDIxODAxLDUzLjY5MjYzNzkgMTA2LjYzMDczNCw1My42Nzk2NzI0IEMxMDcuMDAwMDEsNTMuNjU3NzkzMSAxMDcuMzY2ODU2LDUzLjYzODM0NDggMTA3LjczNTMyMyw1My42MjM3NTg2IEMxMDcuOTUyMzUzLDUzLjYxNDg0NDggMTA4LjE2OTM4NCw1My42MDUxMjA3IDEwOC4zODU2MDUsNTMuNTk4NjM3OSBDMTA4LjY0Nzk4NSw1My41OTIxNTUyIDEwOC45MTAzNjYsNTMuNTg3MjkzMSAxMDkuMTczNTU2LDUzLjU4NDA1MTcgQzEwOS42NzgwNzEsNTMuNTc1OTQ4MyAxMTAuMTc4NTM3LDUzLjU3Njc1ODYgMTEwLjY4MDYyMyw1My41ODQ4NjIxIEwxMTAuNzY0MDM0LDUzLjU4NTY3MjQgQzExMC45ODE4NzUsNTMuNTg4OTEzOCAxMTEuMTk5NzE1LDUzLjU5MjE1NTIgMTExLjQxNTEyNiw1My41OTc4Mjc2IEMxMTEuNjI4MTA4LDUzLjYwNTEyMDcgMTExLjg0MDI4LDUzLjYxNDg0NDggMTEyLjA1MjQ1Miw1My42MjM3NTg2IEMxMTIuMzE0MDIyLDUzLjYzNDI5MzEgMTEyLjU3NDc4Myw1My42NDcyNTg2IDExMi44MzQ3MzQsNTMuNjYyNjU1MiBDMTEzLjA0NDQ3Niw1My42NzQ4MTAzIDExMy4yNTQyMTgsNTMuNjg5Mzk2NiAxMTMuNDYzOTYxLDUzLjcwNDc5MzEgQzExMy43MjQ3MjEsNTMuNzI0MjQxNCAxMTMuOTg1NDgyLDUzLjc0NDUgMTE0LjI0MzgxMyw1My43NjcxODk3IEMxMTQuNDMzMzEsNTMuNzg1MDE3MiAxMTQuNjIxOTk4LDUzLjgwMjg0NDggMTE0LjgwOTA2NSw1My44MjIyOTMxIEMxMTUuMDczODc1LDUzLjg0OTAzNDUgMTE1LjMzNjI1NSw1My44Nzk4Mjc2IDExNS41OTYyMDYsNTMuOTExNDMxIEMxMTUuNzgwMDM0LDUzLjkzMzMxMDMgMTE1Ljk2MzA1Myw1My45NTYgMTE2LjE0NDQ1Miw1My45ODAzMTAzIEMxMTYuNDEyNTAxLDU0LjAxNjc3NTkgMTE2LjY3ODEyLDU0LjA1NzI5MzEgMTE2Ljk0MTMxLDU0LjA5ODYyMDcgTDExNy4wOTExMjYsNTQuMTIxMzEwMyBDMTE3LjIxMDE2OSw1NC4xMzkxMzc5IDExNy4zMjY3ODMsNTQuMTU3Nzc1OSAxMTcuNDQyNTg3LDU0LjE3NjQxMzggQzExNy43MzA4ODEsNTQuMjI1ODQ0OCAxMTguMDE1MTI2LDU0LjI3OTMyNzYgMTE4LjMwMDk5MSw1NC4zMzUyNDE0IEwxMTguNDQ2NzU4LDU0LjM2MTk4MjggQzExOC41MzUwMjgsNTQuMzc4MTg5NyAxMTguNjIzMjk4LDU0LjM5NTIwNjkgMTE4LjcxMjM3OCw1NC40MTMwMzQ1IEMxMTkuMDE3Njc5LDU0LjQ3NDYyMDcgMTE5LjMxNzMxLDU0LjU0NDMxMDMgMTE5LjYxNTMyMyw1NC42MTQgTDExOS45NzE2NDIsNTQuNjk0MjI0MSBDMTIwLjM4NDY0OCw1NC43OTU1MTcyIDEyMC43OTE5ODUsNTQuOTAyNDgyOCAxMjEuMTkyODQ0LDU1LjAxNjc0MTQgQzEyMS42MjkzMzUsNTUuMTQyMzQ0OCAxMjIuMDU2OTE4LDU1LjI3NjA1MTcgMTIyLjQ3ODgzMiw1NS40MTc4NjIxIEMxMjIuNTU0MTQ1LDU1LjQ0MjE3MjQgMTIyLjYyNzAyOCw1NS40Njk3MjQxIDEyMi43MDA3MjEsNTUuNDk1NjU1MiBMMTIyLjg1NjIwNiw1NS41NTMxODk3IEMxMjMuMTQ1MzEsNTUuNjU0NDgyOCAxMjMuNDMyNzk1LDU1Ljc1NjU4NjIgMTIzLjcxNjIzMSw1NS44Njc2MDM0IEMxMjMuNzc2OTY3LDU1Ljg5MTEwMzQgMTIzLjgzNTI3NCw1NS45MTYyMjQxIDEyMy44OTQzOSw1NS45NDA1MzQ1IEwxMjQuMDQwOTY3LDU2LjAwMTMxMDMgQzEyNC40MTc1MzEsNTYuMTU0NDY1NSAxMjQuNzg1MTg4LDU2LjMxNDkxMzggMTI1LjE0MzkzNiw1Ni40ODI2NTUyIEwxMjUuMjMwNTg3LDU2LjUyMzE3MjQgQzEyNS4zMjc3NjQsNTYuNTY3NzQxNCAxMjUuNDI0OTQyLDU2LjYxMzEyMDcgMTI1LjUyMjEyLDU2LjY2MTc0MTQgQzEyNS44NTk4MTMsNTYuODI3MDUxNyAxMjYuMTYwMjU1LDU2Ljk4MTgyNzYgMTI2LjQzNTU5Myw1Ny4xMzA5MzEgQzEyNi40MzU1OTMsNTcuMzczMjI0MSAxMjYuNDM1NTkzLDU3LjY4NjgyNzYgMTI2LjQzNjQwMiw1OC4wMDM2NzI0IEwxMjYuNDM2NDAyLDU4LjAyNzE3MjQgQzExNy40MzUyOTgsNTMuNTMzIDEwMy4wNTg2MzYsNTMuNTYyMTcyNCA5MC4wMjU0NTc3LDU4LjE5ODE1NTIgTDg4LjQ5ODE0NDgsNTguMTg2IEw3OC44MzI5OTE0LDU1LjY4NzcwNjkgTDc5Ljg2NTUwNjcsNTEuOTU3Njg5NyBaIE03Ni4yNDQwMDk4LDU3LjQ1OTkzMSBMNzYuMjQ3MjQ5MSw1Ni40MjI2ODk3IEM3Ni4yNDcyNDkxLDU2LjQxNTM5NjYgNzYuMjQ0ODE5Niw1Ni40MDg5MTM4IDc2LjI0NDgxOTYsNTYuNDAxNjIwNyBDNzYuMjQ0MDA5OCw1Ni4zODg2NTUyIDc2LjI0NTYyOTQsNTYuMzc0ODc5MyA3Ni4yNDQwMDk4LDU2LjM2MTkxMzggTDc2LjI0NDAwOTgsNTYuMjI5MDE3MiBDNzYuMjQ0MDA5OCw1NS45NjI0MTM4IDc2LjEwMjI5Miw1NS43MTY4NzkzIDc1Ljg3MTQ5NDUsNTUuNTgzOTgyOCBDNzUuNzMyMjA2MSw1NS41MDM3NTg2IDc1LjU3MzQ4MjIsNTUuNDc3ODI3NiA3NS40MTg4MDc0LDU1LjQ5NDg0NDggQzc1LjI5MzI4NTksNTUuNDE3ODYyMSA3NS4xNjQ1MjUyLDU1LjM0MzMxMDMgNzUuMDQyMjQyOSw1NS4yNjM4OTY2IEM3NS4wMDQxODE2LDU1LjIzODc3NTkgNzQuOTY4NTQ5Nyw1NS4yMTI4NDQ4IDc0LjkyOTY3ODUsNTUuMTg2OTEzOCBDNzQuNjg5MTYzMiw1NS4wMjgwODYyIDc0LjQ1MjY5NjksNTQuODY1MjA2OSA3NC4yMjY3NTgzLDU0LjY5ODI3NTkgQzc0LjIxMjk5MTQsNTQuNjg3NzQxNCA3NC4xOTkyMjQ1LDU0LjY3NzIwNjkgNzQuMTg1NDU3Nyw1NC42Njc0ODI4IEM3My42Nzc3MDMxLDU0LjI4OTg2MjEgNzMuMjA1NTgwNCw1My44OTQ0MTM4IDcyLjc3Mzk0ODUsNTMuNDgwMzI3NiBDNzMuNDc3Njc4NSw1MS45MzAxMzc5IDczLjg0NjE0NDgsNTAuMzY2OTgyOCA3My44NDIwOTU3LDQ4LjkzMDI0MTQgQzczLjgzNzIzNjgsNDcuMTYyODc5MyA3My4yNDYwNzEyLDQ1Ljc1NTMxMDMgNzIuMTc3MTE0MSw0NC45NjYwMzQ1IEM3MS43MzczODQsNDQuNjQwMjc1OSA3MS4yMjgwMDk4LDQ0LjQzNjg3OTMgNzAuNjc3MzM1LDQ0LjM0NjEyMDcgQzcwLjY4Nzg2MjYsNDQuMzIzNDMxIDcwLjY5ODM5MDIsNDQuMjk3NSA3MC43MDg5MTc4LDQ0LjI3NDgxMDMgQzcwLjcxMDUzNzQsNDQuMjcxNTY5IDcwLjczMzIxMjMsNDQuMjI3IDcwLjczNDgzMTksNDQuMjIzNzU4NiBDNzAuNzk3OTk3NSw0NC4wOTI0ODI4IDcwLjg2NzY0MTcsNDMuOTYyODI3NiA3MC45MzcyODU5LDQzLjgzMDc0MTQgTDcxLjE4MjY2MDEsNDMuMzU2Njg5NyBDNzEuMjM2MTA4LDQzLjI2MjY4OTcgNzEuMjkxOTg1Myw0My4xNjc4NzkzIDcxLjM0ODY3MjQsNDMuMDczMDY5IEw3MS40MTUwNzczLDQyLjk2Mjg2MjEgQzcxLjUzNDkzMDEsNDIuNzYxMDg2MiA3MS42NTg4MzE5LDQyLjU1ODUgNzEuNzkwMDIyMSw0Mi4zNTY3MjQxIEM3MS44NzAxOTM5LDQyLjIzMjc0MTQgNzEuOTUzNjA0OSw0Mi4xMDg3NTg2IDcyLjAzNzgyNTgsNDEuOTg2Mzk2NiBDNzIuMTc1NDk0NSw0MS43ODYyNDE0IDcyLjMxODAyMjEsNDEuNTg2ODk2NiA3Mi40NjU0MDg2LDQxLjM4OTE3MjQgTDcyLjU2MTc3NjcsNDEuMjU3ODk2NiBDNzIuNjU0OTA1NSw0MS4xMzIyOTMxIDcyLjc0ODAzNDQsNDEuMDA1ODc5MyA3Mi44NDUyMTIzLDQwLjg4MjcwNjkgQzcyLjg4NDg5MzMsNDAuODMxNjU1MiA3Mi45MjcwMDM3LDQwLjc4MjIyNDEgNzIuOTY5MTE0MSw0MC43MzExNzI0IEw3My4wNTk4MTM1LDQwLjYyMzM5NjYgQzczLjIwOTYyOTQsNDAuNDQwMjU4NiA3My4zNTk0NDU0LDQwLjI1NzkzMSA3My41MzM1NTU4LDQwLjA1Nzc3NTkgQzczLjc2NTk3MywzOS43OTAzNjIxIDc0LjAxMDUzNzQsMzkuNTI0NTY5IDc0LjI2NDAwOTgsMzkuMjU5NTg2MiBDNzQuMzQ0MTgxNiwzOS4xNzUzMTAzIDc0LjQyNTE2MzIsMzkuMDkxMDM0NSA3NC41MDg1NzQyLDM5LjAwNjc1ODYgQzc0Ljc1NzE4NzcsMzguNzUxNSA3NS4wMTM4OTk0LDM4LjUwMDI5MzEgNzUuMjg1MTg3NywzOC4yNDM0MTM4IEw3NS4zNjEzMTA0LDM4LjE3MTI5MzEgQzc1LjQ1NjA1ODksMzguMDgxMzQ0OCA3NS41NTU2NjYzLDM3Ljk5MzgyNzYgNzUuNjU1MjczNiwzNy45MDM4NzkzIEw3NS44NzM5MjM5LDM3LjcwODU4NjIgQzc2LjAzODMxNjYsMzcuNTYxMTAzNCA3Ni4yMDE4OTk0LDM3LjQxNTI0MTQgNzYuMzcyNzcwNiwzNy4yNjkzNzkzIEM3Ni40NzM5OTc1LDM3LjE4NDI5MzEgNzYuNTc3NjU0LDM3LjA5ODM5NjYgNzYuNjgxMzEwNCwzNy4wMTMzMTAzIEw3Ni43ODkwMTYsMzYuOTIzMzYyMSBDNzcuMDIzODYyNiwzNi43MzEzMTAzIDc3LjI2MDMyODgsMzYuNTM5MjU4NiA3Ny41MDQwODM0LDM2LjM0ODgyNzYgQzc3LjY1NzEzODcsMzYuMjMwNTE3MiA3Ny44MTE4MTM1LDM2LjExMjIwNjkgNzcuOTY3Mjk4MiwzNS45OTQ3MDY5IEM3OC4yMTc1MzEzLDM1LjgwNTg5NjYgNzguNDc1MDUyOCwzNS42MTk1MTcyIDc4LjczNDE5MzksMzUuNDMzOTQ4MyBMNzguODA0NjQ3OSwzNS4zODQ1MTcyIEM3OC45MzkwNzczLDM1LjI4ODg5NjYgNzkuMDc0MzE2NiwzNS4xOTI0NjU1IDc5LjIxMDM2NTYsMzUuMDk3NjU1MiBDNzkuNTAxMDg5NiwzNC44OTgzMTAzIDc5Ljc5OTkxMTcsMzQuNzAwNTg2MiA4MC4xMDAzNTM0LDM0LjUwNTI5MzEgTDgwLjI3Njg5MzMsMzQuMzg4NjAzNCBDODAuMzcwMDIyMSwzNC4zMjc4Mjc2IDgwLjQ2MjM0MTEsMzQuMjY2MjQxNCA4MC41NjExMzg3LDM0LjIwNDY1NTIgTDgwLjgzNDg1NjQsMzQuMDM0NDgyOCBDODEuMTkzNjA0OSwzMy44MTE2Mzc5IDgxLjU1NTU5MjYsMzMuNTkwNDEzOCA4MS45MzA1Mzc0LDMzLjM3MTYyMDcgQzgyLjM0NzU5MjYsMzMuMTI5MzI3NiA4Mi43NzE5MzYyLDMyLjg5MzUxNzIgODMuMjAxMTM4NywzMi42NjA5NDgzIEM4My4yOTAyMTg0LDMyLjYxMzk0ODMgODMuMzc4NDg4MywzMi41NjY5NDgzIDgzLjQ2ODM3NzksMzIuNTIwNzU4NiBMODQuMjAyODgxLDMyLjEzOTA4NjIgQzg0LjMwMjQ4ODMsMzIuMDg3MjI0MSA4NC40MDI5MDU1LDMyLjAzNTM2MjEgODQuNTAxNzAzMSwzMS45ODUxMjA3IEw4NS4yOTM3MDMxLDMxLjYwMTAxNzIgQzg1LjQ3MjY3MjQsMzEuNTEzNSA4NS42NTI0NTE1LDMxLjQyNjc5MzEgODUuODM0NjYwMSwzMS4zNDI1MTcyIEM4Ni4wMTg0ODgzLDMxLjI1NjYyMDcgODYuMjA0NzQ2LDMxLjE3MzE1NTIgODYuMzkxMDAzNywzMS4wODg4NzkzIEM4Ni42NTc0MzMxLDMwLjk2ODk0ODMgODYuOTI1NDgyMiwzMC44NDkwMTcyIDg3LjE5NTE1MDksMzAuNzMzOTQ4MyBDODcuMzg1NDU3NywzMC42NTA0ODI4IDg3LjU3NjU3NDIsMzAuNTcwMjU4NiA4Ny43NzAxMjAyLDMwLjQ5MDAzNDUgQzg4LjAzOTc4OSwzMC4zNzczOTY2IDg4LjMxMTg4NzEsMzAuMjY2Mzc5MyA4OC41ODQ3OTUxLDMwLjE1Nzc5MzEgQzg4Ljc3NjcyMTUsMzAuMDgxNjIwNyA4OC45Njk0NTc3LDMwLjAwNDYzNzkgODkuMTYwNTc0MiwyOS45MzA4OTY2IEM4OS40MTA4MDc0LDI5LjgzNTI3NTkgODkuNjYxMDQwNSwyOS43NDIwODYyIDg5LjkxMjg5MzMsMjkuNjQ5NzA2OSBDODkuOTE1MzIyNywyOS42NDg4OTY2IDkwLjAwNDQwMjUsMjkuNjE1NjcyNCA5MC4wMDYwMjIxLDI5LjYxNDg2MjEgTDkwLjE0NDUwMDYsMjkuNTYzIEM5MC4yODYyMTg0LDI5LjUxMTk0ODMgOTAuNDI3MTI2NCwyOS40NTkyNzU5IDkwLjU3MTI3MzYsMjkuNDA5MDM0NSBDOTAuNjg1NDU3NywyOS4zNjc3MDY5IDkwLjgwMTI2MTMsMjkuMzI4ODEwMyA5MC45MTYyNTUyLDI5LjI4OTkxMzggTDkxLjAyODgxOTYsMjkuMjUxODI3NiBDOTEuMTc5NDQ1NCwyOS4xOTkxNTUyIDkxLjMzMDg4MSwyOS4xNDcyOTMxIDkxLjQ4MzkzNjIsMjkuMDk1NDMxIEw5Mi40NTI0NzYxLDI4Ljc4MDIwNjkgQzkyLjg4OTc3NjcsMjguNjQyNDQ4MyA5My4zMjcwNzczLDI4LjUwNzkzMSA5My43NjY4MDc0LDI4LjM3OTg5NjYgQzkzLjk2NjAyMjEsMjguMzIyMzYyMSA5NC4xNjYwNDY2LDI4LjI2NjQ0ODMgOTQuMzY3NjkwOCwyOC4yMDk3MjQxIEM5NC43NzA5NzkxLDI4LjA5Nzg5NjYgOTUuMTc1ODg3MSwyNy45ODg1IDk1LjU4MzIyNDUsMjcuODgzOTY1NSBMOTUuNzIyNTEyOSwyNy44NDkxMjA3IEM5NS44Njk4OTk0LDI3LjgxMDIyNDEgOTYuMDE2NDc2MSwyNy43NzIxMzc5IDk2LjE2Mzg2MjYsMjcuNzM1NjcyNCBDOTYuNjUyMTgxNiwyNy42MTY1NTE3IDk3LjE0MTMxMDQsMjcuNTAyMjkzMSA5Ny42MzY5MTc4LDI3LjM5MzcwNjkgTDk3Ljk0MDU5ODgsMjcuMzI0ODI3NiBDOTguNTMwOTU0NiwyNy4xOTc2MDM0IDk5LjEyMjkzMDEsMjcuMDgxNzI0MSA5OS43MTQwOTU3LDI2Ljk3MzEzNzkgTDEwMC4xMDc2NjYsMjYuOTA1ODc5MyBDMTAwLjcwMTI2MSwyNi44MDA1MzQ1IDEwMS4yOTQwNDcsMjYuNzA1NzI0MSAxMDEuODg3NjQyLDI2LjYxODIwNjkgTDEwMi4zNTI0NzYsMjYuNTUwOTQ4MyBDMTAzLjAzMjcyMSwyNi40NTY5NDgzIDEwMy43MTk0NDUsMjYuMzc1MTAzNCAxMDQuMzkyNDAyLDI2LjMwNjIyNDEgTDEwNC45MjQ0NTIsMjYuMjU2NzkzMSBDMTA1LjMxMzE2MywyNi4yMjAzMjc2IDEwNS43MDEwNjUsMjYuMTg3MTAzNCAxMDYuMDg5Nzc3LDI2LjE1OTU1MTcgQzEwNi4yOTc4OTksMjYuMTQ0MTU1MiAxMDYuNTA1MjEyLDI2LjEzMTE4OTcgMTA2LjcxODE5NCwyNi4xMTgyMjQxIEMxMDYuOTY1OTk4LDI2LjEwMzYzNzkgMTA3LjIxMjE4MiwyNi4wOTIyOTMxIDEwNy40NTkxNzUsMjYuMDgwOTQ4MyBMMTA3LjUxOTkxMiw0NS4yODQ1IEw4OS42Mjc4MzgsNTUuNjIxMjU4NiBMODYuMzQyNDE0Nyw0Ny43MTMxMDM0IEM4Ni4wMjkwMTYsNDYuOTU3MDUxNyA4NS41MDE4MjU4LDQ2LjQzNTE4OTcgODQuODE3NTMxMyw0Ni4yMDI2MjA3IEM4NC4wMDIwNDY2LDQ1LjkyNTQ4MjggODMuMDEwODMxOSw0Ni4wODgzNjIxIDgyLjAyMjg1NjQsNDYuNjU5NjU1MiBDODAuMzgyMTY5Myw0Ny42MDc3NTg2IDc5LjAwNTQ4MjIsNDkuNDg0NTE3MiA3OC40MzA1MTI5LDUxLjU1OSBMNzYuMjQ0MDA5OCw1OS40NTkwNTE3IEw3Ni4yNDQwMDk4LDU3LjQ1OTkzMSBaIE01OC4wMzEyNDkxLDExLjkwMTUzNDUgTDMuMjI1MzM0OTcsNDMuNjE4NDMxIEwzLjIyNTMzNDk3LDM3Ljc5NTI5MzEgQzMuMjI1MzM0OTcsMzUuMDY3NjcyNCA0LjY5MTEwMTg0LDMyLjUyNTYyMDcgNy4wNTA5MDU1MiwzMS4xNjAxODk3IEw1NC4zMDQ0NzYxLDMuODE0MjkzMSBDNTUuMDgyNzA5MiwzLjM2MjkzMTAzIDU2LjAxMDc1ODMsMy4zNjIxMjA2OSA1Ni43ODgxODE2LDMuODEyNjcyNDEgQzU3LjU2NjQxNDcsNC4yNjE2MDM0NSA1OC4wMzEyNDkxLDUuMDY2Mjc1ODYgNTguMDMxMjQ5MSw1Ljk2NDk0ODI4IEw1OC4wMzEyNDkxLDExLjkwMTUzNDUgWiBNMTI3LjIwOTc3NywyNS40Mzk5NjU1IEMxMjcuMTQ5ODUsMjUuNDA2NzQxNCAxMjcuMDg5OTI0LDI1LjM3NDMyNzYgMTI3LjAyOTk5OCwyNS4zNDI3MjQxIEMxMjYuOTUzMDY1LDI1LjMwMjIwNjkgMTI2Ljg4MDE4MiwyNS4yNjA4NzkzIDEyNi44MDMyNDksMjUuMjIwMzYyMSBDMTI2LjgwMjQzOSwyNS4yMTk1NTE3IDEyNi44MDE2MjksMjUuMjE5NTUxNyAxMjYuODAxNjI5LDI1LjIxOTU1MTcgQzEyNi42NDEyODYsMjUuMTM1Mjc1OSAxMjYuNDc5MzIzLDI1LjA1NDI0MTQgMTI2LjMxNTc0LDI0Ljk3MzIwNjkgQzEyNi4yOTcxMTQsMjQuOTY0MjkzMSAxMjYuMjc5Mjk4LDI0Ljk1NTM3OTMgMTI2LjI2MTQ4MiwyNC45NDU2NTUyIEMxMjYuMTU3ODI2LDI0Ljg5NTQxMzggMTI2LjA1MDkzLDI0Ljg0NTk4MjggMTI1LjkwNjc4MywyNC43Nzg3MjQxIEMxMjUuOTAzNTQ0LDI0Ljc3NjI5MzEgMTI1Ljg2NDY3MiwyNC43NTg0NjU1IDEyNS44NjA2MjMsMjQuNzU2MDM0NSBDMTI1Ljg0MzYxNywyNC43NDc5MzEgMTI1LjgyNDk5MSwyNC43NDE0NDgzIDEyNS44MDc5ODUsMjQuNzMyNTM0NSBDMTI1LjQ5Mjk2NywyNC41ODgyOTMxIDEyNS4xNzE0NywyNC40NDgxMDM0IDEyNC44NDUxMTQsMjQuMzEzNTg2MiBDMTI0Ljc5MjQ3NiwyNC4yOTA4OTY2IDEyNC43NDIyNjcsMjQuMjY2NTg2MiAxMjQuNjg4ODIsMjQuMjQ1NTE3MiBMMTI0LjU2MDg2OSwyNC4xOTEyMjQxIEMxMjQuNDg3OTg1LDI0LjE2MTI0MTQgMTI0LjQxNTEwMiwyNC4xMzEyNTg2IDEyNC4zNDA1OTksMjQuMTAyMDg2MiBDMTI0LjMxOTU0NCwyNC4wOTMxNzI0IDEyNC4yOTYwNTksMjQuMDg1ODc5MyAxMjQuMjc0MTk0LDI0LjA3Nzc3NTkgQzEyNC4yNTIzMjksMjQuMDY4ODYyMSAxMjQuMjI4MDM0LDI0LjA2MDc1ODYgMTI0LjIwNjE2OSwyNC4wNTE4NDQ4IEMxMjMuOTUzNTA3LDIzLjk1NjIyNDEgMTIzLjY5NzYwNSwyMy44NjMwMzQ1IDEyMy40MzkyNzQsMjMuNzcxNDY1NSBMMTIzLjI4NzgzOCwyMy43MTYzNjIxIEMxMjMuMjA1MjM3LDIzLjY4NjM3OTMgMTIzLjEyMTgyNiwyMy42NTYzOTY2IDEyMy4wMzc2MDUsMjMuNjI4MDM0NSBDMTIyLjU5NTQ0NSwyMy40Nzg5MzEgMTIyLjE0NTk5OCwyMy4zMzk1NTE3IDEyMS42ODY4MzIsMjMuMjA3NDY1NSBDMTIxLjI2ODE1NywyMy4wODgzNDQ4IDEyMC44NDMwMDQsMjIuOTc2NTE3MiAxMjAuNDEwNTYyLDIyLjg3MDM2MjEgQzEyMC4zMzM2MjksMjIuODUxNzI0MSAxMjAuMjU1MDc3LDIyLjgzNDcwNjkgMTIwLjE3NzMzNSwyMi44MTY4NzkzIEwxMjAuMDQxMjg2LDIyLjc4Njg5NjYgQzExOS43Mjg2OTcsMjIuNzEzOTY1NSAxMTkuNDE0NDg4LDIyLjY0MTg0NDggMTE5LjA5NDYxMSwyMi41NzYyMDY5IEwxMTguNjY3ODM4LDIyLjQ5NTk4MjggQzExOC4zNzIyNTUsMjIuNDM4NDQ4MyAxMTguMDc2NjcyLDIyLjM4MTcyNDEgMTE3Ljc3NzA0LDIyLjMzMTQ4MjggQzExNy42NTQ3NTgsMjIuMzExMjI0MSAxMTcuNTMxNjY2LDIyLjI5MjU4NjIgMTE3LjQwODU3NCwyMi4yNzMxMzc5IEwxMTcuMjU3MTM5LDIyLjI0OTYzNzkgQzExNi45ODE4MDEsMjIuMjA2Njg5NyAxMTYuNzA3Mjc0LDIyLjE2NDU1MTcgMTE2LjQzMDMxNywyMi4xMjcyNzU5IEMxMTYuMjY1MTE0LDIyLjEwNTM5NjYgMTE2LjA5OTEwMiwyMi4wODUxMzc5IDExNS45MzMwOSwyMi4wNjQwNjkgTDExNS44NjQyNTUsMjIuMDU1OTY1NSBDMTE1LjYwOTE2MywyMi4wMjUxNzI0IDExNS4zNTI0NTIsMjEuOTk1MTg5NyAxMTUuMTEwMzE3LDIxLjk3MDg3OTMgQzExNS4xMDQ2NDgsMjEuOTcwMDY5IDExNS4wNTI4MiwyMS45NjM1ODYyIDExNS4wNDc5NjEsMjEuOTYzNTg2MiBDMTE0Ljg1NTIyNSwyMS45NDQxMzc5IDExNC42NjAwNTksMjEuOTI0Njg5NyAxMTQuNDYzMjc0LDIxLjkwNjg2MjEgQzExNC4xOTY4NDQsMjEuODgzMzYyMSAxMTMuOTI4Nzk1LDIxLjg2MjI5MzEgMTEzLjY1OTEyNiwyMS44NDI4NDQ4IEMxMTMuNDQyMDk2LDIxLjgyNjYzNzkgMTEzLjIyNTA2NSwyMS44MTEyNDE0IDExMy4wMTQ1MTMsMjEuNzk5MDg2MiBMMTEyLjkyMDU3NCwyMS43OTQyMjQxIEMxMTIuNjgxNjc5LDIxLjc4MDQ0ODMgMTEyLjQ0MTE2MywyMS43NjgyOTMxIDExMi4xOTk4MzgsMjEuNzU3NzU4NiBDMTExLjk4MzYxNywyMS43NDg4NDQ4IDExMS43NjY1ODcsMjEuNzM5OTMxIDExMS41NDc5MzYsMjEuNzMzNDQ4MyBDMTExLjMyMzYxNywyMS43MjYxNTUyIDExMS4wOTg0ODgsMjEuNzIyOTEzOCAxMTAuODcyNTUsMjEuNzIwNDgyOCBMMTEwLjc4ODMyOSwyMS43MTg4NjIxIEMxMTAuMjc0MDk2LDIxLjcxMDc1ODYgMTA5Ljc2MTQ4MiwyMS43MDk5NDgzIDEwOS4yMzgzNDEsMjEuNzE3MjQxNCBDMTA4Ljk2ODY3MiwyMS43MjEyOTMxIDEwOC42OTk4MTMsMjEuNzI0NTM0NSAxMDguNDI4NTI1LDIxLjczMzQ0ODMgQzEwOC4yNTQ0MTUsMjEuNzM4MzEwMyAxMDguMDc5NDk0LDIxLjc0NTYwMzQgMTA3LjkwNDU3NCwyMS43NTI4OTY2IEwxMDcuNzU3MTg4LDIxLjc1Nzc1ODYgQzEwNy4zODIyNDMsMjEuNzczOTY1NSAxMDcuMDA1Njc5LDIxLjc5MjYwMzQgMTA2LjYyMDIwNiwyMS44MTY5MTM4IEMxMDYuNDA3MjI1LDIxLjgyOTA2OSAxMDYuMTk1MDUzLDIxLjg0Mjg0NDggMTA1Ljk4MjA3MSwyMS44NTc0MzEgQzEwNS41ODQ0NTIsMjEuODg2NjAzNCAxMDUuMTg2MDIyLDIxLjkyMTQ0ODMgMTA0Ljc4NTE2MywyMS45NTc5MTM4IEwxMDQuMjQwOTY3LDIyLjAwODE1NTIgQzEwMy41NjM5NjEsMjIuMDc3MDM0NSAxMDIuODYwMjMxLDIyLjE2MTMxMDMgMTAyLjE1MDAyMiwyMi4yNjAxNzI0IEwxMDEuNjczMDQsMjIuMzI5MDUxNyBDMTAxLjA2NDg2OSwyMi40MTczNzkzIDEwMC40NTc1MDcsMjIuNTE1NDMxIDk5Ljg0NjA5NTcsMjIuNjIzMjA2OSBMOTkuNDQ2MDQ2NiwyMi42OTIwODYyIEM5OC44Mzk0OTQ1LDIyLjgwMzEwMzQgOTguMjMzNzUyMSwyMi45MjIyMjQxIDk3LjYyMzE1MDksMjMuMDUzNSBMOTcuMzEyMTgxNiwyMy4xMjQgQzk2LjgxMDA5NTcsMjMuMjM1MDE3MiA5Ni4zMDgwMDk4LDIzLjM1MDA4NjIgOTUuODA4MzUzNCwyMy40NzQ4NzkzIEM5NS42MzkxMDE4LDIzLjUxNTM5NjYgOTUuNDcwNjYwMSwyMy41NTkxNTUyIDk1LjMwMjIxODQsMjMuNjAyOTEzOCBMOTUuMjEyMzI4OCwyMy42MjU2MDM0IEM5NC43OTYwODM0LDIzLjczMjU2OSA5NC4zODA2NDc5LDIzLjg0NDM5NjYgOTMuOTY2MDIyMSwyMy45NTk0NjU1IEM5My43NjExMzg3LDI0LjAxNyA5My41NTYyNTUyLDI0LjA3NDUzNDUgOTMuMzUwNTYyLDI0LjEzMzY4OTcgQzkyLjkwMDMwNDMsMjQuMjY0OTY1NSA5Mi40NTE2NjYzLDI0LjQwMjcyNDEgOTIuMDAzODM4LDI0LjU0NDUzNDUgTDkxLjgxNzU4MDQsMjQuNjAyMDY5IEM5MS43MjIwMjIxLDI0LjYzMTI0MTQgOTEuNjI3MjczNiwyNC42NjA0MTM4IDkxLjUzMzMzNSwyNC42OTEyMDY5IEM5MS40MTUxMDE4LDI0LjcyOTI5MzEgOTEuMjk2ODY4NywyNC43Njk4MTAzIDkxLjE3ODYzNTYsMjQuODEwMzI3NiBMOTAuMDc0MDQ2NiwyNS4xODg3NTg2IEM4OS45MjUwNDA1LDI1LjI0MTQzMSA4OS43Nzc2NTQsMjUuMjk1NzI0MSA4OS42MzAyNjc1LDI1LjM1MDAxNzIgTDg5LjM5Nzg1MDMsMjUuNDM1OTEzOCBDODkuMTQwMzI4OCwyNS41MzE1MzQ1IDg4Ljg4MjgwNzQsMjUuNjI2MzQ0OCA4OC42MjYwOTU3LDI1LjcyNTIwNjkgQzg4LjQyNjg4MSwyNS44MDIxODk3IDg4LjIzMDA5NTcsMjUuODc5MTcyNCA4OC4wMzQxMjAyLDI1Ljk1ODU4NjIgQzg3Ljc1MzExNDEsMjYuMDcwNDEzOCA4Ny40NzM3Mjc2LDI2LjE4MzA1MTcgODcuMTk1OTYwNywyNi4yOTk3NDE0IEM4Ny4xMDkzMTA0LDI2LjMzNjIwNjkgODcuMDIyNjYwMSwyNi4zNzI2NzI0IDg2LjkzNjAwOTgsMjYuNDA5OTQ4MyBDODYuODk4NzU4MywyNi40MjUzNDQ4IDg2Ljg2MDY5NjksMjYuNDQxNTUxNyA4Ni44MjI2MzU2LDI2LjQ1Njk0ODMgQzg2Ljc1MDU2MiwyNi40ODc3NDE0IDg2LjY3NzY3ODUsMjYuNTE3NzI0MSA4Ni42MDU2MDQ5LDI2LjU0OTMyNzYgQzg2LjMyNzgzOCwyNi42NjkyNTg2IDg2LjA1MjUwMDYsMjYuNzkxNjIwNyA4NS43Nzg3ODI4LDI2LjkxNTYwMzQgQzg1LjcxMDc1ODMsMjYuOTQ2Mzk2NiA4NS42NDM1NDM2LDI2Ljk3NzE4OTcgODUuNTc1NTE5LDI3LjAwNzE3MjQgQzg1LjQ4NjQzOTMsMjcuMDQ4NSA4NS4zOTY1NDk3LDI3LjA4OTAxNzIgODUuMzA3NDY5OSwyNy4xMjk1MzQ1IEM4NS4yNzM0NTc3LDI3LjE0NTc0MTQgODUuMjM5NDQ1NCwyNy4xNTk1MTcyIDg1LjIwNjI0MjksMjcuMTc1NzI0MSBDODUuMDQxMDQwNSwyNy4yNTI3MDY5IDg0Ljg3ODI2NzUsMjcuMzMxMzEwMyA4NC43MTU0OTQ1LDI3LjQwOTkxMzggTDg0LjIwNzczOTksMjcuNjU0NjM3OSBDODQuMTk1NTkyNiwyNy42NjExMjA3IDg0LjE4MzQ0NTQsMjcuNjY2NzkzMSA4NC4xNzEyOTgyLDI3LjY3MjQ2NTUgQzg0LjA3MDg4MSwyNy43MjE4OTY2IDgzLjk3MDQ2MzgsMjcuNzY5NzA2OSA4My44NzA4NTY0LDI3LjgxOTk0ODMgQzgzLjg1ODcwOTIsMjcuODI2NDMxIDgzLjg0NjU2MiwyNy44MzIxMDM0IDgzLjgzNDQxNDcsMjcuODM3Nzc1OSBDODMuNzI1ODk5NCwyNy44OTI4NzkzIDgzLjYxOTgxMzUsMjcuOTQ3OTgyOCA4My41MTI5MTc4LDI4LjAwMzg5NjYgTDgzLjE1NDk3OTEsMjguMTkwMjc1OSBDODIuOTM2MzI4OCwyOC4zMDQ1MzQ1IDgyLjcxNTI0OTEsMjguNDE1NTUxNyA4Mi40OTkwMjgyLDI4LjUzMjI0MTQgTDgyLjQ5MzM1OTUsMjguNTM1NDgyOCBDODIuMDUxMiwyOC43NzQ1MzQ1IDgxLjYxMzA4OTYsMjkuMDE3NjM3OSA4MS4xODIyNjc1LDI5LjI2ODg0NDggQzgwLjc5NTE3NTUsMjkuNDkzMzEwMyA4MC40MjAyMzA3LDI5LjcyMzQ0ODMgODAuMDUwOTU0NiwyOS45NTI3NzU5IEw3OS43NjI2NjAxLDMwLjEzMTA1MTcgQzc5Ljc1NjE4MTYsMzAuMTM1MTAzNCA3OS43NTA1MTI5LDMwLjEzOTE1NTIgNzkuNzQ0ODQ0MiwzMC4xNDIzOTY2IEM3OS42MDE1MDY3LDMwLjIzMjM0NDggNzkuNDY1NDU3NywzMC4zMjU1MzQ1IDc5LjMyNDU0OTcsMzAuNDE3MTAzNCBMNzkuMjg4MTA4LDMwLjQ0MDYwMzQgQzc5LjIyNzM3MTgsMzAuNDgwMzEwMyA3OS4xNjk4NzQ4LDMwLjUyMDAxNzIgNzkuMTA5OTQ4NSwzMC41NTk3MjQxIEM3Mi4zODkyODU5LDM0Ljk3NzcyNDEgNjguNDQyMjQyOSw0MC4zMjM1NjkgNjguMDcyMTU3MSw0NS41NTY3NzU5IEw2OC4wNTExMDE4LDQ1Ljg0NzY4OTcgQzY4LjA0Nzg2MjYsNDUuOTA5Mjc1OSA2OC4wNTExMDE4LDQ1Ljk3MDg2MjEgNjguMDQ4NjcyNCw0Ni4wMzMyNTg2IEM2OC4wNDU0MzMxLDQ2LjE0ODMyNzYgNjguMDMyNDc2MSw0Ni4yNjQyMDY5IDY4LjAzMjQ3NjEsNDYuMzc4NDY1NSBDNjguMDM4MTQ0OCw1MC4wMjUwMTcyIDY5Ljc5OTQ5NDUsNTMuMjI3NSA3My4xNDU2NTQsNTUuNzUwOTEzOCBDNzMuMTU1MzcxOCw1NS43NTgyMDY5IDczLjE2NTg5OTQsNTUuNzY2MzEwMyA3My4xNzY0MjcsNTUuNzczNjAzNCBDNzMuMzYxODc0OCw1NS45MTI5ODI4IDczLjU1MDU2Miw1Ni4wNDk5MzEgNzMuNzQ1NzI3Niw1Ni4xODUyNTg2IEM3My43ODM3ODksNTYuMjExMTg5NyA3My44MjE4NTAzLDU2LjIzNzkzMSA3My44NTk5MTE3LDU2LjI2Mzg2MjEgQzczLjg3NDQ4ODMsNTYuMjczNTg2MiA3My44ODY2MzU2LDU2LjI4MzMxMDMgNzMuOTAwNDAyNSw1Ni4yOTMwMzQ1IEw3My4xODkzODQsNTYuNzAzMDY5IEwzOC41NjQ4OTMzLDM2LjY5OTcwNjkgTDY4LjIyODQ1MTUsMTkuNTMzMzYyMSBDNjguMjMyNTAwNiwxOS41MzA5MzEgNjguMjM3MzU5NSwxOS41Mjc2ODk3IDY4LjI0MTQwODYsMTkuNTI2MDY5IEw5My4zNzY0NzYxLDQuOTc5NTY4OTcgTDEyOC4wMDAxNTcsMjQuOTgzNzQxNCBMMTI3LjIwOTc3NywyNS40Mzk5NjU1IFogTTEyOC4wMDUwMTYsMjkuMjMzMTg5NyBDMTI4LjAxMzkyNCwyOS4xNzI0MTM4IDEyOC4wMTIzMDQsMjkuMTEwODI3NiAxMjguMDA1MDE2LDI5LjA0OTI0MTQgTDEyOC4wMTE0OTQsMjYuNjk3NjIwNyBMMTI4Ljc0NDM3OCwyNi4yNzQ2MjA3IEwxMjguNzQ0Mzc4LDU3Ljc0MTkzMSBMMTI3LjkyOTcwMyw1OC4yMTM1NTE3IEwxMjguMDA1MDE2LDI5LjIzMzE4OTcgWiBNMTA4LjI2NjU2Miw0Ni41NzM3NTg2IEwxMTkuNDkyMjMxLDUzLjA1OTc1ODYgQzExOS4zMzE4ODcsNTMuMDIzMjkzMSAxMTkuMTczMTYzLDUyLjk4NjAxNzIgMTE5LjAxMDM5LDUyLjk1Mjc5MzEgQzExOC45MTQwMjIsNTIuOTMyNTM0NSAxMTguODE2MDM0LDUyLjkxNDcwNjkgMTE4LjcxODA0Nyw1Mi44OTYwNjkgTDExOC41ODExODgsNTIuODcwOTQ4MyBDMTE4LjI4NjQxNSw1Mi44MTQyMjQxIDExNy45OTI0NTIsNTIuNzU4MzEwMyAxMTcuNjkyMDEsNTIuNzA3MjU4NiBDMTE3LjU2ODEwOCw1Mi42ODYxODk3IDExNy40NDI1ODcsNTIuNjY3NTUxNyAxMTcuMzE3ODc1LDUyLjY0ODEwMzQgTDExNy4xNjk2NzksNTIuNjI0NjAzNCBDMTE2Ljg5NTk2MSw1Mi41ODI0NjU1IDExNi42MjE0MzMsNTIuNTQxMTM3OSAxMTYuMzQyODU2LDUyLjUwMzA1MTcgQzExNi4xNTQ5NzksNTIuNDc4NzQxNCAxMTUuOTY2MjkyLDUyLjQ1NDQzMSAxMTUuNzc1OTg1LDUyLjQzMTc0MTQgQzExNS41MDU1MDcsNTIuMzk5MzI3NiAxMTUuMjM1MDI4LDUyLjM2NzcyNDEgMTE0Ljk2MDUwMSw1Mi4zMzkzNjIxIEMxMTQuNzY3NzY0LDUyLjMxOTEwMzQgMTE0LjU3MjU5OSw1Mi4zMDEyNzU5IDExNC4zNzgyNDMsNTIuMjgyNjM3OSBDMTE0LjExMTgxMyw1Mi4yNTkxMzc5IDExMy44NDIxNDUsNTIuMjM4MDY5IDExMy41NzI0NzYsNTIuMjE3ODEwMyBDMTEzLjM1NjI1NSw1Mi4yMDI0MTM4IDExMy4xMzkyMjUsNTIuMTg3MDE3MiAxMTIuOTIyMTk0LDUyLjE3NDg2MjEgQzExMi42NTQxNDUsNTIuMTU4NjU1MiAxMTIuMzg0NDc2LDUyLjE0NTY4OTcgMTEyLjExNTYxNyw1Mi4xMzQzNDQ4IEMxMTEuODk4NTg3LDUyLjEyNDYyMDcgMTExLjY4MDc0Niw1Mi4xMTU3MDY5IDExMS40NjA0NzYsNTIuMTA5MjI0MSBDMTExLjIzNjE1Nyw1Mi4xMDE5MzEgMTExLjAxMTAyOCw1Mi4wOTg2ODk3IDExMC43ODY3MDksNTIuMDk1NDQ4MyBMMTEwLjcwMjQ4OCw1Mi4wOTM4Mjc2IEMxMTAuMTg2NjM2LDUyLjA4NjUzNDUgMTA5LjY2ODM1Myw1Mi4wODU3MjQxIDEwOS4xNTI1MDEsNTIuMDkzMDE3MiBDMTA4Ljg4MjgzMiw1Mi4wOTcwNjkgMTA4LjYxMzE2Myw1Mi4xMDExMjA3IDEwOC4zNDI2ODUsNTIuMTA5MjI0MSBDMTA4LjExOTk4NSw1Mi4xMTU3MDY5IDEwNy44OTY0NzYsNTIuMTI0NjIwNyAxMDcuNjczNzc3LDUyLjEzNDM0NDggQzEwNy4yOTcyMTIsNTIuMTQ4OTMxIDEwNi45MTk4MzgsNTIuMTY4Mzc5MyAxMDYuNTQxNjU0LDUyLjE5MTg3OTMgQzEwNi4zMjcwNTMsNTIuMjA0ODQ0OCAxMDYuMTEyNDUyLDUyLjIxNzgxMDMgMTA1Ljg5Nzg1LDUyLjIzNDAxNzIgQzEwNS40OTg2MTEsNTIuMjYyMzc5MyAxMDUuMDk4NTYyLDUyLjI5NjQxMzggMTA0LjY5OTMyMyw1Mi4zMzM2ODk3IEwxMDQuNTIzNTkzLDUyLjM0OTA4NjIgQzEwNC40MDA1MDEsNTIuMzYwNDMxIDEwNC4yNzc0MDksNTIuMzcxNzc1OSAxMDQuMTUzNTA3LDUyLjM4MzkzMSBDMTAzLjQ3ODkzLDUyLjQ1MjgxMDMgMTAyLjc3NTIsNTIuNTM3ODk2NiAxMDIuMDYwMTMzLDUyLjYzNTk0ODMgTDEwMS41ODk2MjksNTIuNzA0ODI3NiBDMTAwLjk4MDY0OCw1Mi43OTMxNTUyIDEwMC4zNzE2NjYsNTIuODkwMzk2NiA5OS43NjI2ODQ3LDUyLjk5ODE3MjQgTDk5LjM1OTM5NjMsNTMuMDY3ODYyMSBDOTguNzUzNjU0LDUzLjE3OTY4OTcgOTguMTQ3MTAxOCw1My4yOTggOTcuNTQxMzU5NSw1My40Mjc2NTUyIEw5Ny4yMjcxNTA5LDUzLjQ5OTc3NTkgQzk2LjcyMzQ0NTQsNTMuNjA5OTgyOCA5Ni4yMjIxNjkzLDUzLjcyNjY3MjQgOTUuNzIwODkzMyw1My44NTA2NTUyIEM5NS42OTE3Mzk5LDUzLjg1NzEzNzkgOTUuNjYyNTg2NSw1My44NjUyNDE0IDk1LjYzNDI0MjksNTMuODcxNzI0MSBMMTA4LjI2NjU2Miw0Ni41NzM3NTg2IFogTTEwOS4wMDkxNjMsNDUuMjgyODc5MyBMMTA4Ljk0ODQyNywyNi4wMjkwODYyIEMxMDkuMDUyODkzLDI2LjAyNjY1NTIgMTA5LjE1NjU1LDI2LjAyNDIyNDEgMTA5LjI2MDIwNiwyNi4wMjI2MDM0IEMxMDkuNzY1NTMxLDI2LjAxNTMxMDMgMTEwLjI2NTk5OCwyNi4wMTUzMTAzIDExMC43NjY0NjQsMjYuMDIzNDEzOCBMMTEwLjg0OTg3NSwyNi4wMjQyMjQxIEMxMTEuMDY4NTI1LDI2LjAyODI3NTkgMTExLjI4NzE3NSwyNi4wMzE1MTcyIDExMS41MDI1ODcsMjYuMDM4IEMxMTEuNzE0NzU4LDI2LjA0MzY3MjQgMTExLjkyNTMxLDI2LjA1MzM5NjYgMTEyLjEzNzQ4MiwyNi4wNjMxMjA3IEMxMTIuMzcxNTE5LDI2LjA3MjAzNDUgMTEyLjYwMzEyNiwyNi4wODMzNzkzIDExMi44Mzk1OTMsMjYuMDk3MTU1MiBDMTEyLjg0MTIxMiwyNi4wOTcxNTUyIDExMi45MTgxNDUsMjYuMTAxMjA2OSAxMTIuOTE5NzY0LDI2LjEwMTIwNjkgQzExMy4xMzExMjYsMjYuMTEzMzYyMSAxMTMuMzQwODY5LDI2LjEyNzk0ODMgMTEzLjU1MDYxMSwyNi4xNDQxNTUyIEMxMTMuODExMzcyLDI2LjE2Mjc5MzEgMTE0LjA3MTMyMywyNi4xODMwNTE3IDExNC4zMzA0NjQsMjYuMjA3MzYyMSBDMTE0LjUxOTE1MSwyNi4yMjM1NjkgMTE0LjcwNjIxOCwyNi4yNDEzOTY2IDExNC45NDEwNjUsMjYuMjY2NTE3MiBDMTE1LjE5MDQ4OCwyNi4yOTI0NDgzIDExNS40Mzc0ODIsMjYuMzIgMTE1LjY4Mjg1NiwyNi4zNDk5ODI4IEMxMTUuODY2Njg1LDI2LjM3MjY3MjQgMTE2LjA0ODg5MywyNi4zOTUzNjIxIDExNi4yMjk0ODIsMjYuNDE4ODYyMSBDMTE2LjQ5NzUzMSwyNi40NTUzMjc2IDExNi43NjMxNTEsMjYuNDk1ODQ0OCAxMTcuMDI5NTgsMjYuNTM3OTgyOCBMMTE3LjE0NTM4NCwyNi41NTU4MTAzIEMxMTcuMjczMzM1LDI2LjU3NTI1ODYgMTE3LjQwMjA5NiwyNi41OTQ3MDY5IDExNy41MzAwNDcsMjYuNjE2NTg2MiBDMTE3LjgxNzUzMSwyNi42NjUyMDY5IDExOC4xMDE3NzcsMjYuNzE4Njg5NyAxMTguMzg1MjEyLDI2Ljc3Mzc5MzEgTDExOC43OTc0MDksMjYuODUyMzk2NiBDMTE5LjEwMjcwOSwyNi45MTQ3OTMxIDExOS40MDMxNTEsMjYuOTgzNjcyNCAxMTkuNzAyNzgzLDI3LjA1NDE3MjQgTDEyMC4wNTgyOTIsMjcuMTMzNTg2MiBDMTIwLjQ3MTI5OCwyNy4yMzQwNjkgMTIwLjg3NzgyNiwyNy4zNDE4NDQ4IDEyMS4yNzc4NzUsMjcuNDU2MTAzNCBDMTIxLjcxNDM2NiwyNy41ODA4OTY2IDEyMi4xNDM1NjgsMjcuNzE0NjAzNCAxMjIuNTY0NjcyLDI3Ljg1NjQxMzggQzEyMi42MzUxMjYsMjcuODc5OTEzOCAxMjIuNzA1NTgsMjcuOTA1MDM0NSAxMjIuNzc1MjI1LDI3LjkzMTc3NTkgTDEyMi45NDUyODYsMjcuOTkyNTUxNyBDMTIzLjIzMjc3MSwyOC4wOTQ2NTUyIDEyMy41MjAyNTUsMjguMTk2NzU4NiAxMjMuNzk5NjQyLDI4LjMwNTM0NDggQzEyMy44NjExODgsMjguMzI5NjU1MiAxMjMuOTIwMzA0LDI4LjM1Mzk2NTUgMTIzLjk4MDIzMSwyOC4zNzkwODYyIEwxMjQuMTI3NjE3LDI4LjQ0MDY3MjQgQzEyNC41MDMzNzIsMjguNTkzODI3NiAxMjQuODcxODM4LDI4Ljc1NDI3NTkgMTI1LjIzMzAxNiwyOC45MjM2Mzc5IEwxMjUuNjA2MzQxLDI5LjA5OTQ4MjggQzEyNS43Nzk2NDIsMjkuMTg0NTY5IDEyNS45NTA1MTMsMjkuMjcyMDg2MiAxMjYuMTE3MzM1LDI5LjM1NzE3MjQgQzEyNi4yNTE3NjQsMjkuNDI3NjcyNCAxMjYuMzgyMTQ1LDI5LjUwMTQxMzggMTI2LjUxNDE0NSwyOS41NzI3MjQxIEwxMjYuNDQ3NzQsNTUuMzU3MDg2MiBMMTA5LjAwOTE2Myw0NS4yODI4NzkzIFogTTc5LjEwOTEzODcsMzIuMzU0NjM3OSBDNzkuMTM3NDgyMiwzMi4zMzUxODk3IDc5LjE2NDIwNjEsMzIuMzE1NzQxNCA3OS4xOTE3Mzk5LDMyLjI5NjI5MzEgQzc5LjU4NzczOTksMzIuMDIxNTg2MiA3OS45OTUwNzczLDMxLjc1MjU1MTcgODAuNDEyMTMyNSwzMS40ODU5NDgzIEM4MC40NTUwNTI4LDMxLjQ1NzU4NjIgODAuNDk4NzgyOCwzMS40MjkyMjQxIDgwLjU0MjUxMjksMzEuNDAxNjcyNCBDODAuOTkzNTgwNCwzMS4xMTQ4MTAzIDgxLjQ1NTk4NTMsMzAuODM0NDMxIDgxLjkzMDUzNzQsMzAuNTU4MTAzNCBDODIuMzUwMDIyMSwzMC4zMTMzNzkzIDgyLjc3Njc5NTEsMzAuMDc1OTQ4MyA4My4yMDY4MDc0LDI5Ljg0MzM3OTMgTDg0LjAxODI0MjksMjkuNDIwMzc5MyBDODQuMTcwNDg4MywyOS4zNDI1ODYyIDg0LjMyMTExNDEsMjkuMjYxNTUxNyA4NC40NzQxNjkzLDI5LjE4NDU2OSBMODQuNTAxNzAzMSwyOS4xNzA3OTMxIEw4NS4zMDUwNDA1LDI4Ljc4MDIwNjkgQzg1LjQ4NDgxOTYsMjguNjk0MzEwMyA4NS42NjI5NzkxLDI4LjYwNjc5MzEgODUuODQ0Mzc3OSwyOC41MjI1MTcyIEM4Ni4wMjQ5NjY5LDI4LjQzOTA1MTcgODYuMjA3OTg1MywyOC4zNTYzOTY2IDg2LjM5MTAwMzcsMjguMjczNzQxNCBDODYuNjU3NDMzMSwyOC4xNTM4MTAzIDg2LjkyNTQ4MjIsMjguMDM0Njg5NyA4Ny4xOTUxNTA5LDI3LjkxODgxMDMgQzg3LjM4NjI2NzUsMjcuODM2MTU1MiA4Ny41NzgxOTM5LDI3Ljc1NTEyMDcgODcuNzcwMTIwMiwyNy42NzQwODYyIEM4OC4wMzk3ODksMjcuNTYyMjU4NiA4OC4zMTE4ODcxLDI3LjQ1MjA1MTcgODguNTg0Nzk1MSwyNy4zNDM0NjU1IEM4OC43NzY3MjE1LDI3LjI2NjQ4MjggODguOTY5NDU3NywyNy4xOTExMjA3IDg5LjE2MDU3NDIsMjcuMTE2NTY5IEM4OS40MTA4MDc0LDI3LjAyMDk0ODMgODkuNjYxMDQwNSwyNi45MjY5NDgzIDg5LjkxMjg5MzMsMjYuODM0NTY5IEM4OS45MTUzMjI3LDI2LjgzMzc1ODYgOTAuMDA0NDAyNSwyNi44MDA1MzQ1IDkwLjAwNjAyMjEsMjYuNzk5NzI0MSBMOTAuMTQ0NTAwNiwyNi43NDk0ODI4IEM5MC4yODYyMTg0LDI2LjY5NjgxMDMgOTAuNDI3MTI2NCwyNi42NDQ5NDgzIDkwLjU3MTI3MzYsMjYuNTkzODk2NiBMOTEuNjU0ODA3NCwyNi4yMjI3NTg2IEM5MS43NjczNzE4LDI2LjE4Mzg2MjEgOTEuODc5OTM2MiwyNi4xNDQ5NjU1IDkxLjk5NTczOTksMjYuMTA4NSBMOTIuNDUyNDc2MSwyNS45NjU4NzkzIEM5Mi44ODk3NzY3LDI1LjgyNzMxMDMgOTMuMzI3MDc3MywyNS42OTM2MDM0IDkzLjc2NjgwNzQsMjUuNTY1NTY5IEM5My45NjY4MzE5LDI1LjUwNzIyNDEgOTQuMTY2ODU2NCwyNS40NTEzMTAzIDk0LjM2NzY5MDgsMjUuMzk1Mzk2NiBDOTQuNzcwOTc5MSwyNS4yODE5NDgzIDk1LjE3NjY5NjksMjUuMTczMzYyMSA5NS41ODMyMjQ1LDI1LjA2ODgyNzYgTDk1LjY3MzkyMzksMjUuMDQ2MTM3OSBDOTUuODM3NTA2NywyNS4wMDQgOTYuMDAwMjc5OCwyNC45NjE4NjIxIDk2LjE2Mzg2MjYsMjQuOTIxMzQ0OCBDOTYuNjUyMTgxNiwyNC44MDE0MTM4IDk3LjE0MTMxMDQsMjQuNjg3MTU1MiA5Ny42MzA0MzkzLDI0LjU4MDE4OTcgTDk3Ljk0MDU5ODgsMjQuNTA5Njg5NyBDOTguNTMwOTU0NiwyNC4zODMyNzU5IDk5LjEyMjkzMDEsMjQuMjY2NTg2MiA5OS43MTQwOTU3LDI0LjE1OCBMMTAwLjEwNjg1NiwyNC4wODk5MzEgQzEwMC43MDEyNjEsMjMuOTg1Mzk2NiAxMDEuMjk0MDQ3LDIzLjg5MDU4NjIgMTAxLjg4NzY0MiwyMy44MDM4NzkzIEwxMDIuMzUyNDc2LDIzLjczNjYyMDcgQzEwMy4wNDY0ODgsMjMuNjQxIDEwMy43MzI0MDIsMjMuNTU4MzQ0OCAxMDQuMzkyNDAyLDIzLjQ5MTA4NjIgTDEwNC45MjI4MzIsMjMuNDQyNDY1NSBDMTA1LjMxMjM1MywyMy40MDYgMTA1LjcwMTA2NSwyMy4zNzI3NzU5IDEwNi4wODk3NzcsMjMuMzQ0NDEzOCBDMTA2LjI5Nzg5OSwyMy4zMjk4Mjc2IDEwNi41MDUyMTIsMjMuMzE2MDUxNyAxMDYuNzE5MDA0LDIzLjMwMzg5NjYgQzEwNy4wODc0NywyMy4yODEyMDY5IDEwNy40NTM1MDcsMjMuMjYyNTY5IDEwNy44MTc5MjQsMjMuMjQ3MTcyNCBMMTA3Ljk2NTMxLDIzLjI0MTUgQzEwOC4xMzM3NTIsMjMuMjM1MDE3MiAxMDguMzAzMDA0LDIzLjIyNzcyNDEgMTA4LjQ3MjI1NSwyMy4yMjI4NjIxIEMxMDguNzM1NDQ1LDIzLjIxNTU2OSAxMDguOTk3ODI2LDIzLjIxMTUxNzIgMTA5LjI2MDIwNiwyMy4yMDc0NjU1IEMxMDkuNzY1NTMxLDIzLjIwMDk4MjggMTEwLjI2NTk5OCwyMy4yMDE3OTMxIDExMC43NjY0NjQsMjMuMjA4Mjc1OSBMMTEwLjg0OTg3NSwyMy4yMDkwODYyIEMxMTEuMDY4NTI1LDIzLjIxMzEzNzkgMTExLjI4NzE3NSwyMy4yMTYzNzkzIDExMS41MDQyMDYsMjMuMjIyODYyMSBDMTExLjcxNjM3OCwyMy4yMjkzNDQ4IDExMS45MjYxMiwyMy4yMzkwNjkgMTEyLjEzNTg2MywyMy4yNDcxNzI0IEMxMTIuMzY5ODk5LDIzLjI1Njg5NjYgMTEyLjYwMzEyNiwyMy4yNjkwNTE3IDExMi44Mzk1OTMsMjMuMjgyMDE3MiBDMTEyLjg0MTIxMiwyMy4yODIwMTcyIDExMi45MTgxNDUsMjMuMjg2MDY5IDExMi45MTk3NjQsMjMuMjg2MDY5IEMxMTMuMTMxMTI2LDIzLjI5OTAzNDUgMTEzLjM0MDg2OSwyMy4zMTM2MjA3IDExMy41NTA2MTEsMjMuMzI5MDE3MiBDMTEzLjgxMTM3MiwyMy4zNDc2NTUyIDExNC4wNzEzMjMsMjMuMzY5NTM0NSAxMTQuMzMyMDgzLDIzLjM5MjIyNDEgQzExNC41MTk5NjEsMjMuNDA5MjQxNCAxMTQuNzA3MDI4LDIzLjQyNzA2OSAxMTQuOTQxMDY1LDIzLjQ1MTM3OTMgQzExNS4xOTA0ODgsMjMuNDc3MzEwMyAxMTUuNDM3NDgyLDIzLjUwNTY3MjQgMTE1LjY4Mjg1NiwyMy41MzU2NTUyIEwxMTUuNzUxNjkxLDIzLjU0NDU2OSBDMTE1LjkxMTIyNSwyMy41NjMyMDY5IDExNi4wNzA3NTgsMjMuNTgyNjU1MiAxMTYuMjI5NDgyLDIzLjYwNDUzNDUgQzExNi40OTgzNDEsMjMuNjQxODEwMyAxMTYuNzYzOTYxLDIzLjY4MTUxNzIgMTE3LjAyNzk2MSwyMy43MjIwMzQ1IEwxMTcuMTgxODI2LDIzLjc0NzE1NTIgQzExNy4yOTg0MzksMjMuNzY0MTcyNCAxMTcuNDE0MjQzLDIzLjc4MTE4OTcgMTE3LjUzMDA0NywyMy44MDE0NDgzIEMxMTcuODE3NTMxLDIzLjg1MDA2OSAxMTguMTAxNzc3LDIzLjkwNDM2MjEgMTE4LjM4NzY0MiwyMy45NTk0NjU1IEwxMTguNzk3NDA5LDI0LjAzNzI1ODYgQzExOS4xMDI3MDksMjQuMDk5NjU1MiAxMTkuNDAzMTUxLDI0LjE2OTM0NDggMTE5LjcwNTIxMiwyNC4yMzkwMzQ1IEwxMjAuMDU3NDgyLDI0LjMxODQ0ODMgQzEyMC40NzA0ODgsMjQuNDE5NzQxNCAxMjAuODc3ODI2LDI0LjUyNTg5NjYgMTIxLjI3Nzg3NSwyNC42NDA5NjU1IEMxMjEuNzE0MzY2LDI0Ljc2NTc1ODYgMTIyLjE0Mjc1OCwyNC44OTg2NTUyIDEyMi41NjQ2NzIsMjUuMDQxMjc1OSBDMTIyLjYzNTEyNiwyNS4wNjQ3NzU5IDEyMi43MDU1OCwyNS4wOTA3MDY5IDEyMi43NzUyMjUsMjUuMTE2NjM3OSBMMTIyLjk0NjA5NiwyNS4xNzgyMjQxIEMxMjMuMjMzNTgsMjUuMjc4NzA2OSAxMjMuNTIwMjU1LDI1LjM4MTYyMDcgMTIzLjc5OTY0MiwyNS40OTEwMTcyIEMxMjMuODYyODA3LDI1LjUxNDUxNzIgMTIzLjkyMjczNCwyNS41NDA0NDgzIDEyMy45ODM0NywyNS41NjYzNzkzIEwxMjQuMTI3NjE3LDI1LjYyNjM0NDggQzEyNC41MDQxODIsMjUuNzc4Njg5NyAxMjQuODcyNjQ4LDI1Ljk0MDc1ODYgMTI1LjI1NjUwMSwyNi4xMTkwMzQ1IEMxMjUuMjYwNTUsMjYuMTIwNjU1MiAxMjUuMzEzOTk4LDI2LjE0NjU4NjIgMTI1LjMxODA0NywyNi4xNDgyMDY5IEMxMjUuNDE2MDM0LDI2LjE5MzU4NjIgMTI1LjUxMzIxMiwyNi4yMzk3NzU5IDEyNS42MDc5NjEsMjYuMjg1MTU1MiBDMTI1Ljc4MDQ1MiwyNi4zNzAyNDE0IDEyNS45NTEzMjMsMjYuNDU2OTQ4MyAxMjYuMTE3MzM1LDI2LjU0MzY1NTIgQzEyNi4xMTk3NjQsMjYuNTQ0NDY1NSAxMjYuMTIzMDA0LDI2LjU0NjA4NjIgMTI2LjEyNTQzMywyNi41NDc3MDY5IEMxMjYuMjU5MDUzLDI2LjYxNzM5NjYgMTI2LjM5MTA1MywyNi42ODg3MDY5IDEyNi41MjIyNDMsMjYuNzYxNjM3OSBMMTI2LjUxOTAwNCwyNy44OTEyNTg2IEMxMjYuNDMzMTYzLDI3Ljg0NzUgMTI2LjM0ODk0MiwyNy44MDM3NDE0IDEyNi4yNjE0ODIsMjcuNzYwNzkzMSBMMTI1Ljg2MTQzMywyNy41NzExNzI0IEMxMjUuNDc5MiwyNy4zOTM3MDY5IDEyNS4wODgwNTksMjcuMjIzNTM0NSAxMjQuNjg4ODIsMjcuMDU5ODQ0OCBMMTI0LjU1ODQzOSwyNy4wMDYzNjIxIEMxMjQuNDg3MTc1LDI2Ljk3NjM3OTMgMTI0LjQxNDI5MiwyNi45NDU1ODYyIDEyNC4zNDA1OTksMjYuOTE3MjI0MSBDMTI0LjA0NjYzNiwyNi44MDEzNDQ4IDEyMy43NDQ1NzQsMjYuNjkzNTY5IDEyMy40MzkyNzQsMjYuNTg1NzkzMSBMMTIzLjI4NzgzOCwyNi41MzE1IEMxMjMuMjA1MjM3LDI2LjUwMTUxNzIgMTIzLjEyMTgyNiwyNi40NzA3MjQxIDEyMy4wMzc2MDUsMjYuNDQyMzYyMSBDMTIyLjU5NDYzNiwyNi4yOTQwNjkgMTIyLjE0NTk5OCwyNi4xNTM4NzkzIDEyMS42ODY4MzIsMjYuMDIyNjAzNCBDMTIxLjI2NzM0NywyNS45MDI2NzI0IDEyMC44NDMwMDQsMjUuNzkwODQ0OCAxMjAuNDEwNTYyLDI1LjY4NTUgQzEyMC4zMzg0ODgsMjUuNjY4NDgyOCAxMjAuMjYzOTg1LDI1LjY1MTQ2NTUgMTIwLjE4OTQ4MiwyNS42MzYwNjkgTDEyMC4wNDEyODYsMjUuNjAyMDM0NSBDMTE5LjcyODY5NywyNS41MjkxMDM0IDExOS40MTQ0ODgsMjUuNDU2OTgyOCAxMTkuMDk0NjExLDI1LjM5MTM0NDggTDExOC42Njc4MzgsMjUuMzEwMzEwMyBDMTE4LjM3MjI1NSwyNS4yNTI3NzU5IDExOC4wNzY2NzIsMjUuMTk2ODYyMSAxMTcuNzc3MDQsMjUuMTQ1ODEwMyBDMTE3LjY0MTgwMSwyNS4xMjM5MzEgMTE3LjUwNTc1MiwyNS4xMDIwNTE3IDExNy4zNjk3MDMsMjUuMDgyNjAzNCBMMTE3LjI1Nzk0OCwyNS4wNjM5NjU1IEMxMTYuOTgyNjExLDI1LjAyMTgyNzYgMTE2LjcwNzI3NCwyNC45Nzk2ODk3IDExNi40Mjc4ODcsMjQuOTQyNDEzOCBDMTE2LjI0MTYyOSwyNC45MTcyOTMxIDExNi4wNTM3NTIsMjQuODk0NjAzNCAxMTUuODY0MjU1LDI0Ljg3MDI5MzEgQzExNS42MDgzNTMsMjQuODM5NSAxMTUuMzUyNDUyLDI0LjgxMDMyNzYgMTE1LjA0Nzk2MSwyNC43Nzg3MjQxIEMxMTQuODU1MjI1LDI0Ljc1OTI3NTkgMTE0LjY2MDA1OSwyNC43Mzk4Mjc2IDExNC40NjQwODMsMjQuNzIyODEwMyBDMTE0LjE5NzY1NCwyNC42OTc2ODk3IDExMy45Mjg3OTUsMjQuNjc3NDMxIDExMy42NTkxMjYsMjQuNjU3MTcyNCBDMTEzLjQ0MjA5NiwyNC42NDE3NzU5IDExMy4yMjUwNjUsMjQuNjI1NTY5IDExMy4wMTQ1MTMsMjQuNjE0MjI0MSBMMTEyLjkyMDU3NCwyNC42MDkzNjIxIEMxMTIuNjgwODY5LDI0LjU5NDc3NTkgMTEyLjQ0MDM1MywyNC41ODM0MzEgMTEyLjE5OTgzOCwyNC41NzI4OTY2IEMxMTEuOTgzNjE3LDI0LjU2Mzk4MjggMTExLjc2NzM5NiwyNC41NTUwNjkgMTExLjU0NzkzNiwyNC41NDc3NzU5IEMxMTEuMzIzNjE3LDI0LjU0MTI5MzEgMTExLjA5ODQ4OCwyNC41MzgwNTE3IDExMC44NzI1NSwyNC41MzQgTDExMC43ODgzMjksMjQuNTMyMzc5MyBDMTEwLjI3NDA5NiwyNC41MjUwODYyIDEwOS43NjE0ODIsMjQuNTI0Mjc1OSAxMDkuMjM4MzQxLDI0LjUzMTU2OSBDMTA4Ljk2ODY3MiwyNC41MzU2MjA3IDEwOC42OTk4MTMsMjQuNTQwNDgyOCAxMDguNDI4NTI1LDI0LjU0ODU4NjIgQzEwOC40MTMxMzksMjQuNTQ5Mzk2NiAxMDguMzk2OTQyLDI0LjU1MDIwNjkgMTA4LjM4MTU1NiwyNC41NTAyMDY5IEMxMDguMzIzMjQ5LDI0LjUzNTYyMDcgMTA4LjI2MzMyMywyNC41MjUwODYyIDEwOC4yMDA5NjcsMjQuNTI1MDg2MiBMMTA4LjE5ODUzNywyNC41MjUwODYyIEMxMDguMTE5MTc1LDI0LjUyNTg5NjYgMTA4LjA0Mzg2MywyNC41NDIxMDM0IDEwNy45NzI1OTksMjQuNTY0NzkzMSBDMTA3LjkwMTMzNSwyNC41NjgwMzQ1IDEwNy44MjkyNjEsMjQuNTcwNDY1NSAxMDcuNzU3OTk4LDI0LjU3Mjg5NjYgQzEwNy4zODMwNTMsMjQuNTg5MTAzNCAxMDcuMDA3Mjk4LDI0LjYwNzc0MTQgMTA2LjYyMDIwNiwyNC42MzA0MzEgQzEwNi40MDcyMjUsMjQuNjQ0MjA2OSAxMDYuMTk1MDUzLDI0LjY1NzE3MjQgMTA1Ljk4MjA3MSwyNC42NzI1NjkgQzEwNS41ODQ0NTIsMjQuNzAwOTMxIDEwNS4xODUyMTIsMjQuNzM1Nzc1OSAxMDQuNzg2NzgzLDI0Ljc3MjI0MTQgTDEwNC42MTEwNTMsMjQuNzg5MjU4NiBDMTA0LjQ4Nzk2MSwyNC43OTg5ODI4IDEwNC4zNjQwNTksMjQuODEwMzI3NiAxMDQuMjQwMTU3LDI0LjgyMzI5MzEgQzEwMy41NTAxOTQsMjQuODk0NjAzNCAxMDIuODQ2NDY0LDI0Ljk3ODA2OSAxMDIuMTUwMDIyLDI1LjA3NDUgTDEwMS42NzMwNCwyNS4xNDMzNzkzIEMxMDEuMDY0ODY5LDI1LjIzMjUxNzIgMTAwLjQ1NjY5NywyNS4zMzA1NjkgOTkuODQ5MzM1LDI1LjQzNjcyNDEgTDk5LjQ0NTIzNjgsMjUuNTA2NDEzOCBDOTguODM5NDk0NSwyNS42MTgyNDE0IDk4LjIzMzc1MjEsMjUuNzM4MTcyNCA5Ny42Mjk2Mjk0LDI1Ljg2NzAxNzIgTDk3LjMxMjE4MTYsMjUuOTM5MTM3OSBDOTYuODEwMDk1NywyNi4wNDg1MzQ1IDk2LjMwODgxOTYsMjYuMTY2MDM0NSA5NS44MDgzNTM0LDI2LjI4ODM5NjYgQzk1LjY1NTI5ODIsMjYuMzI2NDgyOCA5NS41MDIyNDI5LDI2LjM2NjE4OTcgOTUuMzQ5MTg3NywyNi40MDU4OTY2IEw5NS4yMTM5NDg1LDI2LjQ0MDc0MTQgQzk0Ljc5NjA4MzQsMjYuNTQ3NzA2OSA5NC4zODA2NDc5LDI2LjY1ODcyNDEgOTMuOTY3NjQxNywyNi43NzQ2MDM0IEM5My43NjE5NDg1LDI2LjgzMTMyNzYgOTMuNTU2MjU1MiwyNi44ODg4NjIxIDkzLjM1MDU2MiwyNi45NDg4Mjc2IEM5Mi45MDAzMDQzLDI3LjA4MDEwMzQgOTIuNDUxNjY2MywyNy4yMTc4NjIxIDkyLjAwMzgzOCwyNy4zNTk2NzI0IEw5MS4wMDkzODQsMjcuNjgzIEM5MC44NTE0Njk5LDI3LjczNDg2MjEgOTAuNjk1OTg1MywyNy43ODk5NjU1IDkwLjU0NDU0OTcsMjcuODQyNjM3OSBMOTAuNDM5MjczNiwyNy44Nzc0ODI4IEM5MC4zMTY5OTE0LDI3LjkxOTYyMDcgOTAuMTk0NzA5MiwyNy45NjA5NDgzIDkwLjA3NDA0NjYsMjguMDAzMDg2MiBDODkuOTI1MDQwNSwyOC4wNTU3NTg2IDg5Ljc3NzY1NCwyOC4xMTAwNTE3IDg5LjYzMDI2NzUsMjguMTY1MTU1MiBMODkuMzk3ODUwMywyOC4yNTAyNDE0IEM4OS4xNDAzMjg4LDI4LjM0NTA1MTcgODguODgyODA3NCwyOC40NDA2NzI0IDg4LjYyNjA5NTcsMjguNTQwMzQ0OCBDODguNDI2ODgxLDI4LjYxNjUxNzIgODguMjMwMDk1NywyOC42OTQzMTAzIDg4LjAzNDEyMDIsMjguNzczNzI0MSBDODcuNzUzMTE0MSwyOC44ODQ3NDE0IDg3LjQ3MzcyNzYsMjguOTk4MTg5NyA4Ny4xOTc1ODA0LDI5LjExNDg3OTMgQzg2Ljk5OTE3NTUsMjkuMTk1OTEzOCA4Ni44MDE1ODA0LDI5LjI4MDE4OTcgODYuNjA1NjA0OSwyOS4zNjM2NTUyIEM4Ni4zMjc4MzgsMjkuNDg0Mzk2NiA4Ni4wNTI1MDA2LDI5LjYwNTk0ODMgODUuNzc4NzgyOCwyOS43Mjk5MzEgQzg1LjU4NjA0NjYsMjkuODE2NjM3OSA4NS4zOTQ5MzAxLDI5LjkwMjUzNDUgODUuMjA2MjQyOSwyOS45OTE2NzI0IEM4NS4wMTY3NDYsMzAuMDc5MTg5NyA4NC44MzA0ODgzLDMwLjE2OTEzNzkgODQuNjQzNDIwOSwzMC4yNTk4OTY2IEw4NC4yMDc3Mzk5LDMwLjQ2ODk2NTUgQzg0LjA4MzAyODIsMzAuNTMwNTUxNyA4My45NTkxMjY0LDMwLjU5MDUxNzIgODMuODM0NDE0NywzMC42NTI5MTM4IEM4My43MjU4OTk0LDMwLjcwNzIwNjkgODMuNjE5ODEzNSwzMC43NjMxMjA3IDgzLjUxMjkxNzgsMzAuODE5MDM0NSBMODIuNzgyNDYzOCwzMS4xOTc0NjU1IEM4Mi42ODUyODU5LDMxLjI0NzcwNjkgODIuNTg4MTA4LDMxLjI5ODc1ODYgODIuNDkzMzU5NSwzMS4zNDk4MTAzIEM4Mi4wNTEyLDMxLjU4ODg2MjEgODEuNjEzMDg5NiwzMS44MzI3NzU5IDgxLjE4MTQ1NzcsMzIuMDgzOTgyOCBDODAuNzk0MzY1NiwzMi4zMDkyNTg2IDgwLjQxOTQyMDksMzIuNTM3Nzc1OSA4MC4wNDg1MjUyLDMyLjc2ODcyNDEgTDc5Ljc2MzQ2OTksMzIuOTQ1Mzc5MyBDNzkuNjU5ODEzNSwzMy4wMTEwMTcyIDc5LjU1ODU4NjUsMzMuMDc3NDY1NSA3OS40NTczNTk1LDMzLjE0MzkxMzggTDc5LjI4ODEwOCwzMy4yNTU3NDE0IEM3OC45NzYzMjg4LDMzLjQ1OTEzNzkgNzguNjY2OTc5MSwzMy42NjMzNDQ4IDc4LjM2NTcyNzYsMzMuODcwNzkzMSBDNzguMjIxNTgwNCwzMy45NzA0NjU1IDc4LjA4MDY3MjQsMzQuMDcwMTM3OSA3Ny45Mzk3NjQ0LDM0LjE3MDYyMDcgTDc3Ljg2OTMxMDQsMzQuMjIwODYyMSBDNzcuNTk4ODMxOSwzNC40MTQ1MzQ1IDc3LjMzMDc4MjgsMzQuNjA4MjA2OSA3Ny4wNzAwMjIxLDM0LjgwNTEyMDcgQzc2LjkwODA1ODksMzQuOTI3NDgyOCA3Ni43NDc3MTUzLDM1LjA0OTg0NDggNzYuNTg5ODAxMiwzNS4xNzMwMTcyIEM3Ni4zMzQ3MDkyLDM1LjM3MTU1MTcgNzYuMDg2MDk1NywzNS41NzA4OTY2IDc1Ljg0MTUzMTMsMzUuNzczNDgyOCBMNzUuNzMzODI1OCwzNS44NjI2MjA3IEM3NS42MjQ1MDA2LDM1Ljk1MjU2OSA3NS41MTQzNjU2LDM2LjA0MjUxNzIgNzUuNDA3NDY5OSwzNi4xMzQwODYyIEM3NS4yMjc2OTA4LDM2LjI4ODA1MTcgNzUuMDU0MzkwMiwzNi40NDI4Mjc2IDc0Ljg4MTA4OTYsMzYuNTk2NzkzMSBMNzQuNjYyNDM5MywzNi43OTI4OTY2IEM3NC41NTQ3MzM3LDM2Ljg4OTMyNzYgNzQuNDQ3ODM4LDM2Ljk4NDk0ODMgNzQuMzM0NDYzOCwzNy4wOTAyOTMxIEw3NC4yNTc1MzEzLDM3LjE2NDg0NDggQzczLjk3NzMzNSwzNy40MjkwMTcyIDczLjcwNjA0NjYsMzcuNjk1NjIwNyA3My40NDUyODU5LDM3Ljk2MjIyNDEgQzczLjM1NzAxNiwzOC4wNTIxNzI0IDczLjI2OTU1NTgsMzguMTQyMTIwNyA3My4xODUzMzUsMzguMjMyMDY5IEM3Mi45MTY0NzYxLDM4LjUxMzI1ODYgNzIuNjU3MzM1LDM4Ljc5NTI1ODYgNzIuMzkzMzM1LDM5LjA5NzUxNzIgQzcyLjIyNDg5MzMsMzkuMjkxMTg5NyA3Mi4wNjUzNTk1LDM5LjQ4NDg2MjEgNzEuOTA3NDQ1NCwzOS42NzkzNDQ4IEw3MS44MjcyNzM2LDM5Ljc3NDk2NTUgQzcxLjc3NjI1NTIsMzkuODM1NzQxNCA3MS43MjYwNDY2LDM5Ljg5NTcwNjkgNzEuNjc3NDU3NywzOS45NTcyOTMxIEM3MS41NjgxMzI1LDQwLjA5NTg2MjEgNzEuNDY2MDk1Nyw0MC4yMzM2MjA3IDcxLjM2NDA1ODksNDAuMzcxMzc5MyBMNzEuMjcwMTIwMiw0MC40OTk0MTM4IEM3MS4yMTE4MTM1LDQwLjU3NzIwNjkgNzEuMTU5MTc1NSw0MC42NTU4MTAzIDcxLjEwMjQ4ODMsNDAuNzMzNjAzNCBDNzIuNjkxMzQ3MiwzNy44MDk4NzkzIDc1LjQyNzcxNTMsMzQuOTIxODEwMyA3OS4xMDkxMzg3LDMyLjM1NDYzNzkgTDc5LjEwOTEzODcsMzIuMzU0NjM3OSBaIE03MS42NjIwNzEyLDUyLjI3ODU4NjIgQzcxLjYxODM0MTEsNTIuMjI0MjkzMSA3MS41NzM4MDEyLDUyLjE3MTYyMDcgNzEuNTMyNTAwNiw1Mi4xMTczMjc2IEM3MS40MzA0NjM4LDUxLjk4NTI0MTQgNzEuMzM1NzE1Myw1MS44NTE1MzQ1IDcxLjI0MTc3NjcsNTEuNzE3MDE3MiBDNzEuMTk2NDI3LDUxLjY1MjE4OTcgNzEuMTQ5NDU3Nyw1MS41ODgxNzI0IDcxLjEwNjUzNzQsNTEuNTIzMzQ0OCBDNzEuMDE3NDU3Nyw1MS4zODk2Mzc5IDcwLjkzNDA0NjYsNTEuMjU0MzEwMyA3MC44NTMwNjUsNTEuMTE4MTcyNCBDNzAuODEwOTU0Niw1MS4wNDg0ODI4IDcwLjc2ODAzNDQsNTAuOTc4NzkzMSA3MC43MjgzNTM0LDUwLjkwODI5MzEgQzcwLjY1Mzg1MDMsNTAuNzc2MjA2OSA3MC41ODMzOTYzLDUwLjY0MjUgNzAuNTE1MzcxOCw1MC41MDc5ODI4IEM3MC40NzU2OTA4LDUwLjQzMDE4OTcgNzAuNDM2MDA5OCw1MC4zNTMyMDY5IDcwLjM5OTU2ODEsNTAuMjc0NjAzNCBDNzAuMzM4ODMxOSw1MC4xNDY1NjkgNzAuMjgyOTU0Niw1MC4wMTY5MTM4IDcwLjIyODY5NjksNDkuODg3MjU4NiBDNzAuMTkxNDQ1NCw0OS43OTgxMjA3IDcwLjE1NDE5MzksNDkuNzA4MTcyNCA3MC4xMjAxODE2LDQ5LjYxNzQxMzggQzcwLjA3NDgzMTksNDkuNDk4MjkzMSA3MC4wMzI3MjE1LDQ5LjM3NzU1MTcgNjkuOTkyMjMwNyw0OS4yNTY4MTAzIEM2OS45NTc0MDg2LDQ5LjE1MDY1NTIgNjkuOTIzMzk2Myw0OS4wNDQ1IDY5Ljg5MTgxMzUsNDguOTM4MzQ0OCBDNjkuODYwMjMwNyw0OC44MzEzNzkzIDY5LjgzMTg4NzEsNDguNzIyNzkzMSA2OS44MDQzNTM0LDQ4LjYxNDIwNjkgQzY5Ljc3Mjc3MDYsNDguNDg4NjAzNCA2OS43NDI4MDc0LDQ4LjM2MTM3OTMgNjkuNzE2ODkzMyw0OC4yMzMzNDQ4IEM2OS42OTgyNjc1LDQ4LjE0MzM5NjYgNjkuNjgwNDUxNSw0OC4wNTM0NDgzIDY5LjY2NTA2NSw0Ny45NjE4NzkzIEM2OS42NTI5MTc4LDQ3Ljg5MzgxMDMgNjkuNjQ0ODE5Niw0Ny44MjQ5MzEgNjkuNjM1MTAxOCw0Ny43NTY4NjIxIEM2OS42NTA0ODgzLDQ3LjY0NTg0NDggNjkuNjY5MTE0MSw0Ny41Mjk5NjU1IDY5LjY5MzQwODYsNDcuMzkxMzk2NiBDNjkuNzEzNjU0LDQ3LjI3NzEzNzkgNjkuNzMzODk5NCw0Ny4xNjIwNjkgNjkuNzU4MTkzOSw0Ny4wNDk0MzEgQzY5Ljc5Nzg3NDgsNDYuODYwNjIwNyA2OS44NDY0NjM4LDQ2LjY3MTgxMDMgNjkuODk2NjcyNCw0Ni40ODM4MTAzIEw2OS45MjkwNjUsNDYuMzYzMDY5IEM2OS45NDYwNzEyLDQ2LjI5NSA2OS45NjM4ODcxLDQ2LjIyNjkzMSA2OS45ODgxODE2LDQ2LjE1MDc1ODYgTDcwLjAzNTk2MDcsNDYuMDAyNDY1NSBDNzAuMDU4NjM1Niw0NS45MzExNTUyIDcwLjA4MzczOTksNDUuODU3NDEzOCA3MC4xMDg4NDQyLDQ1Ljc4NDQ4MjggQzcwLjU2MDcyMTUsNDUuNzk1ODI3NiA3MC45NjIzOTAyLDQ1LjkxOTgxMDMgNzEuMjkyNzk1MSw0Ni4xNjUzNDQ4IEM3MS45NzIyMzA3LDQ2LjY2Njk0ODMgNzIuMzQ4Nzk1MSw0Ny42NTE1MTcyIDcyLjM1Mjg0NDIsNDguOTM0MjkzMSBDNzIuMzU1MjczNiw0OS45NjQyNDE0IDcyLjExMTUxOSw1MS4xMjMwMzQ1IDcxLjY2MjA3MTIsNTIuMjc4NTg2MiBMNzEuNjYyMDcxMiw1Mi4yNzg1ODYyIFogTTc0LjAyMTg3NDgsNTcuOTQzNzA2OSBMNzQuNzU0NzU4Myw1Ny41MTk4OTY2IEw3NC43NTQ3NTgzLDU3LjUyOTYyMDcgTDc0LjczNTMyMjcsNjQuNTQ4MDE3MiBMNzQuNzM1MzIyNyw2NC41NDg4Mjc2IEM3NC43MzQ1MTI5LDY0LjYwNjM2MjEgNzQuNzQyNjExLDY0LjY2MjI3NTkgNzQuNzU0NzU4Myw2NC43MTU3NTg2IEw3NC43NTQ3NTgzLDg4Ljk4ODAxNzIgTDczLjkzOTI3MzYsODkuNDU4ODI3NiBMNzQuMDIxODc0OCw1Ny45NDM3MDY5IFogTTM3Ljc0MDUwMDYsNjkuMjE5NjU1MiBMMzcuODIyMjkyLDM3Ljk5MjIwNjkgTDcyLjUzMTgxMzUsNTguMDQ1IEw3Mi40NTQwNzEyLDg3LjgyMTkzMSBDNzIuNDQ2NzgyOCw4Ny44NjQwNjkgNzIuNDQ0MzUzNCw4Ny45MDUzOTY2IDcyLjQ0NDM1MzQsODcuOTQ3NTM0NSBDNzIuNDQ1MTYzMiw4OC4wMDUwNjkgNzIuNDQ1MTYzMiw4OC42MjgyMjQxIDcyLjQ0NTk3Myw4OS4yNTA1NjkgTDcyLjQ0NTk3Myw4OS4yNjkyMDY5IEwzNy43NDA1MDA2LDY5LjIxOTY1NTIgWiBNNTguNzMzMzU5NSwxMy4yMTc1MzQ1IEw2Ni41MjI5NzkxLDE4Ljc5ODM3OTMgTDM2LjcwNzk4NTMsMzYuMDUyMjQxNCBDMzYuNzAwNjk2OSwzNi4wNTcxMDM0IDM2LjY5NDIxODQsMzYuMDYyNzc1OSAzNi42ODc3Mzk5LDM2LjA2NzYzNzkgQzM2LjY3NzIxMjMsMzYuMDczMzEwMyAzNi42NjY2ODQ3LDM2LjA3ODk4MjggMzYuNjU2OTY2OSwzNi4wODYyNzU5IEMzNi42MzUxMDE4LDM2LjEwMTY3MjQgMzYuNjE0MDQ2NiwzNi4xMTcwNjkgMzYuNTkzODAxMiwzNi4xMzU3MDY5IEMzNi41ODczMjI3LDM2LjE0MDU2OSAzNi41ODE2NTQsMzYuMTQ2MjQxNCAzNi41NzUxNzU1LDM2LjE1MTkxMzggQzM2LjU3MTEyNjQsMzYuMTU1OTY1NSAzNi41NjcwNzczLDM2LjE2MDAxNzIgMzYuNTYyMjE4NCwzNi4xNjQwNjkgQzM2LjU1ODk3OTEsMzYuMTY3MzEwMyAzNi41NTU3Mzk5LDM2LjE3MDU1MTcgMzYuNTUyNTAwNiwzNi4xNzI5ODI4IEMzNi41Mjk4MjU4LDM2LjE5NTY3MjQgMzYuNTA4NzcwNiwzNi4yMTk5ODI4IDM2LjQ4OTMzNSwzNi4yNDUxMDM0IEMzNi40ODY5MDU1LDM2LjI0ODM0NDggMzYuNDg1Mjg1OSwzNi4yNTE1ODYyIDM2LjQ4Mjg1NjQsMzYuMjU0ODI3NiBDMzYuNDc3MTg3NywzNi4yNjIxMjA3IDM2LjQ3MjMyODgsMzYuMjY5NDEzOCAzNi40NjY2NjAxLDM2LjI3NTg5NjYgQzM2LjQ2NTg1MDMsMzYuMjc4MzI3NiAzNi40NjQyMzA3LDM2LjI3OTk0ODMgMzYuNDYyNjExLDM2LjI4MjM3OTMgQzM2LjQ1MjA4MzQsMzYuMjk3Nzc1OSAzNi40Mzk5MzYyLDM2LjMxMDc0MTQgMzYuNDMwMjE4NCwzNi4zMjY5NDgzIEMzNi4zNTAwNDY2LDM2LjQ2NzEzNzkgMzYuMzIwODkzMywzNi42MjE5MTM4IDM2LjMzNTQ2OTksMzYuNzcxODI3NiBMMzYuMjUzNjc4NSw2OC4xODk3MDY5IEwzLjg1Mzc1MjE1LDQ0Ljk3ODE4OTcgTDU4LjczMzM1OTUsMTMuMjE3NTM0NSBaIE0xMzAuNzI5MjM3LDIyLjgzMTQ2NTUgTDk0LjYxNzExNDEsMS45NjgzMjc1OSBDOTQuMjMzMjYxMywxLjc0NjI5MzEgOTMuODA0MDU4OSwxLjYzNTI3NTg2IDkzLjM3NTY2NjMsMS42MzUyNzU4NiBDOTIuOTQ2NDYzOCwxLjYzNTI3NTg2IDkyLjUxNzI2MTMsMS43NDYyOTMxIDkyLjEzMjU5ODgsMS45NjkxMzc5MyBMNjguMDM4MTQ0OCwxNS45MTM1NTE3IEw2MS4yNjA3OTUxLDExLjA1NTUzNDUgTDYxLjI2MDc5NTEsNS45NjI1MTcyNCBDNjEuMjYwNzk1MSwyLjgxMTg5NjU1IDU4LjY5NjEwOCwwLjI0NzE1NTE3MiA1NS41NDM0OTQ1LDAuMjQ3MTU1MTcyIEM1NC41NDgyMzA3LDAuMjQ3MTU1MTcyIDUzLjU2MTA2NSwwLjUxNTM3OTMxIDUyLjY4NzI3MzYsMS4wMjE4NDQ4MyBMNS40MzUzMjI3LDI4LjM2NjkzMSBDMi4wODM0OTQ0OCwzMC4zMDI4NDQ4IC0wLjAwMDE2MTk2MzE5LDMzLjkxNjE3MjQgLTAuMDAwMTYxOTYzMTksMzcuNzk1MjkzMSBMLTAuMDAwMTYxOTYzMTksNDQuOTEwOTMxIEMtMC4wMDAxNjE5NjMxOSw0NS43MTE1NTE3IDAuMzg2MTIwMjQ1LDQ2LjQ2NDM2MjEgMS4wMzcyMTIyNyw0Ni45MzAzMTAzIEwzNS41NDk5NDg1LDcxLjY2Mjg0NDggQzM1LjU2MjkwNTUsNzEuNjcyNTY5IDM1LjU3NjY3MjQsNzEuNjgyMjkzMSAzNS41ODk2Mjk0LDcxLjY5MTIwNjkgTDM1LjY2ODk5MTQsNzEuNzQ1NSBDMzUuNzIyNDM5Myw3MS43ODI3NzU5IDM1Ljc3NzUwNjcsNzEuODE3NjIwNyAzNS44MzQxOTM5LDcxLjg1MDAzNDUgTDcxLjUyNTIxMjMsOTIuNDY2MDE3MiBDNzEuOTk0OTA1NSw5Mi45MzUyMDY5IDcyLjYzMDYxMSw5My4xODk2NTUyIDczLjI3OTI3MzYsOTMuMTg5NjU1MiBDNzMuNzAwMzc3OSw5My4xODk2NTUyIDc0LjEyNzk2MDcsOTMuMDgxODc5MyA3NC41MTkxMDE4LDkyLjg1NTc5MzEgTDc2Ljc0MzY2NjMsOTEuNTY4OTY1NSBDNzcuNTExMzcxOCw5MS4xMjQ4OTY2IDc3Ljk4MzQ5NDUsOTAuMzA0ODI3NiA3Ny45ODM0OTQ1LDg5LjQxODMxMDMgTDc3Ljk4MzQ5NDUsNjUuMjQ4OTY1NSBDNzguMDA1MzU5NSw2NS4xODkgNzguMDI1NjA0OSw2NS4xMjc0MTM4IDc4LjA0MjYxMSw2NS4wNjUwMTcyIEw3OS42NTY1NzQyLDU5LjIzMzc3NTkgTDc5LjgxNjEwOCw1OS4yNzUxMDM0IEw4Ny43NzkwMjgyLDYxLjMzNjYyMDcgQzg3Ljk3NTAwMzcsNjEuMzg3NjcyNCA4OC4xNzY2NDc5LDYxLjQxNDQxMzggODguMzc5OTExNyw2MS40MTYwMzQ1IEw5MC4xMjc0OTQ1LDYxLjQzMDYyMDcgTDkwLjE0ODU0OTcsNjEuNDMwNjIwNyBDOTAuNDMzNjA0OSw2MS40MzA2MjA3IDkwLjcxNjIzMDcsNjEuMzgyIDkwLjk4NTA4OTYsNjEuMjg1NTY5IEM5Ny4wMjA2NDc5LDU5LjEyMzU2OSAxMDMuNzcyMDgzLDU3LjkzMjM2MjEgMTA5Ljk5NDcwOSw1Ny45MzIzNjIxIEMxMTYuMTk5NTE5LDU3LjkzMjM2MjEgMTIxLjc0OTE4OCw1OS4xMTU0NjU1IDEyNS42NzE5MzYsNjEuMjY5MzYyMSBDMTI1Ljk1NzgwMSw2MS41MjYyNDE0IDEyNi4zMDE5NzMsNjEuNzE0MjQxNCAxMjYuNjgwMTU3LDYxLjgxNjM0NDggQzEyNi44OTMxMzksNjEuODczODc5MyAxMjcuMTEwOTc5LDYxLjkwMjI0MTQgMTI3LjMyODAxLDYxLjkwMjI0MTQgQzEyNy43NTk2NDIsNjEuOTAyMjQxNCAxMjguMTg4MDM0LDYxLjc5MDQxMzggMTI4LjU2ODY0OCw2MS41NyBMMTMwLjcyODQyNyw2MC4zMjI4NzkzIEMxMzEuNDk2OTQyLDU5Ljg3OTYyMDcgMTMxLjk3MDY4NSw1OS4wNTk1NTE3IDEzMS45NzA2ODUsNTguMTcxNDEzOCBMMTMxLjk3MDY4NSwyNC45ODIxMjA3IEMxMzEuOTcwNjg1LDI0LjA5NDc5MzEgMTMxLjQ5Njk0MiwyMy4yNzQ3MjQxIDEzMC43MjkyMzcsMjIuODMxNDY1NSBMMTMwLjcyOTIzNywyMi44MzE0NjU1IFoiIGlkPSJGaWxsLTQ1IiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTk3LjUyODgwNzQsMjkuMzM4NDUzNCBDOTguMjg1OTg1MywyOC45MDA4NjcyIDk5LjAwMDI0MjksMjguNjc5NjQzMSA5OS42MjYyMzA3LDI4LjY3OTY0MzEgQzEwMC4wMjMwNCwyOC42Nzk2NDMxIDEwMC4zODM0MDksMjguNzY4NzgxIDEwMC42OTU5OTgsMjguOTQ5NDg3OSBDMTAxLjQ5MjA0NywyOS40MDczMzI4IDEwMS45MzMzOTYsMzAuNDM1NjYwMyAxMDEuOTM3NDQ1LDMxLjg0MjQxOSBDMTAxLjk0NjM1MywzNS4wOTUxNDMxIDk5LjY1MDUyNTIsMzkuMDcxNTA1MiA5Ni44MjAyMTg0LDQwLjcwNTk3MDcgQzk1LjU4MjgxOTYsNDEuNDE5ODg0NSA5NC40NTk2MDQ5LDQxLjU1NzY0MzEgOTMuNjU2MjY3NSw0MS4wOTQ5MzYyIEM5Mi44NTk0MDg2LDQwLjYzNTQ3MDcgOTIuNDE4MDU4OSwzOS42MDc5NTM0IDkyLjQxNDgxOTYsMzguMjAxMTk0OCBDOTIuNDA1MTAxOCwzNC45NDg0NzA3IDk0LjY5OTMxMDQsMzAuOTczNzI5MyA5Ny41Mjg4MDc0LDI5LjMzODQ1MzQgTTkyLjkxMzY2NjMsNDIuMzg3NDM2MiBDOTMuNDU4NjcyNCw0Mi43MDAyMjkzIDk0LjA2ODQ2MzgsNDIuODU2NjI1OSA5NC43MjExNzU1LDQyLjg1NjYyNTkgQzk1LjYwODczMzcsNDIuODU2NjI1OSA5Ni41NzY0NjM4LDQyLjU2NzMzMjggOTcuNTY0NDM5Myw0MS45OTY4NSBDMTAwLjg2MjAxLDQwLjA5MjUzOTcgMTAzLjQzNzIyNSwzNS42Mjk5NzA3IDEwMy40MjY2OTcsMzEuODM4MzY3MiBDMTAzLjQyMTAyOCwyOS44NzY1MjI0IDEwMi43MTQ4NjksMjguMzkxOTcwNyAxMDEuNDM4NTk5LDI3LjY1Njk4NzkgQzEwMC4xNTQyMzEsMjYuOTE3MTQzMSA5OC41MDEzOTYzLDI3LjA1NjUyMjQgOTYuNzgzNzc2NywyOC4wNDc1NzQxIEM5My40ODc4MjU4LDI5Ljk1MTg4NDUgOTAuOTE0MjMwNywzNC40MTQ0NTM0IDkwLjkyNTU2ODEsMzguMjA0NDM2MiBDOTAuOTMwNDI3LDQwLjE2NTQ3MDcgOTEuNjM3Mzk2Myw0MS42NTE2NDMxIDkyLjkxMzY2NjMsNDIuMzg3NDM2MiIgaWQ9IkZpbGwtNDMiIGZpbGw9IiNGRkZGRkYiIG1hc2s9InVybCgjbWFzay0yKSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NC42MjY2OTc1LDU0LjgyNTc1MjggTDc3LjA0MDEwMDIsNTkuMDQ5MjA3NSBMNzcuMDQwMTAwMiw1OS4wNDkyMDc1IEM3Ny4zMDY0OTY4LDU5LjUxNTQwMTUgNzcuMTU3MTc5OCw2MC4xMDg3NjczIDc2LjcwMTg1Niw2MC4zOTMzNDQ3IEw3MS44NzUwNTA3LDYzLjQxMDA5OCBMNzEuODc1MDUwNyw2My40MTAwOTggQzcxLjQwNjcxNDEsNjMuNzAyODA4NCA3MC43ODk3NjM4LDYzLjU2MDQzNTIgNzAuNDk3MDUzNCw2My4wOTIwOTg3IEM3MC4zMzg5NjQ1LDYyLjgzOTE1NjMgNzAuMzAyMDQzNSw2Mi41Mjg4NDY4IDcwLjM5NjM2ODQsNjIuMjQ1ODcyIEw3Mi44MDk3NzExLDU1LjAwNTY2NCBMNzIuODA5NzcxMSw1NS4wMDU2NjQgQzcyLjk4NDQxODksNTQuNDgxNzIwNyA3My41NTA3Mzg4LDU0LjE5ODU2MDcgNzQuMDc0NjgyMiw1NC4zNzMyMDg0IEM3NC4zMDgwOTMxLDU0LjQ1MTAxMjEgNzQuNTA0NjI5MSw1NC42MTIxMzMxIDc0LjYyNjY5NzUsNTQuODI1NzUyOCBaIiBpZD0iVHJpYW5nbGUiIGZpbGwtb3BhY2l0eT0iMC4yNjYwNDk1OTIiIGZpbGw9IiNGRkZGRkYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDczLjc1ODUyMSwgNTguOTQxOTI3KSByb3RhdGUoMTgwLjAwMDAwMCkgdHJhbnNsYXRlKC03My43NTg1MjEsIC01OC45NDE5MjcpICI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="/>\n <ol style="">\n <li>进入:将手机横屏放入VR眼镜中</li>\n <li>前进:视角中心对准蓝点,直至变绿</li>\n <li>退出:将手机竖屏再触碰屏幕</li>\n </ol>\n ';var d=new(zi())(l);e.parentNode&&(e.parentNode.insertBefore(u,e),e.parentNode.insertBefore(l,e),this.setHelperElementSize(),d.on("tap",this.vrWantsToExit.bind(this))),this.destroyHelper=function(){d.destroy(),u.parentNode&&u.parentNode.removeChild(u),l.parentNode&&l.parentNode.removeChild(l)}},i.prototype.setHelperElementSize=function(){if(this.helperElement){var t=this.renderer.domElement,i=new e.Vector2(t.offsetWidth,t.offsetHeight),n=i.x*this.scissor.left,r=i.y*(1-this.scissor.bottom-this.scissor.height),o=i.x*this.scissor.width,s=i.y*this.scissor.height;this.helperElement.style.marginLeft=n+"px",this.helperElement.style.marginTop=r+"px",this.helperElement.style.width=o+"px",this.helperElement.style.height=s+"px"}},i.prototype.destroyHelper=function(){},i.prototype.resize=function(){var e=this.element,t=e.offsetWidth,i=e.offsetHeight;this.effect.isPresenting=!1,this.effect.setSize(t,i),this.effect.isPresenting=!0,this.needsRender=!0,this.setHelperElementSize()},i.prototype.doMoveToPano=function(){for(var e=this,i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];t.prototype.doMoveToPano.apply(this,i);var r=i[0],o=this.work.observers[r],s=o.visibleNodes;s=s.filter((function(t){return e.work.observers[t].active}));var a=this.panoSphereMeshes.filter((function(e){return e.panoIndex===r}))[0];this.panoSphereMeshes.forEach((function(e){if(e.visible=s.indexOf(e.panoIndex)>=0,a){var t=a.position.distanceTo(e.position)<5;e.visible=e.visible&&t}})),this.needsRender=!0},i.prototype.vrWantsToExit=function(){this.emit("vrWantsToExit")},i.prototype.onPanGesture=function(){},i.prototype.onTapGesture=function(){},i.prototype.onPinchGesture=function(){},i.prototype.onMouseMove=function(){},i.prototype.onMouseOut=function(){},i.prototype.renderIntersect=function(){var t=this,i=t.camera,n=t.model,r=t.intersectMesh,o=t.panoSphereMeshes,s=t.intersectCameraPosition,a=t.intersectCameraVector,u=t.intersectActiveSphereMesh,c=t.intersectActiveDate;if(r){u&&c&&A()-c>2e3&&(delete this.intersectActiveDate,u.setCurrent(),this.moveToPano(u.panoIndex,{},!0));var l=i.getWorldDirection(new e.Vector3);if(!(s&&a&&i.pose.offset.equals(s)&&l.equals(a))){var d=i.pose.offset.clone(),h=new e.Raycaster(d,l),M=null,p=null;if(!M)for(var f=0,y=o.filter((function(e){return e.visible}));f<y.length;f++){var g=y[f],N=h.intersectObject(g,!0)[0];if(N){M=N,p=g;break}}if(M||n.empty||(M=n.intersectRaycaster(h)[0]),M&&M.face){var m=M.face.normal,v=new e.Quaternion;v.setFromUnitVectors(new e.Vector3(0,0,-1),m),r.quaternion.copy(v);var D=m.clone().multiplyScalar(.05),T=M.point.clone().add(D);r.position.copy(T),r.visible=!0,this.emit("intersectionOnModelUpdate",M,r),o.forEach((function(e){return e.reset()})),p?((g=p).setActive(),this.intersectActiveSphereMesh!==g&&(this.intersectActiveSphereMesh=g,this.intersectActiveDate=A())):(delete this.intersectActiveSphereMesh,delete this.intersectActiveDate)}else r.visible=!1,this.emit("intersectionHidden"),delete this.intersectActiveSphereMesh,delete this.intersectActiveDate;this.intersectCameraPosition=i.pose.offset.clone(),this.intersectCameraVector=l.clone(),this.needsRender=!0}}},i.prototype.render=function(){var t=this,i=t.effect,n=t.camera,r=t.scene,o=i.getVRDisplay(),s=this.camera.pose,a=s.longitude,u=s.latitude;if(o){var c=o.getPose();if(d(c.orientation)||n.quaternion.fromArray(c.orientation),o.stageParameters){n.updateMatrix();var l=o.stageParameters.sittingToStandingTransform,h=new e.Matrix4;h.fromArray(l),n.applyMatrix4(h)}}n.updateMatrixWorld(),n.computePose();var M=this.camera.pose,p=M.longitude,f=M.latitude;a===p&&u===f||(this.emit("cameraDirectionUpdate",{longitude:p,latitude:f},!0),this.emit("cameraUpdate",this.camera.copyPose(),!0)),this.renderIntersect(),i.render(r,n)},i}(vi),Si=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).on("panoWillArrive",(function(){return n.ready=!1})),n.on("panoArrived",(function(){return n.ready=!0})),n}return n(i,t),i.parseArgs=function(e){return t.parseArgs.call(this,e)},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.destroy=function(){t.prototype.destroy.call(this)},i.prototype.updateWork=function(e,t,i,n){return this.ready=!1,this.work=e,this.currentPanoIndex=t.panoIndex,this.hideIntersectMesh(),this.moveToPano(t.panoIndex,{duration:0,longitude:t.longitude,latitude:t.latitude,fov:t.fov},n),!0},i.prototype.moveToPano=function(e,t,i){void 0===t&&(t={});var n=this.work.observers[e];n&&this.moveToPosition(n.position,t,i)},i.prototype.moveToPosition=function(t,i,n){var r,o,s,a,u,c,l=this;void 0===i&&(i={});var d=this,h=d.camera,M=d.model,p=d.currentPanoIndex,f=i.duration,A=i.limit,y=void 0===A||A,g=i.easing,N=void 0===g?nt.Quadratic.InOut:g,m=this.calculateMovingDuration(f,h.pose.offset.distanceTo(t)),v=zt(this.work.observers,(function(e){return e.position.distanceTo(t)})),D=this.work.observers.indexOf(v);this.emit("moveToPano",D,n);var T=h.pose.longitude,w=h.pose.latitude,z=h.pose.fov,j=h.pose.offset.clone(),I=(null===(r=M.getMaterial())||void 0===r?void 0:r.modelAlpha)||0,E=null!==(s=null===(o=this.model.getMaterial())||void 0===o?void 0:o.perspToOrtho)&&void 0!==s?s:0,x=null!==(a=i.longitude)&&void 0!==a?a:T,L=null!==(u=i.latitude)&&void 0!==u?u:w,O=null!==(c=i.fov)&&void 0!==c?c:z,b=t.clone(),S={longitude:x,latitude:L,fov:O,offset:b.clone()};i.moveStartCallback&&i.moveStartCallback(D,S),this.emit("panoWillArrive",D,S,n),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition);var C=function(t){var i=t.progress;l.setModelAndBoundingUniforms({modelAlpha:lt(I,1,i),perspToOrtho:lt(E,0,Math.min(5*i,1))});var r=new e.Vector3(lt(j.x,b.x,i),lt(j.y,b.y,i),lt(j.z,b.z,i));l.updateCamera({offset:r},n,y),i>.7&&(l.preventTapGesture=!1),l.emit("movingToPano",D,p,i),n&&l.lastMouseMoveEvent&&l.onMouseMove(l.lastMouseMoveEvent),l.needsRender=!0},_=function(){C({progress:1}),l.preventTapGesture=!1,l.emit("panoArrived",D,l.camera.copyPose(),n),l.needsRender=!0};if(this.preventTapGesture=!0,m>0?this.tweenPosition=ot(m,N).onUpdate(C).onComplete((function(){l.tweenPosition&&l.tweenPosition.destroy(),delete l.tweenPosition,i.moveEndCallback&&i.moveEndCallback(D,l.camera.copyPose()),_()})).onCancel((function(){i.moveCancelCallback&&i.moveCancelCallback()})):_(),this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),T!==x||w!==L||z!==O){var k=function(e){var t=e.progress,i=dt(T,x,t),r=lt(w,L,t),o=lt(z,O,t);l.updateCamera({longitude:i,latitude:r,fov:o},n,y)},U=function(){return k({progress:1})};m>0?this.tweenCoordinates=ot(m,N).onUpdate(k).onComplete((function(){l.tweenCoordinates&&(l.tweenCoordinates.destroy(),delete l.tweenCoordinates),U()})):U()}},i.prototype.setModelAndBoundingUniforms=function(e){for(var t=0,i=[this.model];t<i.length;t++)i[t].setMaterial(e)},i.prototype.onTapGesture=function(t){if(this.interiaMovement=!1,!0!==this.preventTapGesture){var i=this.camera,n=this.model,r=this.relativeClientPosition(t.center),o=new e.Raycaster;o.setFromCamera(r,i);var s=t.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!this.emit("wantsGesture","tap",s,!0)&&!this.emit("wantsTapGesture",o,r)){var a=f(o);if(a&&a.face){var u=a.face.normal,c=a.point;if(new e.Vector3(0,1,0).angleTo(u)>Math.PI/3){var l=i.pose.offset.clone().setY(c.y),d=c.clone().sub(l).setLength(.3),h=c.clone().sub(d);o.set(h,new e.Vector3(0,-1,0)),a=f(o)}}if(a){var M=a.point.clone(),p=zt(this.work.observers.filter((function(e){return Math.abs(e.standingPosition.y-M.y)<1})),(function(e){return e.standingPosition.distanceTo(M)}));p&&(M.y=p.position.y,this.emit("gesture","tap",s,!0),this.emit("tapGesture",o,r),this.moveToPosition(M,{},!0))}}}function f(e){return(!0===n.empty?e.intersectObjects(n.children):n.intersectRaycaster(e))[0]}},i}(Jt);const Ci=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>n?e:String.fromCharCode((e.charCodeAt(r)+i)%n)})).join(o)}("{vs|z-rp@-}n{|]|vv|{H{vs|z-znA-}n{|ZnvH{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}H<<{vs|z-sy|n-pnyrHn\bv{t-rp@-}n{|d|yq]|vv|{H<<-n\bv{t-sy|n-vU|yrHp|{-sy|n-]V-J-@;>A>BF?CHp|{-sy|n-]Vl?-J-C;?E@>EB?Hp|{-sy|n-pnyr-J->@;>Hrp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5:rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-]Vl?9-urn-<-]V6H\f|vq-znv{56-\n--rpA-|yq]|vv|{-J-z|qryZnv-7-rpA5}|vv|{9->;=6H--}n{|d|yq]|vv|{-J-5rpA5|yq]|vv|{;\b\t9->;=6-7-}n{|Znv6;\b\tH--rp?-p||q-J-|P||q5}n{|d|yq]|vv|{6H--sy|n-qvn{pr-J-pnyrH--vs-5p||q;\b-I-=;>B6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-=;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5=;>B-:-p||q;\b66H----qvn{pr-J-pnyrH--\f-ryr-vs-5p||q;\b-KJ-=;>B-33-p||q;\b-IJ-=;EB6-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9-5p||q;\b-:-=;>B6-<-=;D6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----vs5-}n{|Qv}ynprzr{;-JJ-=;=6\n------qvn{pr-J-pnyrH----\fryr\n------qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----\f--\f-ryr-\n----rp?-n{s|zrqP||q-J-rp?5p||q;9->;=6H----rpA-}n{|Qv}ynprzr{-J-rr?Q5}n{|Qv}ynprzr{Zn}9-n{s|zrqP||q6H----qvn{pr-J-pnyr-7-}n{|Qv}ynprzr{;H----qvn{pr-J-qvn{pr-7-p|5]V-7-5p||q;\b-:-=;EB66H----qvn{pr-J-pnyrH--\f--rpA-ry]|vv|{-J-rpA5}|vv|{-8-}n{|]|vv|{-8-{|znyv\tr5|yq]|vv|{;\b\t6-7-qvn{pr9->;=6H--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-ry]|vv|{H\f"),_i=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=113,n=126,r=0,o="";return arguments[r].split(o).map((function(e){return e.charCodeAt(r)>n?e:String.fromCharCode((e.charCodeAt(r)+i)%n)})).join(o)}("{vs|z-sy|n-|}npv\bH{vs|z-nz}yrPor-}n{|Zn}H{vs|z-nz}yr?Q-}n{|Qv}ynprzr{Zn}Hn\bv{t-rp@-}n{|d|yq]|vv|{H|vq-znv{56-\n--rpA-}n{|P|y|-J-rrPor5}n{|Zn}9-}n{|d|yq]|vv|{;\b\t6H--tylSntP|y|-J-rpA5}n{|P|y|;to9-|}npv\b6H\f");var ki=function(e){return{value:e}},Ui=Object.assign({opacity:ki(1),scale:ki(13.1),panoMap:ki(null),panoDisplacementMap:ki(null),panoPosition:ki(new e.Vector3),panoMatrix:ki(new e.Matrix4)},{emissive:ki(new e.Color(0)),emissiveMap:ki(null),specular:ki(new e.Color(1118481)),specularMap:ki(null),normalMap:ki(null),bumpMap:ki(null),shininess:ki(30)},e.UniformsLib.common,e.UniformsLib.lights),Qi=new e.SphereBufferGeometry(.01,128,128),Bi=function(t){function i(e){var i=t.call(this)||this;return i.images=[null,null],i.xhr=[null,null],i.aborted=!1,i.cubeTextureLoader=new Rt(e),i.renderer=e,i}return n(i,t),i.prototype.load=function(e,t){var i=this,n=h,r=h,o=h,s=h;"function"==typeof t?(n=t.bind(this,null),o=t.bind(this),s=t.bind(this)):(t.onLoad&&(n=t.onLoad),t.onProgress&&(r=t.onProgress),t.onError&&(o=t.onError),t.onAbort&&(s=t.onAbort)),this.abort(),this.disposeImages(),this.aborted=!1;var a=[0,0];this.cubeTextureLoader.load(e,(function(t,r){if(t)o(t);else{var s=e.images.depth;i.xhr[0]=Pt(s,(function(t){var o=Object.assign(i.toPanoModel(r,t,e.position,e.matrix),{hash:r.hash});n(o),i.emit("load",o,e)}),(function(e){return u(e,0)}),(function(e){return c(e,0)}),(function(){return l()}))}}));var u=function(t,n){i.aborted||(o(t),i.emit("error",t,e),i.xhr[n]=null,i.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null})),i.disposeImages())},c=function(t,n){a[n]=t,t=a.reduce((function(e,t){return e+t}),0)/a.length,r(t),i.emit("progress",t,e)},l=function(){i.aborted||(i.aborted=!0,i.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null})),i.disposeImages(),s(new Error("image aborted")),i.emit("abort",e))};this.emit("start",e)},i.prototype.abort=function(){this.xhr.forEach((function(e,t,i){e&&e.abort(),i[t]=null}))},i.prototype.disposeImages=function(){for(var e=0;e<this.images.length;e++)if(this.images[e]){var t=this.images[e];t&&Bt(t),this.images[e]=null}},i.prototype.toPanoModel=function(t,i,n,r){var o=new e.ShaderMaterial({side:e.BackSide,vertexShader:Ci,fragmentShader:_i,transparent:!0,uniforms:e.UniformsUtils.clone(Ui)}),s=t;s.needsUpdate=!0,s.minFilter=e.LinearFilter,s.magFilter=e.LinearFilter;var a=i instanceof e.Texture?i:new e.Texture(i);return a.needsUpdate=!0,a.minFilter=e.LinearFilter,a.magFilter=e.LinearFilter,o.uniforms.opacity.value=0,o.uniforms.panoMap.value=s,o.uniforms.panoDisplacementMap.value=a,o.uniforms.panoPosition.value=n,o.uniforms.panoMatrix.value=r,Object.assign(new e.Mesh(Qi,o),{frustumCulled:!1,dispose:function(){this.material instanceof e.ShaderMaterial&&(this.material.uniforms.panoDisplacementMap.value.dispose(),this.material.uniforms.panoDisplacementMap.value=null,this.material.dispose())}})},i}(Se),Pi=function(t){function i(e){var n=this,r=i.parseArgs(e);return(n=t.call(this,r)||this).maxAccessibleDistance=r.maxAccessibleDistance,n.panoCircleMeshCreator=r.panoCircleMeshCreator,n.model.visible=!1,n.model.setMaterial({perspToOrtho:0}),n.boundingMesh=U(n.getBounding()),n.boundingMesh.setMaterial(n.model.getMaterial()||{}),n.boundingMesh.visible=!1,n.boundingMesh.renderOrder=2,n.boundingMesh.frustumCulled=!1,n.scene.add(n.boundingMesh),n.panoCircleMeshes=[],n.updatePanoCircleMeshes(),n.panoCircleMeshes.forEach((function(e){return e.visible=!1})),n.scene.remove(n.intersectMesh),n.depthTextureLoader=new Bi(n.renderer),n.depthTextureLoader.on("start",(function(e){var t,i=e.index;null===(t=n.panoCircleMeshes[i])||void 0===t||t.setProgress(0),n.emit("textureStartLoad",i,n.work.observers[i])})),n.depthTextureLoader.on("progress",(function(e,t){var i,r=t.index;null===(i=n.panoCircleMeshes[r])||void 0===i||i.setProgress(e),n.emit("textureLoading",e,r,n.work.observers[r])})),n.depthTextureLoader.on("abort",(function(e){var t,i=e.index;null===(t=n.panoCircleMeshes[i])||void 0===t||t.setProgress(0),n.emit("textureAbort",i,n.work.observers[i])})),n.depthTextureLoader.on("load",(function(e,t){var i,r=t.index;null===(i=n.panoCircleMeshes[r])||void 0===i||i.setProgress(1),n.emit("textureLoaded",r,n.work.observers[r])})),n.depthTextureLoader.on("error",(function(e,t){var i,r=t.index;null===(i=n.panoCircleMeshes[r])||void 0===i||i.setProgress(0),n.emit("textureError",e,r,n.work.observers[r])})),n.once("panoLoaded",(function(){n.boundingMesh.visible=!0,n.needsRender=!0})),n.on("panoWillArrive",(function(){return n.ready=!1})),n.on("moveToPanoCanceled",(function(){return n.ready=!0})),n.on("panoArrived",(function(){return n.ready=!0})),n}return n(i,t),i.parseArgs=function(e){var i,n,o=t.parseArgs.call(this,e);return r(r({},o),{maxAccessibleDistance:null!==(i=e.maxAccessibleDistance)&&void 0!==i?i:5,panoCircleMeshCreator:null!==(n=e.panoCircleMeshCreator)&&void 0!==n?n:ci})},i.initAnimationEndPose=function(e){var i=this.parseArgs(e);return t.initAnimationEndPose.call(this,i)},i.prototype.getBounding=function(){for(var t=new e.Box3,i=0,n=this.work.observers;i<n.length;i++){var r=n[i].standingPosition.clone();t.expandByPoint(r),r.y+=3,t.expandByPoint(r)}return t.max.x+=4,t.min.x-=4,t.max.z+=4,t.min.z-=4,t},i.prototype.updatePanoCircleMeshes=function(){var t=this,i=[],n=this.model;this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(e){e.loading&&i.push(e.panoIndex),t.scene.remove(e),e.dispose()})),this.panoCircleMeshes.length=0);var r=new e.Vector3(0,-1,0);this.panoCircleMeshes=this.work.observers.map((function(o,s){var a=t.panoCircleMeshCreator();if(a.position.copy(o.standingPosition),t.model.loaded){var u=a.position.clone().add(new e.Vector3(0,1,0)),c=new e.Raycaster(u,r,0,1),l=n.intersectRaycaster(c)[0];l&&(a.position.copy(l.point.clone()),a.needsRender=!0)}return a.name="panoCircle_"+s,a.panoIndex=s,t.scene.add(a),a.needsRender=!0,!1===o.active&&(a.setDisabled(!0),i.indexOf(s)>=0&&(a.setDisabled(!1),a.setLoading(!0))),a}));var o=this.work.observers[this.currentPanoIndex].visibleNodes;o=o.filter((function(e){var i=t.work.observers[e];return i.loadable||i.active})),this.panoCircleMeshes.forEach((function(e){e.visible=o.indexOf(e.panoIndex)>=0}));var s=this.camera.position;this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(s);e.setOpacity(Math.min(1.5/t,1))}))},i.prototype.destroy=function(){var e=this;t.prototype.destroy.call(this),this.depthTextureLoader.off(),delete this.pendingLoadTextureHashAndCallback,this.model&&(this.model.visible=!0),this.panoModel&&(this.scene.remove(this.panoModel),this.panoModel.dispose(),delete this.panoModel),this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(t){e.scene.remove(t),t.dispose()})),this.panoCircleMeshes.length=0)},i.prototype.moveToPano=function(t,i,n){var r=this;void 0===i&&(i={}),this.interiaMovement=!1;var o={index:t,images:this.work.observers[t].images,imageOptions:this.imageOptions},s=kt.u(o),a=function(e,o){if(e)return i.moveCancelCallback&&i.moveCancelCallback(),r.emit("panoLoadError",e,t),void r.emit("moveToPanoCanceled",t);r.destroyed?null==o||o.dispose():(r.emit("panoLoaded",t),N((function(){return r.doMoveToPano(t,o,i,n)})))},u=this.pendingLoadTextureHashAndCallback||[],c=u[0],l=u[1];if(s!==c){if(delete this.pendingLoadTextureHashAndCallback,l&&l(new Error("texture aborted")),this.emit("moveToPano",t,n),this.emit("panoWillLoad",t),!o.images)return void a(new Error("pano images were not existed"));if(!o.images.depth)return void a(new Error("pano depth image were not existed"));var d=this.work.observers[t],h=d.position,M=d.quaternion,p=(new e.Matrix4).compose(h,M,new e.Vector3(-1,1,1)),f=Object.assign({position:h,matrix:p},o);this.pendingLoadTextureHashAndCallback=[s,a],this.depthTextureLoader.load(f,(function(e,t){var i=r.pendingLoadTextureHashAndCallback||[],n=i[0],o=i[1];s===n&&o?(o(e,t),delete r.pendingLoadTextureHashAndCallback):null==t||t.dispose()}))}},i.prototype.updateCamera=function(e,i,n){var r=this;t.prototype.updateCamera.call(this,e,i,n),this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(r.camera.pose.offset);e.setOpacity(Math.min(1/t,1))}));var o=this.getForwardPanoIndexOrNot();null!==o&&this.panoCircleMeshes[o].setOpacity(1),ee()},i.prototype.canNotMoveAnimation=function(){var e=this;if(this.interiaMovement=!1,!this.tweenCoordinates){var t=this.camera.fov,i=.98*t,n=function(t){var i=t.fov;return e.updateCamera({fov:i},!0,!0)};this.tweenCoordinates=rt({fov:t},{fov:i},200).onUpdate(n).onComplete((function(){var r;null===(r=e.tweenCoordinates)||void 0===r||r.destroy(),e.tweenCoordinates=rt({fov:i},{fov:t},200).onUpdate(n).onComplete((function(){var t;null===(t=e.tweenCoordinates)||void 0===t||t.destroy(),delete e.tweenCoordinates}))}))}},i.prototype.doMoveToPano=function(t,i,n,r){var o,s,a,u=this;void 0===n&&(n={});var c=n.limit,l=void 0===c||c,d=n.easing,h=void 0===d?nt.Quadratic.InOut:d,M=this.currentPanoIndex,p=this.panoModel,f=this.currentPanoIndex,A=this.work.observers[t],y=function(e){return e.material.uniforms};if(p&&p instanceof e.ShaderMaterial){var g={pano0Map:y(p).panoMap.value,pano0Matrix:y(p).panoMatrix.value};y(p).opacity.value=1,this.boundingMesh.setMaterial(g)}i.renderOrder=-1;var N={progress:0,pano1Map:y(i).panoMap.value,pano1Matrix:y(i).panoMatrix.value};y(i).opacity.value=0,this.boundingMesh.setMaterial(N),this.model.setMaterial(N),this.panoModel=i,this.scene.add(i);var m=A.visibleNodes.filter((function(e){var t=u.work.observers[e];return t.loadable||t.active})),v=this.calculateMovingDuration(n.duration,this.camera.pose.offset.distanceTo(A.standingPosition)),D=this.camera.pose.longitude,T=this.camera.pose.latitude,w=this.camera.pose.offset.clone(),z=this.camera.fov,j=null!==(o=n.longitude)&&void 0!==o?o:D,I=null!==(s=n.latitude)&&void 0!==s?s:T,E=A.position,x=null!==(a=n.fov)&&void 0!==a?a:z,L={longitude:j,latitude:I,fov:x,offset:E.clone()};if(this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition),n.moveStartCallback&&n.moveStartCallback(t,L),this.emit("panoWillArrive",t,L,r),this.needsRender=!0,D!=D||T!==I||z!==x){var O=function(e){var t=e.progress,i=dt(D,j,t),n=lt(T,I,t),o=lt(z,x,t);u.updateCamera({longitude:i,latitude:n,fov:o},r,l),u.needsRender=!0},b=function(){return O({progress:1})};v>0?this.tweenCoordinates=ot(v,h).onUpdate(O).onComplete((function(){var e;null===(e=u.tweenCoordinates)||void 0===e||e.destroy(),delete u.tweenCoordinates,b()})):b()}var S=function(){u.panoCircleMeshes.forEach((function(e){e.visible=m.indexOf(e.panoIndex)>=0})),y(i).opacity.value=0,i.material.depthTest=!0,p&&(u.scene.remove(p),p.material.uniforms.panoMap.value.dispose(),p.dispose()),u.updateCamera({offset:E},r,l);var e={progress:1,pano1Map:y(i).panoMap.value,pano1Position:y(i).panoPosition.value,pano1Matrix:y(i).panoMatrix.value,pano0Map:y(i).panoMap.value,pano0Position:y(i).panoPosition.value,pano0Matrix:y(i).panoMatrix.value,modelAlpha:0};u.boundingMesh.setMaterial(e),u.model.setMaterial(e),u.panoCircleMeshes[t]&&u.panoCircleMeshes[t].setProgress(0),n.moveEndCallback&&n.moveEndCallback(t,u.camera.copyPose()),u.currentPanoIndex=t,u.preventTapGesture=!1,u.emit("panoArrived",t,u.camera.copyPose(),r),u.needsRender=!0};this.preventTapGesture=!0,v>0&&f!==t?(this.panoCircleMeshes.forEach((function(e){return e.visible=!1})),i.material.depthTest=!1,p&&(p.material.depthTest=!1),this.tweenPosition=ot(v,h).onUpdate((function(n){var o=n.progress,s=new e.Vector3(lt(w.x,E.x,o),lt(w.y,E.y,o),lt(w.z,E.z,o));u.updateCamera({offset:s},r,l);var a=(Math.min(Math.max(o,.1),.9)-.1)/.8,c={modelAlpha:lt(1,0,a)};y(i).opacity.value=lt(0,1,a),p&&(y(p).opacity.value=1),u.boundingMesh.setMaterial(c),u.model.setMaterial(c),u.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(s);e.setOpacity(Math.min(1.5/t,1))})),o>.7&&(u.preventTapGesture=!1),u.emit("movingToPano",t,M,o),u.needsRender=!0})).onComplete((function(){u.tweenPosition&&(u.tweenPosition.completed=!0,u.tweenPosition.destroy()),delete u.tweenPosition,S()})).onCancel((function(){n.moveCancelCallback&&n.moveCancelCallback(),u.emit("moveToPanoCanceled",t)}))):S()},i.prototype.getForwardPanoIndexOrNot=function(t){var i=this,n=this.camera,r=this.currentPanoIndex,o=this.work.observers[r].accessibleNodes;o=o.filter((function(e){var t=i.work.observers[e];return t.loadable||t.active}));var s,a=n.getWorldDirection(new e.Vector3);s=t?t.ray.direction.clone():a.clone();var u=n.pose.offset.clone();s.y=u.y=0;for(var c=0,l=o.filter((function(e){return i.work.observers[e].standingPosition.clone().sub(n.pose.offset).angleTo(a)<n.fov/2/180*Math.PI})).map((function(e){var t=i.work.observers[e].standingPosition.clone();return Object.assign(t,{y:0,panoIndex:e})})).sort((function(e,t){return e.distanceTo(u)-t.distanceTo(u)}));c<l.length;c++){var d=l[c],h=d.clone().sub(u);if(h.length()&&s.angleTo(h)<Math.PI/6)return d.panoIndex}return null},i.prototype.onTapGesture=function(t){var i=this;if(this.interiaMovement=!1,!0!==this.preventTapGesture){var n=this.camera,r=this.panoCircleMeshes,o=null,s=void 0,a=this.work.observers[this.currentPanoIndex].accessibleNodes;a=a.filter((function(e){return i.work.observers[e].position.distanceTo(n.pose.offset)<i.maxAccessibleDistance}));var u=this.relativeClientPosition(t.center),c=new e.Raycaster;c.setFromCamera(u,n);var l=t.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!this.emit("wantsGesture","tap",l,!0)&&!this.emit("wantsTapGesture",c,u)){var h=c.intersectObjects(this.boundingMesh.children)[0];if(h){var M=h.point.clone(),p=zt(r.filter((function(e){return a.indexOf(e.panoIndex)>=0})),(function(e){return e.position.distanceTo(M)}),!0),f=p[0];if(p[1]<1){var A=h.point.clone();o=f.panoIndex;var y=n.getWorldDirection(new e.Vector3).setY(0),g=(new e.Vector3).copy(A).setY(0).sub(n.pose.offset.clone().setY(0));if(y.angleTo(g)>Math.PI/6){var N=g.x,m=g.z;s={longitude:Math.atan2(-N,-m)}}}}if(d(o)&&!d(o=this.getForwardPanoIndexOrNot(c))&&h){var v=h.point,D=this.work.observers[o].position.clone();y=v.clone().setY(0).sub(n.getWorldDirection(new e.Vector3).setY(0)),g=v.clone().setY(0).sub(D.clone().setY(0)),Math.abs(v.y-D.y)<.5&&y.angleTo(g)>Math.PI/6&&y.angleTo(g)<Math.PI/3&&(N=g.x,m=g.z,s={longitude:Math.atan2(-N,-m)})}if(d(o))this.canNotMoveAnimation();else{var T=this.work.observers[o];this.emit("panoSelected",o),this.emit("gesture","tap",l,!0),this.emit("tapGesture",c,u),T.active?this.emit("wantsMoveToPano",o,s||{},!0):this.panoCircleMeshes[o]&&(this.panoCircleMeshes[o].setDisabled(!1),this.panoCircleMeshes[o].setLoading(!0))}}}},i}(Jt),Yi=["Panorama","DepthPanorama","Model"],Ri={Floorplan:Ct,Topview:_t,Panorama:vi,VRPanorama:bi,Model:Si,DepthPanorama:Pi};function Fi(e){for(var t=0,i=Yi;t<i.length;t++){var n=i[t];if("string"==typeof e){if(n===e)return!0}else if(e instanceof St&&e instanceof Ri[n])return!0}return!1}var Vi=["cameraDirectionUpdate","cameraUpdate","cameraPositionUpdate","panoSelected","moveToPano","moveToPanoCanceled","panoWillArrive","movingToPano","panoArrived","panoWillLoad","panoLoaded","panoLoadError","initAnimationEnded","initAnimationWillStart","wantsGesture","gesture","wantsTapGesture","tapGesture","wantsPanGesture","wantsInteriaPan","panGesture","interiaPan","wantsPinchGesture","pinchGesture","wantsMouseWheel","mouseWheel","wantsShowIntersectionOnModel","intersectionOnModelUpdate","intersectionHidden","textureStartLoad","textureLoading","textureAbort","textureLoaded","textureError"];function Gi(e){for(var t,i,n={},r=0,o=e.split(/(\;|\,)/);r<o.length;r++){var s=o[r].split("="),a=null===(t=s[0])||void 0===t?void 0:t.trim(),u=null===(i=s[1])||void 0===i?void 0:i.trim();a&&u&&(n[a]=u)}return n}var Hi=new e.Box3(new e.Vector3(-50,-50,-50),new e.Vector3(50,50,50)),Wi=new e.Frustum,qi=new e.Matrix4,Zi=function(t){function i(i){var n,r,o,s,a,d,h,M,f,A,y,g;void 0===i&&(i={});var N=t.call(this)||this;if(N.ident=p(),N.panoIndex=0,N.needsRender=!1,N.getPixelsRenderTarget=new e.WebGLRenderTarget(1,1),N.onlyRenderIfNeeds=null===(n=i.onlyRenderIfNeeds)||void 0===n||n,N.maxFps=null!==(r=i.maxFps)&&void 0!==r&&r,N.imageOptions=i.imageOptions||{},N.textureOptions=i.textureOptions||N.imageOptions||{},N.extraElements=[],N.controllerInits={Panorama:null!==(o=i.panorama)&&void 0!==o?o:{},Model:null!==(s=i.model)&&void 0!==s?s:{},Floorplan:null!==(a=i.floorplan)&&void 0!==a?a:{},Topview:null!==(d=i.topview)&&void 0!==d?d:{},DepthPanorama:null!==(h=i.depthPanorama)&&void 0!==h?h:{},VRPanorama:null!==(M=i.vrPanorama)&&void 0!==M?M:{}},N.modeChangeDuration=null!==(f=i.modeChangeDuration)&&void 0!==f?f:1e3,N.panoramaLikeSavedPose={},i.renderer)i.renderer instanceof l&&N.throwError(new Error("cannot render a internal renderer")),N.renderer=i.renderer;else try{N.renderer=new l({preserveDrawingBuffer:i.preserveDrawingBuffer,backgroundColor:i.backgroundColor,backgroundAlpha:i.backgroundAlpha,antialias:i.antialias});var v=function(){for(var e,t=document.getElementsByTagName("meta"),i=0;i<t.length;i++){var n=t[i];if("viewport"===n.getAttribute("name")){var r=Gi(null!==(e=n.getAttribute("content"))&&void 0!==e?e:""),o=Number(r["initial-scale"]);if(!isNaN(o))return o}}return 1}();N.renderer.setPixelRatio(1===v?window.devicePixelRatio:1),N.renderer.setSize(512,512)}catch(e){N.throwError(e)}N.scissor=Object.assign({left:0,bottom:0,width:1,height:1},i.scissor),N.camera=new u(80),N.scene=new c,N.model=new ke;var D=U(Hi);if(N.model.add(D),N.model.name="model_empty",N.model.empty=!0,N.model.loaded=!1,N.readyCallbacks=[],N.modelPending=!1,N.videoTexture=new e.VideoTexture(i.videoInstance||function(){var e=document.createElement("video");e.loop=!0,e.autoplay=!0,e.playsInline=!0,e.muted=!0,e.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),e.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),e}()),N.plugins={},i.plugins)for(var T=0,w=i.plugins;T<w.length;T++){var z=w[T];if("function"==typeof z)z(N);else if(Array.isArray(z)){var j=z[0],I=z[1],E=z[2],x=j(N,E);"string"==typeof I&&(N.plugins[I]&&N.throwError(new Error("plugin name "+I+" is exists.")),N.plugins[I]=x)}}return function(t){(i=new e.DirectionalLight(16777215,.1)).position.copy(new e.Vector3(1,1,1)),t.add(i);var i=new e.DirectionalLight(16777215,.1);t.add(i),i=new e.AmbientLight(16777215,1),t.add(i)}(N.scene),N.state={mode:null!==(A=N.currentMode)&&void 0!==A?A:Dt,panoIndex:null!==(y=N.panoIndex)&&void 0!==y?y:0,longitude:N.camera.pose.longitude,latitude:N.camera.pose.latitude,fov:N.camera.pose.fov,offset:N.camera.pose.offset.clone()},N.stateSynced=!1,N.destroyed=!1,N.paused=!0,!1!==i.play&&N.play(),!1!==(null!==(g=i.initialBasisLoader)&&void 0!==g&&g)&&("string"==typeof i.initialBasisLoader?N.initBasisLoader(i.initialBasisLoader):N.initBasisLoader()),m((function(){return N.syncState()})),N}return n(i,t),i.prototype.dispose=function(){if(!0!==this.destroyed){this.emit("dispose"),this.destroyed=!0,this.pause(),this.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var e=this.getElement();e&&e.parentNode&&e.parentNode.removeChild(e),this.scene.remove(this.model);var t=this.model.getMaterial();t&&(t.pano0Map&&t.pano0Map.dispose(),t.pano1Map&&t.pano1Map!==t.pano0Map&&t.pano1Map.dispose()),this.renderer instanceof l&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},i.prototype.setScissor=function(e){Object.assign(this.scissor,e),this.controller&&this.controller.resize&&this.controller.resize()},i.prototype.appendTo=function(e,t){if(void 0===t&&(t={}),this.renderer instanceof l){e.appendChild(this.getElement()),this.refresh(t);var i=window.getComputedStyle(e).position;"relative"!==i&&"absolute"!==i&&"fixed"!==i&&"sticky"!==i&&(e.style.position="relative")}else this.throwError(new Error("cannot call appendTo method when render a external renderer"))},i.prototype.refresh=function(t,i){void 0===t&&(t={});var n=this.getElement().parentNode;if(n&&n.nodeName){var r=t.width,o=void 0===r?n.offsetWidth:r,s=t.height,a=void 0===s?n.offsetHeight:s;this.renderer instanceof l&&(i&&this.renderer.setPixelRatio(i),this.renderer.setSize(o,a))}var u=this.renderer.getSize(new e.Vector2);this.camera.aspect=u.x/u.y,this.scissor&&(this.camera.aspect*=this.scissor.width/this.scissor.height),this.camera.updateProjectionMatrix(),this.controller&&this.controller.resize&&this.controller.resize(),this.needsRender=!0},i.prototype.addExtraElement=function(e){var t=this;return-1===this.extraElements.indexOf(e)&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return t.removeExtraElement(e)}},i.prototype.removeExtraElement=function(e){var t=this.extraElements.indexOf(e);-1!==t&&(this.extraElements.splice(t,1),this.controller&&this.controller.unbindExtraElement(e))},i.prototype.getPose=function(){return this.camera.copyPose()},i.prototype.updateCamera=function(e,t){var i=this;return new Promise((function(n,r){if(i.controller){var o=i.getPose(),s=o.longitude,a=o.latitude,u=o.fov,c=e.longitude,l=void 0===c?s:c,d=e.latitude,h=void 0===d?a:d,M=e.fov,p=void 0===M?u:M;i.controller.tweenCoordinates&&(i.controller.tweenCoordinates.destroy(),delete i.controller.tweenCoordinates),i.tweenCoordinates&&(i.tweenCoordinates.destroy(),delete i.tweenCoordinates);var f=i.tweenCoordinates=ot(t,nt.Linear.None).onUpdate((function(e){var t,n=e.progress,r=dt(s,l,n),o=lt(a,h,n),c=lt(u,p,n);null===(t=i.controller)||void 0===t||t.updateCamera({longitude:r,latitude:o,fov:c},!0,!0)})).onCancel((function(){for(var e=0,t=y;e<t.length;e++)(0,t[e])();delete i.tweenCoordinates,r(new Error("updateCamera animation canceled"))})).onComplete((function(){for(var e=0,t=y;e<t.length;e++)(0,t[e])();f.destroy(),delete i.tweenCoordinates,n()})),A=function(){return f.destroy()},y=[i.on("gesture",A),i.on("setState",A),i.on("load",A)]}else{var g=new Error("controller never initialized");r(g)}}))},i.prototype.getLongitudeAndLatitude=function(){var e=this.getPose();return{longitude:e.longitude,latitude:e.latitude}},i.prototype.getOffset=function(){return this.getPose().offset},i.prototype.getCameraLocal=function(){if("number"==typeof this.panoIndex&&this.controller&&this.work){var t=this.work.observers[this.panoIndex],i=new e.Object3D;return i.position.copy(t.position),i.quaternion.copy(t.quaternion),i.scale.set(1,1,1),i.updateMatrixWorld(!0),function(t,i){var n=new e.Vector3(0,0,-1);n.applyQuaternion(t.quaternion);var r=i.quaternion.clone().inverse();return n.applyQuaternion(r),{theta:Math.atan2(n.x,-n.z),phi:-Math.asin(n.y),lookAtVector:n}}(this.camera,i)}},i.prototype.initBasisLoader=function(e){try{if("undefined"==typeof Promise||"undefined"==typeof WeakMap||"undefined"==typeof WebAssembly)throw new Error("Basis loader not support.");"string"==typeof e&&le.setResourcePath(e),le.workerConfig.format||le.detectSupport(this.renderer),le._allocateWorker(0)}catch(e){this.throwError(e)}},i.prototype.load=function(t,n,o){var s,a,u,c,l,d,M,f,A,y,g,N,m=this,v=this.work,D=function(t){"string"==typeof t&&"{"===t.trim()[0]&&(t=JSON.parse(t));var i={uuid:p(),initial:{mode:Dt,latitude:0,longitude:0,panoIndex:0,fov:80},observers:[]},n=t.base_url||"",r=function(e,i){var r,o;if(je(e))return e;var s=(null===(r=t.panorama)||void 0===r?void 0:r.base_url)||n||"",a=(null===(o=t.panorama)||void 0===o?void 0:o.pano_high_cube_base_url)||"";return a||s?s+a+i+"/"+e:n+e},o=function(e){return je(e)?e:n+e},s=function(e,t){return je(e)?e:t?t+e:n+e};if(t.initial&&(Tt(t.initial.latitude)&&(i.initial.latitude=t.initial.latitude),Tt(t.initial.longitude)?i.initial.longitude=t.initial.longitude:Tt(t.initial.heading)&&(i.initial.longitude=-(360*(t.initial.heading-.25)+90)/180*Math.PI),Tt(t.initial.fov)&&(i.initial.fov=t.initial.fov),Tt(t.initial.panoIndex)?i.initial.panoIndex=t.initial.panoIndex:Tt(t.initial.pano_index)?i.initial.panoIndex=t.initial.pano_index:Tt(t.initial.pano)&&(i.initial.panoIndex=t.initial.pano)),t.model){var a={bvh:!0,async:!1,textureBase:"",textures:[]};"boolean"==typeof t.model.bvh?a.bvh=t.model.bvh:"boolean"==typeof t.bvh&&(a.bvh=t.bvh),"boolean"==typeof t.model.async?a.async=t.model.async:"boolean"==typeof t.modelAsync&&(a.async=t.modelAsync),t.model.file?a.file=o(t.model.file):t.model.file_url&&(a.file=o(t.model.file_url)),t.model.textureBase?a.textureBase=t.model.textureBase:t.model.material_base_url&&(a.textureBase=t.model.material_base_url),Array.isArray(t.model.textures)?a.textures=t.model.textures.map((function(e){return s(e,a.textureBase)})):Array.isArray(t.model.material_textures)&&(a.textures=t.model.material_textures.map((function(e){return s(e,a.textureBase)}))),a.file&&(i.model=a)}if(t.observers&&Array.isArray(t.observers)){var u=[];t.panorama&&(Array.isArray(t.panorama)?u=t.panorama:Array.isArray(t.panorama.list)?u=t.panorama.list:Array.isArray(t.panorama.info)&&(u=t.panorama.info));for(var c=0;c<t.observers.length;c++){var l={},d=t.observers[c];if(!d)break;var h=u[c]||{};d=Object.assign({},d,h,{active:!1!==d.active&&!1!==h.active}),l.panoIndex=c,l.active=!1!==d.active,l.loadable=!0===d.loadable,l.images={up:r(d.images?d.images.up:d.up,c),down:r(d.images?d.images.down:d.down,c),right:r(d.images?d.images.right:d.right,c),left:r(d.images?d.images.left:d.left,c),front:r(d.images?d.images.front:d.front,c),back:r(d.images?d.images.back:d.back,c)};var M=d.images?d.images.depth:d.depth;M&&(l.images.depth=r(M,c));var f=d.images?d.images.tiles:d.tiles;if(f&&(l.images.tiles=r(f,c)),d.position instanceof e.Vector3)l.position=d.position.clone();else{if(!Array.isArray(d.position))break;l.position=(new e.Vector3).fromArray(d.position)}if(d.standingPosition instanceof e.Vector3)l.standingPosition=d.standingPosition.clone();else if(Array.isArray(d.standingPosition))l.standingPosition=(new e.Vector3).fromArray(d.standingPosition);else if(d.standing_position instanceof e.Vector3)l.standingPosition=d.standing_position.clone();else{if(!Array.isArray(d.standing_position))break;l.standingPosition=(new e.Vector3).fromArray(d.standing_position)}if(d.quaternion instanceof e.Quaternion)l.quaternion=d.quaternion.clone();else if(Array.isArray(d.quaternion))l.quaternion=(new e.Quaternion).fromArray(d.quaternion);else{if(!d.quaternion)break;var A=d.quaternion,y=A.x,g=A.y,N=A.z,m=A.w;l.quaternion=new e.Quaternion(y,g,N,m)}if(Array.isArray(d.accessibleNodes)?l.accessibleNodes=d.accessibleNodes.slice():Array.isArray(d.accessible_nodes)&&(l.accessibleNodes=d.accessible_nodes.slice()),Array.isArray(d.visibleNodes)?l.visibleNodes=d.visibleNodes.slice():Array.isArray(d.visible_nodes)&&(l.visibleNodes=d.visible_nodes.slice()),Tt(d.floorIndex)?l.floorIndex=d.floorIndex:Tt(d.floor_index)?l.floorIndex=d.floor_index:l.floorIndex=0,d.video){var v={};"string"==typeof d.video.source&&(v.source=d.video.source),d.video.matrix instanceof e.Matrix4?v.matrix=d.video.matrix.clone():Array.isArray(d.video.matrix)&&(v.matrix=(new e.Matrix4).fromArray(d.video.matrix)),d.video.size instanceof e.Vector2?v.size=d.video.size.clone():Array.isArray(d.video.size)&&(v.size=(new e.Vector2).fromArray(d.video.size)),v.source&&v.matrix&&v.size&&(l.video=v)}i.observers[c]=l}}for(var D=0,T=i.observers;D<T.length;D++){if(!(l=T[D]).accessibleNodes){l.accessibleNodes=[];for(var w=0;w<i.observers.length;w++)i.observers[w]!==l&&l.accessibleNodes.push(w)}if(!l.visibleNodes)for(l.visibleNodes=[],w=0;w<i.observers.length;w++)i.observers[w]!==l&&l.visibleNodes.push(w)}return Object.freeze(i),i}(t);void 0===n&&(n=v?"inherit":"initial"),"inherit"===n?(y="number"==typeof this.panoIndex&&D.observers[this.panoIndex]?this.panoIndex:D.initial.panoIndex,g=null!==(s=this.currentMode)&&void 0!==s?s:D.initial.mode,N={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):"initial"===n?(g=null!==(a=this.currentMode)&&void 0!==a?a:D.initial.mode,y=D.initial.panoIndex,N="Panorama"===g||"DepthPanorama"===g||"Model"===g||"VRPanorama"===g?{longitude:D.initial.longitude,latitude:D.initial.latitude,fov:D.initial.fov}:{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov}):(y=null!==(u=n.panoIndex)&&void 0!==u?u:D.initial.panoIndex,g=null!==(l=null!==(c=n.mode)&&void 0!==c?c:this.currentMode)&&void 0!==l?l:Dt,N={longitude:null!==(d=n.longitude)&&void 0!==d?d:D.initial.longitude,latitude:null!==(M=n.latitude)&&void 0!==M?M:D.initial.latitude,fov:null!==(f=n.fov)&&void 0!==f?f:D.initial.fov}),this.emit("willLoad",t,D,{panoIndex:y,mode:g,longitude:N.longitude,latitude:N.latitude,fov:N.fov});var T=function(){m.work=D,m.panoIndex=y,m.panoramaLikeSavedPose.longitude=D.initial.longitude,m.panoramaLikeSavedPose.latitude=D.initial.latitude,m.panoramaLikeSavedPose.fov=D.initial.fov;var e=null!=o?o:void 0===v?0:m.modeChangeDuration,i={panoIndex:y,longitude:N.longitude,latitude:N.latitude,fov:N.fov},n=r(r({panoIndex:y,initial:[{longitude:N.longitude,latitude:N.latitude,fov:N.fov},e,!0]},m.commonParams()),m.controllerInits[g]);m.controller?!1===m.controller.updateWork(D,i,e,!0)&&(m.controller.destroy(),m.controller=m.applyController(g,n)):m.controller=m.applyController(g,n),m.emit("load",t,D,{panoIndex:y,mode:g,longitude:N.longitude,latitude:N.latitude,fov:N.fov})},w=function(e,t){var i,n;void 0===t&&(t=h),e&&((null===(i=null==v?void 0:v.model)||void 0===i?void 0:i.file)!==(null===(n=D.model)||void 0===n?void 0:n.file)?(m.emit("modelWillLoad",e),m.loadModel(e,t,!0)):t&&(!0===m.model.loaded?t():m.once("modelLoaded",(function(){return t()}))))};return g===i.Mode.Floorplan||g===i.Mode.Topview||g===i.Mode.Model?w(D.model,(function(){T()})):(T(),null===(A=this.controller)||void 0===A||A.once("panoLoaded",(function(){return w(D.model)}))),this.ready()},i.prototype.changeMode=function(e,t,n,o){var s=this;return void 0===t&&(t={}),void 0===n&&(n=this.modeChangeDuration),void 0===o&&(o=!0),new Promise((function(a,u){var c;if(!i.Mode.hasOwnProperty(e)){var l=new Error('mode "'+e+'" is not existed');return s.throwError(l),void u(l)}if(e!==i.Mode.Floorplan&&e!==i.Mode.Topview&&e!==i.Mode.Model||!d(s.model)&&!0===s.model.loaded){if(d(s.controller))return s.currentMode=e,s.panoIndex=null!==(c=t.panoIndex)&&void 0!==c?c:s.panoIndex,s.updateCamera(t,n);var h=s.controller,M=s.currentMode,p=function(){var i,u;s.saveControllerPose(h);var c=r(r({panoIndex:null!==(u=null!==(i=t.panoIndex)&&void 0!==i?i:s.panoIndex)&&void 0!==u?u:0,initial:[Fi(e)?s.panoramaLikeSavedPose:t,n,o]},s.commonParams()),s.controllerInits[e]);s.emit("wantsChangeMode",e,M)||(h.destroy(),s.controller=s.applyController(e,c),s.controller.once("initAnimationWillStart",(function(t,i){s.emit("modeChange",e,M,t,i)})),s.emit("currentStateChange",s.getCurrentState(),o),a())};e===i.Mode.VRPanorama&&"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){if("granted"==e)p();else{var t=new Error("Request DeviceOrientation Permission denied.");s.throwError(t),u(t)}})).catch((function(e){s.throwError(e),u(e)})):p()}else l=new Error("model is not ready."),s.throwError(l)}))},i.prototype.getPixels=function(t,i,n,r,o){void 0===o&&(o=1);var s=this.getPixelsRenderTarget,a=this.renderer.getSize(new e.Vector2);t=Math.min(Math.max(t,Math.floor(n/2)),Math.floor(a.x-n)),i=Math.min(Math.max(i,Math.floor(r/2)),Math.floor(a.y-r)),t*=o,i*=o,n*=o,r*=o,s.setSize(a.x*o,a.y*o),s.scissor.set(t,i,n,r),s.scissorTest=!0,this.renderer.setRenderTarget(s);var u=new Uint8Array(n*r*4);return this.controller?this.controller.render():this.renderer.render(this.scene,this.camera),this.renderer.readRenderTargetPixels(s,t,i,n,r,u),this.renderer.setRenderTarget(null),s.setSize(1,1),s.scissor.set(0,0,0,0),s.scissorTest=!1,u},i.prototype.getElement=function(){return this.renderer.domElement},i.prototype.pause=function(){},i.prototype.render=function(t){if(this.updateResolution(),this.controller){var i=new e.Vector2,n=0!==this.scissor.left||0!==this.scissor.bottom||1!==this.scissor.width||0!==this.scissor.height;if(n){this.renderer.getSize(i);var r=Math.floor(i.x*this.scissor.left),o=Math.floor(i.y*this.scissor.bottom),s=Math.floor(i.x*this.scissor.width),a=Math.floor(i.y*this.scissor.height);this.renderer.setViewport(r,o,s,a),this.renderer.setScissor(r,o,s,a),this.renderer.setScissorTest(!0)}this.controller.render(),n&&(this.renderer.setViewport(0,0,i.x,i.y),this.renderer.setScissor(0,0,i.x,i.y),this.renderer.setScissorTest(!1)),(u=Ue(this.renderer.getContext()))&&this.throwError(u)}else{var u;this.renderer.render(this.scene,this.camera),(u=Ue(this.renderer.getContext()))&&this.throwError(u)}t&&N(t)},i.prototype.play=function(){var e=this;this.pause(),this.needsRender=!0;var t=A(),n=A(),r=0;this.paused=!1;var o=m((function(){if(!0!==e.paused&&!e.destroyed){var o=A();if(e.maxFps){if(o-t+1<=1e3/e.maxFps)return;t=o}if(e.currentMode!==i.Mode.VRPanorama&&e.onlyRenderIfNeeds){for(var s=0,a=e.getRenderMeshes();s<a.length;s++)for(var u=a[s];u;)!0===u.needsRender&&(u.needsRender=!1,e.needsRender=!0),(u=u.parent)&&u instanceof c&&(u=null);e.controller&&!0===e.controller.needsRender&&(e.controller.needsRender=!1,e.needsRender=!0),!1!==e.needsRender&&e.render()}else e.render();e.needsRender=!1,e.hasListener("renderFrame")&&e.emit("renderFrame"),e.hasListener("fps")&&(n&&o-n<1e3?r++:(n&&e.emit("fps",r),n=o,r=0))}}));this.pause=function(){e.paused=!0,o(),e.renderer&&e.renderer instanceof l&&e.renderer.clear(!0,!0,!0)}},i.prototype.moveToPano=function(e,t,n){var r;void 0===t&&(t={}),void 0===n&&(n=!0);var o=this.moveToPanoQueue=this.moveToPanoQueue||[],s=this.controller,a=this.currentMode;if(s)if(a===i.Mode.Floorplan||a===i.Mode.Topview)o.length=0,delete o.dequeue,d(e)||(this.panoIndex=e,this.changeMode(i.Mode.Panorama,t));else{if((null===(r=this.controller)||void 0===r?void 0:r.tweenPosition)||(o.length=0,delete o.dequeue),o.push([e,t,n]),o.length>2&&(o.length=2),o.dequeue)return;var u=function(){if(0!==o.length){var e=o.shift(),t=e[0],i=e[1],n=void 0===i?{}:i,r=e[2],a=Object.assign({},n);a.moveEndCallback=function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return n.moveEndCallback&&(e=n.moveEndCallback.apply(this,t)),setTimeout(u),e},a.moveCancelCallback=function(){for(var e,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return n.moveCancelCallback&&(e=n.moveCancelCallback.apply(this,t)),setTimeout(u),e},s&&"moveToPano"in s&&N((function(){return s.moveToPano(t,a,r)}))}else delete o.dequeue};o.dequeue=!0,u()}},i.prototype.preloadPano=function(e,t){var i=this;if(void 0===t&&(t=h),!this.work)return Promise.reject(new Error("work never loaded"));var n=this.work.observers[e],o=A();return Promise.all(["right","left","up","down","front","back"].map((function(t){var o,s=r({key:["cube",e,t].join("."),basisLoaderInitialized:le.isInitialized()},i.imageOptions);return o=W(n.images[t],s),Pe[o]?Pe[o]:Pe[o]=new Promise((function(e){var t=document.createElement("link");t.href=o,t.rel="preload",t.as="fetch",Be&&Be.appendChild(t),t.onload=function(){return e()}}))}))).then((function(){var e=A()-o;return t(e),e}))},i.prototype.project2d=function(t,i){if(void 0===i&&(i=!1),!1===this.model.empty&&i){var n=this.camera.position,r=t.clone().sub(n),o=new e.Raycaster(n,r.clone().normalize()),s=this.model.intersectRaycaster(o)[0];if(s&&s.distance+.01<r.length())return null}var a=t.clone().project(this.camera);if(Math.abs(a.z)>1)return null;var u=this.renderer.getSize(new e.Vector2),c=u.x*this.scissor.width,l=u.y*this.scissor.height,d=u.x*this.scissor.left+(a.x+1)/2*c,h=u.y*(1-this.scissor.bottom-this.scissor.height)+(1-a.y)/2*l;return new e.Vector2(d,h)},i.prototype.getRenderMeshes=function(t){qi.multiplyMatrices(this.camera.projectionMatrix,this.camera.matrixWorldInverse),Wi.setFromProjectionMatrix(qi),t||(t=this.scene);var i=[];return t.traverseVisible((function(t){(t instanceof e.Mesh||t instanceof e.Line||t instanceof e.Points)&&(t instanceof e.ImmediateRenderObject||!t.frustumCulled||Wi.intersectsObject(t))&&i.push(t)})),i},i.prototype.getCurrentState=function(){return r(r({},this.camera.copyPose()),{mode:this.currentMode||i.Mode.Panorama,panoIndex:this.panoIndex||0})},i.prototype.setState=function(e,t){var n,o,s,a,u,c;void 0===t&&(t=!1);var l,h,M,p,f=null!==(n=e.panoIndex)&&void 0!==n?n:this.state.panoIndex,A=null!==(o=e.mode)&&void 0!==o?o:this.state.mode;if(e.mode!==i.Mode.Floorplan&&e.mode!==i.Mode.Topview&&e.mode!==i.Mode.Model||!d(this.model)&&!0===this.model.loaded){if(this.state.mode!==A){var y;y=Fi(this.state.mode)&&Fi(A)?this.state:Fi(A)?this.panoramaLikeSavedPose:e;var g=r(r({panoIndex:f,initial:[y,this.modeChangeDuration,!1]},this.commonParams()),this.controllerInits[A]),N=Ri[A].initAnimationEndPose(g);l=N.longitude,h=N.latitude,M=N.fov,p=N.offset}else l=null!==(s=e.longitude)&&void 0!==s?s:this.state.longitude,h=null!==(a=e.latitude)&&void 0!==a?a:this.state.latitude,M=null!==(u=e.fov)&&void 0!==u?u:this.state.fov,p=null!==(c=e.offset)&&void 0!==c?c:this.state.offset;this.emit("setState",{longitude:l,latitude:h,fov:M,offset:p,mode:A,panoIndex:f}),(f!==this.state.panoIndex||A!==this.state.mode||l!==this.state.longitude||h!==this.state.latitude||M!==this.state.fov||!p.equals(this.state.offset))&&(this.state.panoIndex=f,this.state.mode=A,this.state.longitude=l,this.state.latitude=h,this.state.fov=M,this.state.offset.copy(p),t&&this.syncState(t),this.emit("stateChange",this.state,!0))}else this.throwError(new Error("model is not ready."))},i.prototype.syncState=function(t){if(void 0===t&&(t=!1),this.controller&&!1!==this.controller.ready){if(this.readyCallbacks.length){var n=this.currentMode;if(n!==i.Mode.Floorplan&&n!==i.Mode.Topview&&n!==i.Mode.Model||!this.modelPending)for(var r=void 0;r=this.readyCallbacks.shift();)r()}var o=this.stateSynced;if(this.stateSynced=!1,this.state.mode===this.currentMode){if(this.controller instanceof Ri.Model){if(!this.camera.pose.offset.equals(this.state.offset)){var s={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return void this.controller.moveToPosition(this.state.offset,s,!1)}}else if(this.state.panoIndex!==this.panoIndex)return s={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset},void this.controller.moveToPano(this.state.panoIndex,s,!1);if(this.controller instanceof Ri.Topview){var a=t?new e.Vector3(this.state.offset.x,this.state.offset.y,this.state.offset.z):new e.Vector3(ht(this.camera.pose.offset.x,this.state.offset.x,.2),ht(this.camera.pose.offset.y,this.state.offset.y,.2),ht(this.camera.pose.offset.z,this.state.offset.z,.2));if(!this.camera.pose.offset.equals(a))return void this.controller.updateCamera({offset:a},!1,!1)}else{var u=Math.PI/45,c=t?this.state.fov:ht(this.camera.pose.fov,this.state.fov,1),l=t?{longitude:this.state.longitude,latitude:this.state.latitude}:function(e,t,i){if(e.longitude===t.longitude&&e.latitude===t.latitude)return{longitude:t.longitude,latitude:t.latitude};var n=at(e.longitude),r=e.latitude,o=at(t.longitude),s=t.latitude;o-n>ut?n+=ct:n-o>ut&&(n-=ct);var a=i/Math.sqrt(Math.pow(o-n,2)+Math.pow(s-r,2));return a>=1?{longitude:t.longitude,latitude:t.latitude}:{longitude:n+(o-n)*a,latitude:r+(s-r)*a}}({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},u),d=l.longitude,h=l.latitude;if(c!==this.camera.pose.fov||d!==this.camera.pose.longitude||h!==this.camera.pose.latitude)return this.controller.tweenCoordinates&&(this.controller.tweenCoordinates.destroy(),delete this.controller.tweenCoordinates),void this.controller.updateCamera({longitude:d,latitude:h,fov:c},!1,!1)}this.stateSynced=!0,!1===o&&this.emit("stateSynced",this.state)}else{var M={panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};this.changeMode(this.state.mode,M,this.modeChangeDuration,!1)}}},i.prototype.ready=function(){var e=this;return new Promise((function(t){return e.readyCallbacks.push(t)}))},i.prototype.updateResolution=function(){var t=this.renderer.getSize(new e.Vector2);this.scene.traverseVisible((function(e){e instanceof vt&&e.setResolution(t.x,t.y)}))},i.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},i.prototype.loadModel=function(e,t,n){var r=this,o=e.async||!1;this.emit("modelWillLoad",e);var s=new ke;s.once("bvhLoaded",(function(){r.emit("modelBvhLoaded",s)})),s.once("geometryLoaded",(function(){r.emit("modelGeometryLoaded",s)})),s.on("error",(function(e){r.emit("modelLoadError",e,s),r.throwError(e),r.modelPending=!1})),s.once("loaded",(function(){var a;if(!r.destroyed){s.bounding.max.y-s.bounding.min.y<1.5&&(s.bounding.max.y=s.bounding.min.y+10);var u,c=r.model;c&&(u=c.getMaterial()||{},r.scene.remove(c),c.dispose(),s.setTransparent(c.getTransparent()),s.visible=c.visible),r.model=Object.assign(s,{loaded:!0}),null===(a=r.controller)||void 0===a||a.resetModel(r.model,n),u&&r.model.setMaterial(u),c&&r.currentMode!==i.Mode.Panorama&&(o=!1);var l=function(){t(),r.emit("modelLoaded",s),N((function(){return r.emit("modelMaterialLoaded",s)})),e.bvh&&te((function(){return s.buildBVH()})),"function"==typeof gc&&gc(),r.needsRender=!0,r.modelPending=!1};if(o){var d=[].concat(r.model.children);r.model.children.length=0;var h=U(Hi);h.name="uniformKeeper",h.visible=!1,h.setMaterial(u||{}),r.model.add(h),r.scene.add(r.model);var M=function(){te((function(){var e=d.shift();e?(r.model.setMaterial.call(e,r.model.getMaterial()||{}),r.model.add(e),null===r.model.shownfloor?r.model.show():r.model.show(r.model.shownfloor),N(M,2)):(r.model.remove(h),l())}))};M()}else c?(r.scene.add(r.model),l()):te((function(){r.scene.add(r.model),l()}))}})),this.modelPending=!0,s.load(e,this.textureOptions)},i.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,camera:this.camera,renderer:this.renderer,scissor:this.scissor,element:this.getElement(),model:this.model,work:this.work,imageOptions:this.imageOptions,extraElements:this.extraElements,videoTexture:this.videoTexture}},i.prototype.saveControllerPose=function(e){void 0===e&&(e=this.controller),e&&Fi(e)&&(this.panoramaLikeSavedPose.longitude=this.camera.pose.longitude,this.panoramaLikeSavedPose.latitude=this.camera.pose.latitude,this.panoramaLikeSavedPose.fov=this.camera.pose.fov)},i.prototype.applyController=function(e,t){var n=this,r=Ri[e];e===this.currentMode||this.model.empty||this.model.show(),this.model.setTransparent(e===i.Mode.Floorplan||e===i.Mode.Topview||e===i.Mode.Model),this.currentMode=e;for(var s=new r(t),a=function(e){s.on(e,(function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var r=n.emit.apply(n,o([e],t));if(r)return!1}))},u=0,c=Vi;u<c.length;u++)a(c[u]);return s.on("initAnimationWillStart",(function(t,i,r){r&&(n.state.mode=e,n.state.panoIndex=t,n.state.longitude=i.longitude,n.state.latitude=i.latitude,n.state.fov=i.fov,n.state.offset.copy(i.offset),n.emit("stateChange",n.state,r))})),s.on("initAnimationEnded",(function(t,i,r){r&&(n.state.mode=e,n.state.panoIndex=t,n.state.longitude=i.longitude,n.state.latitude=i.latitude,n.state.fov=i.fov,n.state.offset.copy(i.offset),n.emit("stateChange",n.state,r))})),s.on("moveToPano",(function(e,t){n.emit("currentStateChange",n.getCurrentState(),t)})),s.on("panoWillArrive",(function(e,t,i){n.panoIndex=e,i&&(n.state.panoIndex=e,n.state.longitude=t.longitude,n.state.latitude=t.latitude,n.state.fov=t.fov,n.state.offset.copy(t.offset),n.emit("stateChange",n.state,i))})),s.on("panoArrived",(function(){"function"==typeof gc&&gc()})),s.on("wantsMoveToPano",(function(e,t,i){var r=n.emit("wantsMoveToPano",e,t,i);r||(r=n.emit("wantsToMoveToPano",e,t,i)),r||n.moveToPano(e,t,i)})),s.on("cameraUpdate",(function(e,t){t&&n.state.mode===n.currentMode&&n.state.panoIndex===n.panoIndex&&(n.state.longitude=e.longitude,n.state.latitude=e.latitude,n.state.fov=e.fov,n.state.offset.copy(e.offset),n.emit("stateChange",n.state,t)),n.emit("currentStateChange",n.getCurrentState(),t)})),s.on("vrWantsToExit",(function(){n.currentMode===i.Mode.VRPanorama&&n.changeMode(i.Mode.Panorama)})),s.on("error",(function(e){return n.emit("error",e)})),s},i.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",DepthPanorama:"DepthPanorama",VRPanorama:"VRPanorama"},i.FiveLine=vt,i.Easing=nt,i}(Se)})(),__webpack_exports__=__webpack_exports__.Five,__webpack_exports__})()}));