@vertexvis/viewer 0.10.2-canary.7 → 0.11.0

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 (139) hide show
  1. package/dist/cjs/{browser.esm-ae55f058.js → browser.esm-17419694.js} +25 -25
  2. package/dist/cjs/{bundle.esm-c457ad4d.js → bundle.esm-b79513ef.js} +231 -207
  3. package/dist/cjs/{constants-4277684a.js → constants-1d65ed39.js} +1 -1
  4. package/dist/cjs/{cursors-b93b43ef.js → cursors-8aaf500f.js} +1 -1
  5. package/dist/cjs/{dom-cdb50ebc.js → dom-40804039.js} +1 -1
  6. package/dist/cjs/index.cjs.js +8 -7
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{markup-3dac4cef.js → markup-e84a143f.js} +11 -2
  9. package/dist/cjs/{measurement-b494bf55.js → measurement-4579193b.js} +2 -2
  10. package/dist/cjs/{orientation-42cc9e8d.js → orientation-09d0f3ef.js} +14 -7
  11. package/dist/cjs/{png-decoder-2add73dd.js → png-decoder-97ea96ba.js} +3 -3
  12. package/dist/cjs/{scene-23a0a330.js → scene-4397373a.js} +28524 -2446
  13. package/dist/cjs/{utils-6933381f.js → utils-414e6cfe.js} +2 -2
  14. package/dist/cjs/utils-440f0f7d.js +61 -0
  15. package/dist/cjs/vertex-scene-tree.cjs.entry.js +6 -5
  16. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
  17. package/dist/cjs/{vertex-viewer-markup-arrow_2.cjs.entry.js → vertex-viewer-markup-arrow_3.cjs.entry.js} +267 -4
  18. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +43 -9
  19. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +25 -5
  20. package/dist/cjs/vertex-viewer-measurement-distance_2.cjs.entry.js +8 -8
  21. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +5 -5
  22. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +5 -5
  23. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +3 -3
  24. package/dist/cjs/vertex-viewer.cjs.entry.js +141 -48
  25. package/dist/cjs/viewer.cjs.js +1 -1
  26. package/dist/cjs/{viewport-e69f8223.js → viewport-fc405a48.js} +31 -7
  27. package/dist/collection/collection-manifest.json +1 -0
  28. package/dist/collection/components/scene-tree/scene-tree.js +3 -2
  29. package/dist/collection/components/viewer/viewer.js +28 -3
  30. package/dist/collection/components/viewer-markup/utils.js +65 -1
  31. package/dist/collection/components/viewer-markup/viewer-markup.js +72 -16
  32. package/dist/collection/components/viewer-markup-circle/utils.js +2 -55
  33. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js +4 -4
  34. package/dist/collection/components/viewer-markup-freeform.tsx/utils.js +10 -0
  35. package/dist/collection/components/viewer-markup-freeform.tsx/viewer-markup-freeform.css +157 -0
  36. package/dist/collection/components/viewer-markup-freeform.tsx/viewer-markup-freeform.js +413 -0
  37. package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js +63 -9
  38. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance-components.js +1 -1
  39. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +2 -2
  40. package/dist/collection/lib/cursors.js +1 -1
  41. package/dist/collection/lib/interactions/baseInteractionHandler.js +5 -4
  42. package/dist/collection/lib/interactions/flyToPartKeyInteraction.js +1 -1
  43. package/dist/collection/lib/interactions/interactionApi.js +101 -22
  44. package/dist/collection/lib/interactions/mouseInteractions.js +17 -15
  45. package/dist/collection/lib/interactions/multiTouchInteractionHandler.js +2 -2
  46. package/dist/collection/lib/mappers.js +4 -3
  47. package/dist/collection/lib/scenes/camera.js +8 -2
  48. package/dist/collection/lib/scenes/operations.js +1 -1
  49. package/dist/collection/lib/scenes/scene.js +5 -2
  50. package/dist/collection/lib/types/frame.js +8 -2
  51. package/dist/collection/lib/types/markup.js +9 -1
  52. package/dist/collection/lib/types/stencilBuffer.js +2 -2
  53. package/dist/collection/lib/types/viewport.js +32 -8
  54. package/dist/collection/testing/fixtures.js +2 -1
  55. package/dist/esm/{browser.esm-7dbdf78a.js → browser.esm-e4fb17dc.js} +25 -25
  56. package/dist/esm/{bundle.esm-590d2273.js → bundle.esm-d891316f.js} +232 -208
  57. package/dist/esm/{constants-083f6b2c.js → constants-037e417f.js} +1 -1
  58. package/dist/esm/{cursors-39294365.js → cursors-00835249.js} +1 -1
  59. package/dist/esm/{dom-43682375.js → dom-d0877f90.js} +1 -1
  60. package/dist/esm/index.js +7 -7
  61. package/dist/esm/index.mjs +7 -7
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/loader.mjs +1 -1
  64. package/dist/esm/{markup-3ce3dccd.js → markup-9b29aa94.js} +11 -3
  65. package/dist/esm/{measurement-78bd27fc.js → measurement-8430d5d6.js} +2 -2
  66. package/dist/esm/{orientation-c3e2af18.js → orientation-bb34b652.js} +14 -7
  67. package/dist/esm/{png-decoder-dfb97536.js → png-decoder-c4745070.js} +3 -3
  68. package/dist/esm/{scene-30ac6229.js → scene-72760305.js} +28532 -2454
  69. package/dist/esm/utils-5fe43b8a.js +52 -0
  70. package/dist/esm/{utils-b857bd7c.js → utils-f8e0baf7.js} +2 -2
  71. package/dist/esm/vertex-scene-tree.entry.js +6 -5
  72. package/dist/esm/vertex-viewer-dom-element_3.entry.js +4 -4
  73. package/dist/esm/{vertex-viewer-markup-arrow_2.entry.js → vertex-viewer-markup-arrow_3.entry.js} +267 -5
  74. package/dist/esm/vertex-viewer-markup-tool.entry.js +43 -9
  75. package/dist/esm/vertex-viewer-markup.entry.js +25 -5
  76. package/dist/esm/vertex-viewer-measurement-distance_2.entry.js +8 -8
  77. package/dist/esm/vertex-viewer-measurement-tool.entry.js +5 -5
  78. package/dist/esm/vertex-viewer-measurements.entry.js +5 -5
  79. package/dist/esm/vertex-viewer-view-cube.entry.js +3 -3
  80. package/dist/esm/vertex-viewer.entry.js +141 -48
  81. package/dist/esm/viewer.js +1 -1
  82. package/dist/esm/{viewport-8fea0743.js → viewport-d6f5cd7b.js} +31 -7
  83. package/dist/types/components/viewer/viewer.d.ts +4 -0
  84. package/dist/types/components/viewer-markup/utils.d.ts +8 -0
  85. package/dist/types/components/viewer-markup/viewer-markup.d.ts +13 -6
  86. package/dist/types/components/viewer-markup-circle/utils.d.ts +1 -4
  87. package/dist/types/components/viewer-markup-freeform.tsx/utils.d.ts +3 -0
  88. package/dist/types/components/viewer-markup-freeform.tsx/viewer-markup-freeform.d.ts +116 -0
  89. package/dist/types/components/viewer-markup-tool/viewer-markup-tool.d.ts +13 -1
  90. package/dist/types/components.d.ts +107 -10
  91. package/dist/types/lib/interactions/interactionApi.d.ts +22 -6
  92. package/dist/types/lib/interactions/mouseInteractions.d.ts +7 -6
  93. package/dist/types/lib/scenes/camera.d.ts +5 -1
  94. package/dist/types/lib/scenes/scene.d.ts +1 -1
  95. package/dist/types/lib/types/frame.d.ts +4 -1
  96. package/dist/types/lib/types/markup.d.ts +12 -1
  97. package/dist/types/lib/types/viewport.d.ts +17 -0
  98. package/dist/viewer/index.esm.js +1 -1
  99. package/dist/viewer/p-012fb54f.js +4 -0
  100. package/dist/viewer/{p-3dc15d99.entry.js → p-117324c0.entry.js} +1 -1
  101. package/dist/viewer/{p-1ee75110.entry.js → p-1c772ec1.entry.js} +1 -1
  102. package/dist/viewer/p-1f8a238b.js +4 -0
  103. package/dist/viewer/p-21e8510d.js +4 -0
  104. package/dist/viewer/{p-e3105f9a.entry.js → p-3c2aff67.entry.js} +1 -1
  105. package/dist/viewer/p-5389e9d4.js +4 -0
  106. package/dist/viewer/p-59d075d4.js +17 -0
  107. package/dist/viewer/{p-5b078339.js → p-62c6f482.js} +1 -1
  108. package/dist/viewer/p-640cb5f8.js +18 -0
  109. package/dist/viewer/p-68aaf1f8.entry.js +4 -0
  110. package/dist/viewer/{p-05b2444e.js → p-75682963.js} +1 -1
  111. package/dist/viewer/{p-4183c421.entry.js → p-79c45c02.entry.js} +1 -1
  112. package/dist/viewer/p-835e158e.js +4 -0
  113. package/dist/viewer/p-8c255868.entry.js +4 -0
  114. package/dist/viewer/{p-f4a492e1.js → p-9faabd97.js} +1 -1
  115. package/dist/viewer/p-b122ee39.js +4 -0
  116. package/dist/viewer/p-b36b3d1a.js +4 -0
  117. package/dist/viewer/{p-7c71db57.entry.js → p-bc9e6919.entry.js} +1 -1
  118. package/dist/viewer/{p-f090a3f3.entry.js → p-c818c80e.entry.js} +1 -1
  119. package/dist/viewer/{p-e96bc9a2.js → p-d42a482c.js} +1 -1
  120. package/dist/viewer/p-f43e8cc2.entry.js +4 -0
  121. package/dist/viewer/p-f75436be.entry.js +4 -0
  122. package/dist/viewer/viewer.esm.js +1 -1
  123. package/package.json +18 -16
  124. package/readme.md +6 -6
  125. package/dist/cjs/utils-96f244e1.js +0 -104
  126. package/dist/esm/utils-a550c58f.js +0 -96
  127. package/dist/viewer/p-11bdd2c4.js +0 -4
  128. package/dist/viewer/p-14182324.entry.js +0 -4
  129. package/dist/viewer/p-2768474e.js +0 -4
  130. package/dist/viewer/p-2e11803d.js +0 -4
  131. package/dist/viewer/p-6d4ab5fc.js +0 -17
  132. package/dist/viewer/p-964642c6.js +0 -4
  133. package/dist/viewer/p-9e856d0a.entry.js +0 -4
  134. package/dist/viewer/p-a717d9ff.js +0 -4
  135. package/dist/viewer/p-a9434d8e.entry.js +0 -4
  136. package/dist/viewer/p-af806858.js +0 -4
  137. package/dist/viewer/p-b5c350a7.js +0 -4
  138. package/dist/viewer/p-d912dd24.js +0 -18
  139. package/dist/viewer/p-f6d75616.entry.js +0 -4
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2021 Vertex Software LLC. All rights reserved.
3
- */
4
- import{c as color,u as uri,E as EventDispatcher,a as uuid,o as objects,b as async}from"./p-6d4ab5fc.js";import{f as fromBoundingBoxAndLookAtCamera}from"./p-b5c350a7.js";import{_ as __extends,a as __awaiter,b as __generator,c as __assign,d as __spreadArray,v as vector3,e as boundingBox,p as point,f as dimensions}from"./p-d912dd24.js";import{c as createCommonjsModule,a as commonjsGlobal}from"./p-112455b1.js";const defaultColor={opacity:100,glossiness:10,diffuse:{r:0,g:0,b:0,a:0},ambient:{r:0,g:0,b:0,a:0},specular:{r:0,g:0,b:0,a:0},emissive:{r:0,g:0,b:0,a:0}},create$2=(t,e,r,n)=>Object.assign(Object.assign({},defaultColor),{opacity:n||100,glossiness:n||10,diffuse:{r:t,g:e,b:r,a:0}}),fromHex=(t,e)=>{const r=color.fromHexString(t);return Object.assign(Object.assign({},defaultColor),{opacity:e||100,glossiness:e||10,diffuse:Object.assign({},null!=r?r:defaultColor.diffuse)})},defaultSelectionMaterial={opacity:100,glossiness:4,diffuse:{r:255,g:255,b:0,a:0},ambient:{r:0,g:0,b:0,a:0},specular:{r:255,g:255,b:255,a:0},emissive:{r:0,g:0,b:0,a:0}},colorMaterial=Object.freeze({__proto__:null,create:create$2,fromHex,defaultSelectionMaterial});function fromUrn(t){const e=uri.parse(t);if("urn"!==e.scheme||null==e.path)throw new Error("Invalid URN. Expected URN scheme.");const[r,n,o]=e.path.split(":");if("vertexvis"!==r)throw new Error("Invalid URN. Expected URN to be vertexvis namespace");switch(n){case"stream-key":return{resource:{type:"stream-key",id:o},queries:fromQuery(e.query)};default:throw new Error("Invalid URN. Unknown resource type")}}function fromQuery(t){return null!=t?t.split("&").map((t=>{const[e,r]=t.split("=");switch(e){case"scene-view-state":return{type:"scene-view-state",id:r};default:throw new Error("Invalid URN. Unknown query resource type")}})):[]}const loadableResource=Object.freeze({__proto__:null,fromUrn});class SynchronizedClock{constructor(t,e=new Date){this.knownRemoteTime=t,this.knownLocalTime=e}localOffset(){return this.duration(this.knownLocalTime,this.localNow())}localTime(t){const e="number"==typeof t?new Date(this.knownLocalTime.getTime()+t):t,r=this.duration(this.knownRemoteTime,e);return this.addDuration(this.knownLocalTime,r)}remoteOffset(t=new Date){return this.duration(this.remoteTime(this.knownLocalTime),this.remoteTime(t))}remoteNow(){return this.remoteTime(this.localNow())}remoteTime(t){const e="number"==typeof t?new Date(this.knownLocalTime.getTime()+t):t,r=this.duration(this.knownLocalTime,e);return this.addDuration(this.knownRemoteTime,r)}addDuration(t,e){return new Date(t.getTime()+e)}duration(t,e){return e.getTime()-t.getTime()}localNow(){return new Date(Date.now())}}var aspromise=asPromise;function asPromise(t,e){for(var r=new Array(arguments.length-1),n=0,o=2,i=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise((function(o,u){r[n]=function(t){if(i)if(i=!1,t)u(t);else{for(var e=new Array(arguments.length-1),r=0;r<e.length;)e[r++]=arguments[r];o.apply(null,e)}};try{t.apply(e||null,r)}catch(t){i&&(i=!1,u(t))}}))}var base64_1=createCommonjsModule((function(t,e){var r=e;r.length=function(t){var e=t.length;if(!e)return 0;for(var r=0;--e%4>1&&"="===t.charAt(e);)++r;return Math.ceil(3*t.length)/4-r};for(var n=new Array(64),o=new Array(123),i=0;i<64;)o[n[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;r.encode=function(t,e,r){for(var o,i=null,u=[],l=0,f=0;e<r;){var c=t[e++];switch(f){case 0:u[l++]=n[c>>2],o=(3&c)<<4,f=1;break;case 1:u[l++]=n[o|c>>4],o=(15&c)<<2,f=2;break;case 2:u[l++]=n[o|c>>6],u[l++]=n[63&c],f=0}l>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,u)),l=0)}return f&&(u[l++]=n[o],u[l++]=61,1===f&&(u[l++]=61)),i?(l&&i.push(String.fromCharCode.apply(String,u.slice(0,l))),i.join("")):String.fromCharCode.apply(String,u.slice(0,l))};var u="invalid encoding";r.decode=function(t,e,r){for(var n,i=r,l=0,f=0;f<t.length;){var c=t.charCodeAt(f++);if(61===c&&l>1)break;if(void 0===(c=o[c]))throw Error(u);switch(l){case 0:n=c,l=1;break;case 1:e[r++]=n<<2|(48&c)>>4,n=c,l=2;break;case 2:e[r++]=(15&n)<<4|(60&c)>>2,n=c,l=3;break;case 3:e[r++]=(3&n)<<6|c,l=0}}if(1===l)throw Error(u);return r-i},r.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}})),eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(t,e,r){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:r||this}),this},EventEmitter.prototype.off=function(t,e){if(void 0===t)this._listeners={};else if(void 0===e)this._listeners[t]=[];else for(var r=this._listeners[t],n=0;n<r.length;)r[n].fn===e?r.splice(n,1):++n;return this},EventEmitter.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<e.length;)e[n].fn.apply(e[n++].ctx,r)}return this};var float_1=factory(factory);function factory(t){return"undefined"!=typeof Float32Array?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=128===r[3];function o(t,n,o){e[0]=t,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3]}function i(t,n,o){e[0]=t,n[o]=r[3],n[o+1]=r[2],n[o+2]=r[1],n[o+3]=r[0]}function u(t,n){return r[0]=t[n],r[1]=t[n+1],r[2]=t[n+2],r[3]=t[n+3],e[0]}function l(t,n){return r[3]=t[n],r[2]=t[n+1],r[1]=t[n+2],r[0]=t[n+3],e[0]}t.writeFloatLE=n?o:i,t.writeFloatBE=n?i:o,t.readFloatLE=n?u:l,t.readFloatBE=n?l:u}():function(){function e(t,e,r,n){var o=e<0?1:0;if(o&&(e=-e),0===e)t(1/e>0?0:2147483648,r,n);else if(isNaN(e))t(2143289344,r,n);else if(e>34028234663852886e22)t((o<<31|2139095040)>>>0,r,n);else if(e<11754943508222875e-54)t((o<<31|Math.round(e/1401298464324817e-60))>>>0,r,n);else{var i=Math.floor(Math.log(e)/Math.LN2);t((o<<31|i+127<<23|8388607&Math.round(e*Math.pow(2,-i)*8388608))>>>0,r,n)}}function r(t,e,r){var n=t(e,r),o=2*(n>>31)+1,i=n>>>23&255,u=8388607&n;return 255===i?u?NaN:o*(1/0):0===i?1401298464324817e-60*o*u:o*Math.pow(2,i-150)*(u+8388608)}t.writeFloatLE=e.bind(null,writeUintLE),t.writeFloatBE=e.bind(null,writeUintBE),t.readFloatLE=r.bind(null,readUintLE),t.readFloatBE=r.bind(null,readUintBE)}(),"undefined"!=typeof Float64Array?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=128===r[7];function o(t,n,o){e[0]=t,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3],n[o+4]=r[4],n[o+5]=r[5],n[o+6]=r[6],n[o+7]=r[7]}function i(t,n,o){e[0]=t,n[o]=r[7],n[o+1]=r[6],n[o+2]=r[5],n[o+3]=r[4],n[o+4]=r[3],n[o+5]=r[2],n[o+6]=r[1],n[o+7]=r[0]}function u(t,n){return r[0]=t[n],r[1]=t[n+1],r[2]=t[n+2],r[3]=t[n+3],r[4]=t[n+4],r[5]=t[n+5],r[6]=t[n+6],r[7]=t[n+7],e[0]}function l(t,n){return r[7]=t[n],r[6]=t[n+1],r[5]=t[n+2],r[4]=t[n+3],r[3]=t[n+4],r[2]=t[n+5],r[1]=t[n+6],r[0]=t[n+7],e[0]}t.writeDoubleLE=n?o:i,t.writeDoubleBE=n?i:o,t.readDoubleLE=n?u:l,t.readDoubleBE=n?l:u}():function(){function e(t,e,r,n,o,i){var u=n<0?1:0;if(u&&(n=-n),0===n)t(0,o,i+e),t(1/n>0?0:2147483648,o,i+r);else if(isNaN(n))t(0,o,i+e),t(2146959360,o,i+r);else if(n>17976931348623157e292)t(0,o,i+e),t((u<<31|2146435072)>>>0,o,i+r);else{var l;if(n<22250738585072014e-324)t((l=n/5e-324)>>>0,o,i+e),t((u<<31|l/4294967296)>>>0,o,i+r);else{var f=Math.floor(Math.log(n)/Math.LN2);1024===f&&(f=1023),t(4503599627370496*(l=n*Math.pow(2,-f))>>>0,o,i+e),t((u<<31|f+1023<<20|1048576*l&1048575)>>>0,o,i+r)}}}function r(t,e,r,n,o){var i=t(n,o+e),u=t(n,o+r),l=2*(u>>31)+1,f=u>>>20&2047,c=4294967296*(1048575&u)+i;return 2047===f?c?NaN:l*(1/0):0===f?5e-324*l*c:l*Math.pow(2,f-1075)*(c+4503599627370496)}t.writeDoubleLE=e.bind(null,writeUintLE,0,4),t.writeDoubleBE=e.bind(null,writeUintBE,4,0),t.readDoubleLE=r.bind(null,readUintLE,0,4),t.readDoubleBE=r.bind(null,readUintBE,4,0)}(),t}function writeUintLE(t,e,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function writeUintBE(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function readUintLE(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function readUintBE(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}var utf8_1=createCommonjsModule((function(t,e){var r=e;r.length=function(t){for(var e=0,r=0,n=0;n<t.length;++n)(r=t.charCodeAt(n))<128?e+=1:r<2048?e+=2:55296==(64512&r)&&56320==(64512&t.charCodeAt(n+1))?(++n,e+=4):e+=3;return e},r.read=function(t,e,r){if(r-e<1)return"";for(var n,o=null,i=[],u=0;e<r;)(n=t[e++])<128?i[u++]=n:n>191&&n<224?i[u++]=(31&n)<<6|63&t[e++]:n>239&&n<365?(n=((7&n)<<18|(63&t[e++])<<12|(63&t[e++])<<6|63&t[e++])-65536,i[u++]=55296+(n>>10),i[u++]=56320+(1023&n)):i[u++]=(15&n)<<12|(63&t[e++])<<6|63&t[e++],u>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),u=0);return o?(u&&o.push(String.fromCharCode.apply(String,i.slice(0,u))),o.join("")):String.fromCharCode.apply(String,i.slice(0,u))},r.write=function(t,e,r){for(var n,o,i=r,u=0;u<t.length;++u)(n=t.charCodeAt(u))<128?e[r++]=n:n<2048?(e[r++]=n>>6|192,e[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(o=t.charCodeAt(u+1)))?(++u,e[r++]=(n=65536+((1023&n)<<10)+(1023&o))>>18|240,e[r++]=n>>12&63|128,e[r++]=n>>6&63|128,e[r++]=63&n|128):(e[r++]=n>>12|224,e[r++]=n>>6&63|128,e[r++]=63&n|128);return r-i}})),pool_1=pool;function pool(t,e,r){var n=r||8192,o=n>>>1,i=null,u=n;return function(r){if(r<1||r>o)return t(r);u+r>n&&(i=t(n),u=0);var l=e.call(i,u,u+=r);return 7&u&&(u=1+(7|u)),l}}var longbits=LongBits$2;function LongBits$2(t,e){this.lo=t>>>0,this.hi=e>>>0}var zero=LongBits$2.zero=new LongBits$2(0,0);zero.toNumber=function(){return 0},zero.zzEncode=zero.zzDecode=function(){return this},zero.length=function(){return 1};var zeroHash=LongBits$2.zeroHash="\0\0\0\0\0\0\0\0";LongBits$2.fromNumber=function(t){if(0===t)return zero;var e=t<0;e&&(t=-t);var r=t>>>0,n=(t-r)/4294967296>>>0;return e&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new LongBits$2(r,n)},LongBits$2.from=function(t){if("number"==typeof t)return LongBits$2.fromNumber(t);if(minimal$1.isString(t)){if(!minimal$1.Long)return LongBits$2.fromNumber(parseInt(t,10));t=minimal$1.Long.fromString(t)}return t.low||t.high?new LongBits$2(t.low>>>0,t.high>>>0):zero},LongBits$2.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,r=~this.hi>>>0;return e||(r=r+1>>>0),-(e+4294967296*r)}return this.lo+4294967296*this.hi},LongBits$2.prototype.toLong=function(t){return minimal$1.Long?new minimal$1.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var charCodeAt=String.prototype.charCodeAt;LongBits$2.fromHash=function(t){return t===zeroHash?zero:new LongBits$2((charCodeAt.call(t,0)|charCodeAt.call(t,1)<<8|charCodeAt.call(t,2)<<16|charCodeAt.call(t,3)<<24)>>>0,(charCodeAt.call(t,4)|charCodeAt.call(t,5)<<8|charCodeAt.call(t,6)<<16|charCodeAt.call(t,7)<<24)>>>0)},LongBits$2.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)},LongBits$2.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},LongBits$2.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},LongBits$2.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:r<128?9:10};var minimal$1=createCommonjsModule((function(t,e){var r=e;function n(t,e,r){for(var n=Object.keys(e),o=0;o<n.length;++o)void 0!==t[n[o]]&&r||(t[n[o]]=e[n[o]]);return t}function o(t){function e(t,r){if(!(this instanceof e))return new e(t,r);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&n(this,r)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,"name",{get:function(){return t}}),e.prototype.toString=function(){return this.name+": "+this.message},e}r.asPromise=aspromise,r.base64=base64_1,r.EventEmitter=eventemitter,r.float=float_1,r.inquire=inquire_1,r.utf8=utf8_1,r.pool=pool_1,r.LongBits=longbits,r.isNode=Boolean(void 0!==commonjsGlobal&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),r.global=r.isNode&&commonjsGlobal||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||commonjsGlobal,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return"string"==typeof t||t instanceof String},r.isObject=function(t){return t&&"object"==typeof t},r.isset=r.isSet=function(t,e){var r=t[e];return!(null==r||!t.hasOwnProperty(e))&&("object"!=typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},r.Buffer=function(){try{var t=r.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return"number"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=n,r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(t){for(var e={},r=0;r<t.length;++r)e[t[r]]=1;return function(){for(var t=Object.keys(this),r=t.length-1;r>-1;--r)if(1===e[t[r]]&&null!=this[t[r]])return t[r]}},r.oneOfSetter=function(t){return function(e){for(var r=0;r<t.length;++r)t[r]!==e&&delete this[t[r]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,r){return new t(e,r)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}})),writer=Writer,BufferWriter$1,LongBits$1=minimal$1.LongBits,base64=minimal$1.base64,utf8$1=minimal$1.utf8;function Op(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function noop(){}function State(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function Writer(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function(){return minimal$1.Buffer?function(){return(Writer.create=function(){return new BufferWriter$1})()}:function(){return new Writer}};function writeByte(t,e,r){e[r]=255&t}function writeVarint32(t,e,r){for(;t>127;)e[r++]=127&t|128,t>>>=7;e[r]=t}function VarintOp(t,e){this.len=t,this.next=void 0,this.val=e}function writeVarint64(t,e,r){for(;t.hi;)e[r++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=127&t.lo|128,t.lo=t.lo>>>7;e[r++]=t.lo}function writeFixed32(t,e,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}Writer.create=create$1(),Writer.alloc=function(t){return new minimal$1.Array(t)},minimal$1.Array!==Array&&(Writer.alloc=minimal$1.pool(Writer.alloc,minimal$1.Array.prototype.subarray)),Writer.prototype._push=function(t,e,r){return this.tail=this.tail.next=new Op(t,e,r),this.len+=e,this},VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new VarintOp((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},Writer.prototype.int32=function(t){return t<0?this._push(writeVarint64,10,LongBits$1.fromNumber(t)):this.uint32(t)},Writer.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},Writer.prototype.uint64=function(t){var e=LongBits$1.from(t);return this._push(writeVarint64,e.length(),e)},Writer.prototype.int64=Writer.prototype.uint64,Writer.prototype.sint64=function(t){var e=LongBits$1.from(t).zzEncode();return this._push(writeVarint64,e.length(),e)},Writer.prototype.bool=function(t){return this._push(writeByte,1,t?1:0)},Writer.prototype.fixed32=function(t){return this._push(writeFixed32,4,t>>>0)},Writer.prototype.sfixed32=Writer.prototype.fixed32,Writer.prototype.fixed64=function(t){var e=LongBits$1.from(t);return this._push(writeFixed32,4,e.lo)._push(writeFixed32,4,e.hi)},Writer.prototype.sfixed64=Writer.prototype.fixed64,Writer.prototype.float=function(t){return this._push(minimal$1.float.writeFloatLE,4,t)},Writer.prototype.double=function(t){return this._push(minimal$1.float.writeDoubleLE,8,t)};var writeBytes=minimal$1.Array.prototype.set?function(t,e,r){e.set(t,r)}:function(t,e,r){for(var n=0;n<t.length;++n)e[r+n]=t[n]};Writer.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(writeByte,1,0);if(minimal$1.isString(t)){var r=Writer.alloc(e=base64.length(t));base64.decode(t,r,0),t=r}return this.uint32(e)._push(writeBytes,e,t)},Writer.prototype.string=function(t){var e=utf8$1.length(t);return e?this.uint32(e)._push(utf8$1.write,e,t):this._push(writeByte,1,0)},Writer.prototype.fork=function(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer.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 Op(noop,0,0),this.len=0),this},Writer.prototype.ldelim=function(){var t=this.head,e=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=t.next,this.tail=e,this.len+=r),this},Writer.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),r=0;t;)t.fn(t.val,e,r),r+=t.len,t=t.next;return e},Writer._configure=function(t){BufferWriter$1=t,Writer.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter;function BufferWriter(){writer.call(this)}function writeStringBuffer(t,e,r){t.length<40?minimal$1.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}(BufferWriter.prototype=Object.create(writer.prototype)).constructor=BufferWriter,BufferWriter._configure=function(){BufferWriter.alloc=minimal$1._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=minimal$1.Buffer&&minimal$1.Buffer.prototype instanceof Uint8Array&&"set"===minimal$1.Buffer.prototype.set.name?function(t,e,r){e.set(t,r)}:function(t,e,r){if(t.copy)t.copy(e,r,0,t.length);else for(var n=0;n<t.length;)e[r++]=t[n++]}},BufferWriter.prototype.bytes=function(t){minimal$1.isString(t)&&(t=minimal$1._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(BufferWriter.writeBytesBuffer,e,t),this},BufferWriter.prototype.string=function(t){var e=minimal$1.Buffer.byteLength(t);return this.uint32(e),e&&this._push(writeStringBuffer,e,t),this},BufferWriter._configure();var reader=Reader,BufferReader$1,LongBits=minimal$1.LongBits,utf8=minimal$1.utf8;function indexOutOfRange(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Reader(t){this.buf=t,this.pos=0,this.len=t.length}var create_array="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Reader(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Reader(t);throw Error("illegal buffer")},create=function(){return minimal$1.Buffer?function(t){return(Reader.create=function(t){return minimal$1.Buffer.isBuffer(t)?new BufferReader$1(t):create_array(t)})(t)}:create_array},value;function readLongVarint(){var t=new LongBits(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw indexOutOfRange(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw indexOutOfRange(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function readFixed32_end(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader.create=create(),Reader.prototype._slice=minimal$1.Array.prototype.subarray||minimal$1.Array.prototype.slice,Reader.prototype.uint32=(value=4294967295,function(){if(value=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return value;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return value}),Reader.prototype.int32=function(){return 0|this.uint32()},Reader.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)|0},Reader.prototype.bool=function(){return 0!==this.uint32()},Reader.prototype.fixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.sfixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return 0|readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.float=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var t=minimal$1.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},Reader.prototype.double=function(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var t=minimal$1.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},Reader.prototype.bytes=function(){var t=this.uint32(),e=this.pos,r=this.pos+t;if(r>this.len)throw indexOutOfRange(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,r):e===r?new this.buf.constructor(0):this._slice.call(this.buf,e,r)},Reader.prototype.string=function(){var t=this.bytes();return utf8.read(t,0,t.length)},Reader.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw indexOutOfRange(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw indexOutOfRange(this)}while(128&this.buf[this.pos++]);return this},Reader.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},Reader._configure=function(t){BufferReader$1=t,Reader.create=create(),BufferReader$1._configure();var e=minimal$1.Long?"toLong":"toNumber";minimal$1.merge(Reader.prototype,{int64:function(){return readLongVarint.call(this)[e](!1)},uint64:function(){return readLongVarint.call(this)[e](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[e](!1)},fixed64:function(){return readFixed64.call(this)[e](!0)},sfixed64:function(){return readFixed64.call(this)[e](!1)}})};var reader_buffer=BufferReader;function BufferReader(t){reader.call(this,t)}(BufferReader.prototype=Object.create(reader.prototype)).constructor=BufferReader,BufferReader._configure=function(){minimal$1.Buffer&&(BufferReader.prototype._slice=minimal$1.Buffer.prototype.slice)},BufferReader.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},BufferReader._configure();var service=Service;function Service(t,e,r){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");minimal$1.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(r)}(Service.prototype=Object.create(minimal$1.EventEmitter.prototype)).constructor=Service,Service.prototype.rpcCall=function t(e,r,n,o,i){if(!o)throw TypeError("request must be specified");var u=this;if(!i)return minimal$1.asPromise(t,u,e,r,n,o);if(u.rpcImpl)try{return u.rpcImpl(e,r[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(t,r){if(t)return u.emit("error",t,e),i(t);if(null!==r){if(!(r instanceof n))try{r=n[u.responseDelimited?"decodeDelimited":"decode"](r)}catch(t){return u.emit("error",t,e),i(t)}return u.emit("data",r,e),i(null,r)}u.end(!0)}))}catch(t){return u.emit("error",t,e),void setTimeout((function(){i(t)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},Service.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this};var rpc_1=createCommonjsModule((function(t,e){e.Service=service})),roots={},indexMinimal=createCommonjsModule((function(t,e){var r=e;function n(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=writer,r.BufferWriter=writer_buffer,r.Reader=reader,r.BufferReader=reader_buffer,r.util=minimal$1,r.rpc=rpc_1,r.roots=roots,r.configure=n,n()})),minimal=indexMinimal;const $Reader=minimal.Reader,$Writer=minimal.Writer,$util=minimal.util,$root=minimal.roots.default||(minimal.roots.default={}),vertexvis=$root.vertexvis=(()=>{const t={};return t.protobuf=function(){const t={};return t.stream=function(){const t={};return t.Camera=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.position=null,t.prototype.lookAt=null,t.prototype.up=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.position,e.uint32(10).fork()).ldelim(),null!=t.lookAt&&Object.hasOwnProperty.call(t,"lookAt")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.lookAt,e.uint32(18).fork()).ldelim(),null!=t.up&&Object.hasOwnProperty.call(t,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.up,e.uint32(26).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Camera;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.position=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 2:n.lookAt=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 3:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.position&&t.hasOwnProperty("position")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.position);if(e)return"position."+e}if(null!=t.lookAt&&t.hasOwnProperty("lookAt")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.lookAt);if(e)return"lookAt."+e}if(null!=t.up&&t.hasOwnProperty("up")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.up);if(e)return"up."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Camera)return t;let e=new $root.vertexvis.protobuf.stream.Camera;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".vertexvis.protobuf.stream.Camera.position: object expected");e.position=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.position)}if(null!=t.lookAt){if("object"!=typeof t.lookAt)throw TypeError(".vertexvis.protobuf.stream.Camera.lookAt: object expected");e.lookAt=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.lookAt)}if(null!=t.up){if("object"!=typeof t.up)throw TypeError(".vertexvis.protobuf.stream.Camera.up: object expected");e.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.up)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.position=null,r.lookAt=null,r.up=null),null!=t.position&&t.hasOwnProperty("position")&&(r.position=$root.vertexvis.protobuf.core.Vector3f.toObject(t.position,e)),null!=t.lookAt&&t.hasOwnProperty("lookAt")&&(r.lookAt=$root.vertexvis.protobuf.core.Vector3f.toObject(t.lookAt,e)),null!=t.up&&t.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(t.up,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ImageAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.frameDimensions=null,t.prototype.imageRect=null,t.prototype.scaleFactor=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.frameDimensions&&Object.hasOwnProperty.call(t,"frameDimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.frameDimensions,e.uint32(10).fork()).ldelim(),null!=t.imageRect&&Object.hasOwnProperty.call(t,"imageRect")&&$root.vertexvis.protobuf.stream.Rectangle.encode(t.imageRect,e.uint32(18).fork()).ldelim(),null!=t.scaleFactor&&Object.hasOwnProperty.call(t,"scaleFactor")&&e.uint32(29).float(t.scaleFactor),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ImageAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;case 2:n.imageRect=$root.vertexvis.protobuf.stream.Rectangle.decode(t,t.uint32());break;case 3:n.scaleFactor=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.frameDimensions&&t.hasOwnProperty("frameDimensions")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.frameDimensions);if(e)return"frameDimensions."+e}if(null!=t.imageRect&&t.hasOwnProperty("imageRect")){let e=$root.vertexvis.protobuf.stream.Rectangle.verify(t.imageRect);if(e)return"imageRect."+e}return null!=t.scaleFactor&&t.hasOwnProperty("scaleFactor")&&"number"!=typeof t.scaleFactor?"scaleFactor: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ImageAttributes)return t;let e=new $root.vertexvis.protobuf.stream.ImageAttributes;if(null!=t.frameDimensions){if("object"!=typeof t.frameDimensions)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.frameDimensions: object expected");e.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.frameDimensions)}if(null!=t.imageRect){if("object"!=typeof t.imageRect)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.imageRect: object expected");e.imageRect=$root.vertexvis.protobuf.stream.Rectangle.fromObject(t.imageRect)}return null!=t.scaleFactor&&(e.scaleFactor=Number(t.scaleFactor)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.frameDimensions=null,r.imageRect=null,r.scaleFactor=0),null!=t.frameDimensions&&t.hasOwnProperty("frameDimensions")&&(r.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.frameDimensions,e)),null!=t.imageRect&&t.hasOwnProperty("imageRect")&&(r.imageRect=$root.vertexvis.protobuf.stream.Rectangle.toObject(t.imageRect,e)),null!=t.scaleFactor&&t.hasOwnProperty("scaleFactor")&&(r.scaleFactor=e.json&&!isFinite(t.scaleFactor)?String(t.scaleFactor):t.scaleFactor),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SceneAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.camera=null,t.prototype.visibleBoundingBox=null,t.prototype.crossSectioning=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.camera&&Object.hasOwnProperty.call(t,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(t.camera,e.uint32(10).fork()).ldelim(),null!=t.visibleBoundingBox&&Object.hasOwnProperty.call(t,"visibleBoundingBox")&&$root.vertexvis.protobuf.core.BoundingBox3f.encode(t.visibleBoundingBox,e.uint32(18).fork()).ldelim(),null!=t.crossSectioning&&Object.hasOwnProperty.call(t,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(t.crossSectioning,e.uint32(26).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SceneAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(t,t.uint32());break;case 2:n.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.decode(t,t.uint32());break;case 3:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.camera&&t.hasOwnProperty("camera")){let e=$root.vertexvis.protobuf.stream.Camera.verify(t.camera);if(e)return"camera."+e}if(null!=t.visibleBoundingBox&&t.hasOwnProperty("visibleBoundingBox")){let e=$root.vertexvis.protobuf.core.BoundingBox3f.verify(t.visibleBoundingBox);if(e)return"visibleBoundingBox."+e}if(null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")){let e=$root.vertexvis.protobuf.stream.CrossSectioning.verify(t.crossSectioning);if(e)return"crossSectioning."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SceneAttributes)return t;let e=new $root.vertexvis.protobuf.stream.SceneAttributes;if(null!=t.camera){if("object"!=typeof t.camera)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.camera: object expected");e.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(t.camera)}if(null!=t.visibleBoundingBox){if("object"!=typeof t.visibleBoundingBox)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.visibleBoundingBox: object expected");e.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.fromObject(t.visibleBoundingBox)}if(null!=t.crossSectioning){if("object"!=typeof t.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.crossSectioning: object expected");e.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(t.crossSectioning)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.camera=null,r.visibleBoundingBox=null,r.crossSectioning=null),null!=t.camera&&t.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(t.camera,e)),null!=t.visibleBoundingBox&&t.hasOwnProperty("visibleBoundingBox")&&(r.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.toObject(t.visibleBoundingBox,e)),null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(t.crossSectioning,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.HitItemAncestor=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.itemId=null,t.prototype.itemOverride=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.itemId&&Object.hasOwnProperty.call(t,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.itemId,e.uint32(10).fork()).ldelim(),null!=t.itemOverride&&Object.hasOwnProperty.call(t,"itemOverride")&&$root.vertexvis.protobuf.stream.SceneItemOverride.encode(t.itemOverride,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.HitItemAncestor;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.itemId&&t.hasOwnProperty("itemId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.itemId);if(e)return"itemId."+e}if(null!=t.itemOverride&&t.hasOwnProperty("itemOverride")){let e=$root.vertexvis.protobuf.stream.SceneItemOverride.verify(t.itemOverride);if(e)return"itemOverride."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.HitItemAncestor)return t;let e=new $root.vertexvis.protobuf.stream.HitItemAncestor;if(null!=t.itemId){if("object"!=typeof t.itemId)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemId: object expected");e.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.itemId)}if(null!=t.itemOverride){if("object"!=typeof t.itemOverride)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemOverride: object expected");e.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.fromObject(t.itemOverride)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.itemId=null,r.itemOverride=null),null!=t.itemId&&t.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(t.itemId,e)),null!=t.itemOverride&&t.hasOwnProperty("itemOverride")&&(r.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.toObject(t.itemOverride,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Hit=function(){function t(t){if(this.ancestors=[],this.metadataProperties=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.itemId=null,t.prototype.itemSuppliedId=null,t.prototype.hitNormal=null,t.prototype.hitPoint=null,t.prototype.partRevisionId=null,t.prototype.partId=null,t.prototype.suppliedPartRevisionId=null,t.prototype.metadata=null,t.prototype.ancestors=$util.emptyArray,t.prototype.metadataProperties=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.itemId&&Object.hasOwnProperty.call(t,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.itemId,e.uint32(10).fork()).ldelim(),null!=t.itemSuppliedId&&Object.hasOwnProperty.call(t,"itemSuppliedId")&&$root.google.protobuf.StringValue.encode(t.itemSuppliedId,e.uint32(18).fork()).ldelim(),null!=t.hitNormal&&Object.hasOwnProperty.call(t,"hitNormal")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.hitNormal,e.uint32(26).fork()).ldelim(),null!=t.hitPoint&&Object.hasOwnProperty.call(t,"hitPoint")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.hitPoint,e.uint32(34).fork()).ldelim(),null!=t.partRevisionId&&Object.hasOwnProperty.call(t,"partRevisionId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.partRevisionId,e.uint32(42).fork()).ldelim(),null!=t.partId&&Object.hasOwnProperty.call(t,"partId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.partId,e.uint32(50).fork()).ldelim(),null!=t.suppliedPartRevisionId&&Object.hasOwnProperty.call(t,"suppliedPartRevisionId")&&$root.google.protobuf.StringValue.encode(t.suppliedPartRevisionId,e.uint32(58).fork()).ldelim(),null!=t.metadata&&Object.hasOwnProperty.call(t,"metadata")&&$root.vertexvis.protobuf.stream.Metadata.encode(t.metadata,e.uint32(66).fork()).ldelim(),null!=t.ancestors&&t.ancestors.length)for(let r=0;r<t.ancestors.length;++r)$root.vertexvis.protobuf.stream.HitItemAncestor.encode(t.ancestors[r],e.uint32(74).fork()).ldelim();if(null!=t.metadataProperties&&t.metadataProperties.length)for(let r=0;r<t.metadataProperties.length;++r)$root.vertexvis.protobuf.stream.MetadataProperty.encode(t.metadataProperties[r],e.uint32(82).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Hit;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.itemSuppliedId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 3:n.hitNormal=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 4:n.hitPoint=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 5:n.partRevisionId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 6:n.partId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 7:n.suppliedPartRevisionId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 8:n.metadata=$root.vertexvis.protobuf.stream.Metadata.decode(t,t.uint32());break;case 9:n.ancestors&&n.ancestors.length||(n.ancestors=[]),n.ancestors.push($root.vertexvis.protobuf.stream.HitItemAncestor.decode(t,t.uint32()));break;case 10:n.metadataProperties&&n.metadataProperties.length||(n.metadataProperties=[]),n.metadataProperties.push($root.vertexvis.protobuf.stream.MetadataProperty.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.itemId&&t.hasOwnProperty("itemId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.itemId);if(e)return"itemId."+e}if(null!=t.itemSuppliedId&&t.hasOwnProperty("itemSuppliedId")){let e=$root.google.protobuf.StringValue.verify(t.itemSuppliedId);if(e)return"itemSuppliedId."+e}if(null!=t.hitNormal&&t.hasOwnProperty("hitNormal")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.hitNormal);if(e)return"hitNormal."+e}if(null!=t.hitPoint&&t.hasOwnProperty("hitPoint")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.hitPoint);if(e)return"hitPoint."+e}if(null!=t.partRevisionId&&t.hasOwnProperty("partRevisionId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.partRevisionId);if(e)return"partRevisionId."+e}if(null!=t.partId&&t.hasOwnProperty("partId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.partId);if(e)return"partId."+e}if(null!=t.suppliedPartRevisionId&&t.hasOwnProperty("suppliedPartRevisionId")){let e=$root.google.protobuf.StringValue.verify(t.suppliedPartRevisionId);if(e)return"suppliedPartRevisionId."+e}if(null!=t.metadata&&t.hasOwnProperty("metadata")){let e=$root.vertexvis.protobuf.stream.Metadata.verify(t.metadata);if(e)return"metadata."+e}if(null!=t.ancestors&&t.hasOwnProperty("ancestors")){if(!Array.isArray(t.ancestors))return"ancestors: array expected";for(let e=0;e<t.ancestors.length;++e){let r=$root.vertexvis.protobuf.stream.HitItemAncestor.verify(t.ancestors[e]);if(r)return"ancestors."+r}}if(null!=t.metadataProperties&&t.hasOwnProperty("metadataProperties")){if(!Array.isArray(t.metadataProperties))return"metadataProperties: array expected";for(let e=0;e<t.metadataProperties.length;++e){let r=$root.vertexvis.protobuf.stream.MetadataProperty.verify(t.metadataProperties[e]);if(r)return"metadataProperties."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Hit)return t;let e=new $root.vertexvis.protobuf.stream.Hit;if(null!=t.itemId){if("object"!=typeof t.itemId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemId: object expected");e.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.itemId)}if(null!=t.itemSuppliedId){if("object"!=typeof t.itemSuppliedId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemSuppliedId: object expected");e.itemSuppliedId=$root.google.protobuf.StringValue.fromObject(t.itemSuppliedId)}if(null!=t.hitNormal){if("object"!=typeof t.hitNormal)throw TypeError(".vertexvis.protobuf.stream.Hit.hitNormal: object expected");e.hitNormal=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.hitNormal)}if(null!=t.hitPoint){if("object"!=typeof t.hitPoint)throw TypeError(".vertexvis.protobuf.stream.Hit.hitPoint: object expected");e.hitPoint=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.hitPoint)}if(null!=t.partRevisionId){if("object"!=typeof t.partRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.partRevisionId: object expected");e.partRevisionId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.partRevisionId)}if(null!=t.partId){if("object"!=typeof t.partId)throw TypeError(".vertexvis.protobuf.stream.Hit.partId: object expected");e.partId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.partId)}if(null!=t.suppliedPartRevisionId){if("object"!=typeof t.suppliedPartRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.suppliedPartRevisionId: object expected");e.suppliedPartRevisionId=$root.google.protobuf.StringValue.fromObject(t.suppliedPartRevisionId)}if(null!=t.metadata){if("object"!=typeof t.metadata)throw TypeError(".vertexvis.protobuf.stream.Hit.metadata: object expected");e.metadata=$root.vertexvis.protobuf.stream.Metadata.fromObject(t.metadata)}if(t.ancestors){if(!Array.isArray(t.ancestors))throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: array expected");e.ancestors=[];for(let r=0;r<t.ancestors.length;++r){if("object"!=typeof t.ancestors[r])throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: object expected");e.ancestors[r]=$root.vertexvis.protobuf.stream.HitItemAncestor.fromObject(t.ancestors[r])}}if(t.metadataProperties){if(!Array.isArray(t.metadataProperties))throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: array expected");e.metadataProperties=[];for(let r=0;r<t.metadataProperties.length;++r){if("object"!=typeof t.metadataProperties[r])throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: object expected");e.metadataProperties[r]=$root.vertexvis.protobuf.stream.MetadataProperty.fromObject(t.metadataProperties[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.ancestors=[],r.metadataProperties=[]),e.defaults&&(r.itemId=null,r.itemSuppliedId=null,r.hitNormal=null,r.hitPoint=null,r.partRevisionId=null,r.partId=null,r.suppliedPartRevisionId=null,r.metadata=null),null!=t.itemId&&t.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(t.itemId,e)),null!=t.itemSuppliedId&&t.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=$root.google.protobuf.StringValue.toObject(t.itemSuppliedId,e)),null!=t.hitNormal&&t.hasOwnProperty("hitNormal")&&(r.hitNormal=$root.vertexvis.protobuf.core.Vector3f.toObject(t.hitNormal,e)),null!=t.hitPoint&&t.hasOwnProperty("hitPoint")&&(r.hitPoint=$root.vertexvis.protobuf.core.Vector3f.toObject(t.hitPoint,e)),null!=t.partRevisionId&&t.hasOwnProperty("partRevisionId")&&(r.partRevisionId=$root.vertexvis.protobuf.core.Uuid.toObject(t.partRevisionId,e)),null!=t.partId&&t.hasOwnProperty("partId")&&(r.partId=$root.vertexvis.protobuf.core.Uuid.toObject(t.partId,e)),null!=t.suppliedPartRevisionId&&t.hasOwnProperty("suppliedPartRevisionId")&&(r.suppliedPartRevisionId=$root.google.protobuf.StringValue.toObject(t.suppliedPartRevisionId,e)),null!=t.metadata&&t.hasOwnProperty("metadata")&&(r.metadata=$root.vertexvis.protobuf.stream.Metadata.toObject(t.metadata,e)),t.ancestors&&t.ancestors.length){r.ancestors=[];for(let n=0;n<t.ancestors.length;++n)r.ancestors[n]=$root.vertexvis.protobuf.stream.HitItemAncestor.toObject(t.ancestors[n],e)}if(t.metadataProperties&&t.metadataProperties.length){r.metadataProperties=[];for(let n=0;n<t.metadataProperties.length;++n)r.metadataProperties[n]=$root.vertexvis.protobuf.stream.MetadataProperty.toObject(t.metadataProperties[n],e)}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SceneItemOverride=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.id=null,t.prototype.transform=null,t.prototype.isVisible=null,t.prototype.materialOverride=null,t.prototype.selected=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&$root.vertexvis.protobuf.core.Uuid.encode(t.id,e.uint32(10).fork()).ldelim(),null!=t.transform&&Object.hasOwnProperty.call(t,"transform")&&$root.vertexvis.protobuf.core.Matrix4x4f.encode(t.transform,e.uint32(18).fork()).ldelim(),null!=t.isVisible&&Object.hasOwnProperty.call(t,"isVisible")&&$root.google.protobuf.BoolValue.encode(t.isVisible,e.uint32(26).fork()).ldelim(),null!=t.materialOverride&&Object.hasOwnProperty.call(t,"materialOverride")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(t.materialOverride,e.uint32(34).fork()).ldelim(),null!=t.selected&&Object.hasOwnProperty.call(t,"selected")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(t.selected,e.uint32(42).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SceneItemOverride;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.id=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.transform=$root.vertexvis.protobuf.core.Matrix4x4f.decode(t,t.uint32());break;case 3:n.isVisible=$root.google.protobuf.BoolValue.decode(t,t.uint32());break;case 4:n.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.decode(t,t.uint32());break;case 5:n.selected=$root.vertexvis.protobuf.core.ColorMaterial.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.id);if(e)return"id."+e}if(null!=t.transform&&t.hasOwnProperty("transform")){let e=$root.vertexvis.protobuf.core.Matrix4x4f.verify(t.transform);if(e)return"transform."+e}if(null!=t.isVisible&&t.hasOwnProperty("isVisible")){let e=$root.google.protobuf.BoolValue.verify(t.isVisible);if(e)return"isVisible."+e}if(null!=t.materialOverride&&t.hasOwnProperty("materialOverride")){let e=$root.vertexvis.protobuf.core.ColorMaterial.verify(t.materialOverride);if(e)return"materialOverride."+e}if(null!=t.selected&&t.hasOwnProperty("selected")){let e=$root.vertexvis.protobuf.core.ColorMaterial.verify(t.selected);if(e)return"selected."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SceneItemOverride)return t;let e=new $root.vertexvis.protobuf.stream.SceneItemOverride;if(null!=t.id){if("object"!=typeof t.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.id: object expected");e.id=$root.vertexvis.protobuf.core.Uuid.fromObject(t.id)}if(null!=t.transform){if("object"!=typeof t.transform)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.transform: object expected");e.transform=$root.vertexvis.protobuf.core.Matrix4x4f.fromObject(t.transform)}if(null!=t.isVisible){if("object"!=typeof t.isVisible)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.isVisible: object expected");e.isVisible=$root.google.protobuf.BoolValue.fromObject(t.isVisible)}if(null!=t.materialOverride){if("object"!=typeof t.materialOverride)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.materialOverride: object expected");e.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(t.materialOverride)}if(null!=t.selected){if("object"!=typeof t.selected)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.selected: object expected");e.selected=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(t.selected)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.id=null,r.transform=null,r.isVisible=null,r.materialOverride=null,r.selected=null),null!=t.id&&t.hasOwnProperty("id")&&(r.id=$root.vertexvis.protobuf.core.Uuid.toObject(t.id,e)),null!=t.transform&&t.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.Matrix4x4f.toObject(t.transform,e)),null!=t.isVisible&&t.hasOwnProperty("isVisible")&&(r.isVisible=$root.google.protobuf.BoolValue.toObject(t.isVisible,e)),null!=t.materialOverride&&t.hasOwnProperty("materialOverride")&&(r.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.toObject(t.materialOverride,e)),null!=t.selected&&t.hasOwnProperty("selected")&&(r.selected=$root.vertexvis.protobuf.core.ColorMaterial.toObject(t.selected,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SceneItemQuery=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.id=null,t.prototype.suppliedId="",Object.defineProperty(t.prototype,"itemQuery",{get:$util.oneOfGetter(e=["id","suppliedId"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&$root.vertexvis.protobuf.core.Uuid.encode(t.id,e.uint32(10).fork()).ldelim(),null!=t.suppliedId&&Object.hasOwnProperty.call(t,"suppliedId")&&e.uint32(18).string(t.suppliedId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SceneItemQuery;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.id=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.suppliedId=t.string();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.id&&t.hasOwnProperty("id")){e.itemQuery=1;{let e=$root.vertexvis.protobuf.core.Uuid.verify(t.id);if(e)return"id."+e}}if(null!=t.suppliedId&&t.hasOwnProperty("suppliedId")){if(1===e.itemQuery)return"itemQuery: multiple values";if(e.itemQuery=1,!$util.isString(t.suppliedId))return"suppliedId: string expected"}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SceneItemQuery)return t;let e=new $root.vertexvis.protobuf.stream.SceneItemQuery;if(null!=t.id){if("object"!=typeof t.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemQuery.id: object expected");e.id=$root.vertexvis.protobuf.core.Uuid.fromObject(t.id)}return null!=t.suppliedId&&(e.suppliedId=String(t.suppliedId)),e},t.toObject=function(t,e){e||(e={});let r={};return null!=t.id&&t.hasOwnProperty("id")&&(r.id=$root.vertexvis.protobuf.core.Uuid.toObject(t.id,e),e.oneofs&&(r.itemQuery="id")),null!=t.suppliedId&&t.hasOwnProperty("suppliedId")&&(r.suppliedId=t.suppliedId,e.oneofs&&(r.itemQuery="suppliedId")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.AllQuery=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.AllQuery;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.AllQuery?t:new $root.vertexvis.protobuf.stream.AllQuery},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.PointQuery=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.point=null,t.prototype.viewport=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.point&&Object.hasOwnProperty.call(t,"point")&&$root.vertexvis.protobuf.stream.Point.encode(t.point,e.uint32(10).fork()).ldelim(),null!=t.viewport&&Object.hasOwnProperty.call(t,"viewport")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.viewport,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.PointQuery;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.point=$root.vertexvis.protobuf.stream.Point.decode(t,t.uint32());break;case 2:n.viewport=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.point&&t.hasOwnProperty("point")){let e=$root.vertexvis.protobuf.stream.Point.verify(t.point);if(e)return"point."+e}if(null!=t.viewport&&t.hasOwnProperty("viewport")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.viewport);if(e)return"viewport."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.PointQuery)return t;let e=new $root.vertexvis.protobuf.stream.PointQuery;if(null!=t.point){if("object"!=typeof t.point)throw TypeError(".vertexvis.protobuf.stream.PointQuery.point: object expected");e.point=$root.vertexvis.protobuf.stream.Point.fromObject(t.point)}if(null!=t.viewport){if("object"!=typeof t.viewport)throw TypeError(".vertexvis.protobuf.stream.PointQuery.viewport: object expected");e.viewport=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.viewport)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.point=null,r.viewport=null),null!=t.point&&t.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.Point.toObject(t.point,e)),null!=t.viewport&&t.hasOwnProperty("viewport")&&(r.viewport=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.viewport,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ItemQuery=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.sceneItemQuery=null,Object.defineProperty(t.prototype,"value",{get:$util.oneOfGetter(e=["sceneItemQuery"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.sceneItemQuery&&Object.hasOwnProperty.call(t,"sceneItemQuery")&&$root.vertexvis.protobuf.stream.SceneItemQuery.encode(t.sceneItemQuery,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ItemQuery;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sceneItemQuery&&t.hasOwnProperty("sceneItemQuery")){let e=$root.vertexvis.protobuf.stream.SceneItemQuery.verify(t.sceneItemQuery);if(e)return"sceneItemQuery."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ItemQuery)return t;let e=new $root.vertexvis.protobuf.stream.ItemQuery;if(null!=t.sceneItemQuery){if("object"!=typeof t.sceneItemQuery)throw TypeError(".vertexvis.protobuf.stream.ItemQuery.sceneItemQuery: object expected");e.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.fromObject(t.sceneItemQuery)}return e},t.toObject=function(t,e){e||(e={});let r={};return null!=t.sceneItemQuery&&t.hasOwnProperty("sceneItemQuery")&&(r.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.toObject(t.sceneItemQuery,e),e.oneofs&&(r.value="sceneItemQuery")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.QueryCollection=function(){function t(t){if(this.queries=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.queries=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.queries&&t.queries.length)for(let r=0;r<t.queries.length;++r)$root.vertexvis.protobuf.stream.ItemQuery.encode(t.queries[r],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.QueryCollection;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.queries&&n.queries.length||(n.queries=[]),n.queries.push($root.vertexvis.protobuf.stream.ItemQuery.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.queries&&t.hasOwnProperty("queries")){if(!Array.isArray(t.queries))return"queries: array expected";for(let e=0;e<t.queries.length;++e){let r=$root.vertexvis.protobuf.stream.ItemQuery.verify(t.queries[e]);if(r)return"queries."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.QueryCollection)return t;let e=new $root.vertexvis.protobuf.stream.QueryCollection;if(t.queries){if(!Array.isArray(t.queries))throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: array expected");e.queries=[];for(let r=0;r<t.queries.length;++r){if("object"!=typeof t.queries[r])throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: object expected");e.queries[r]=$root.vertexvis.protobuf.stream.ItemQuery.fromObject(t.queries[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.queries=[]),t.queries&&t.queries.length){r.queries=[];for(let n=0;n<t.queries.length;++n)r.queries[n]=$root.vertexvis.protobuf.stream.ItemQuery.toObject(t.queries[n],e)}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ChangeMaterialOperation=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.material=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.material&&Object.hasOwnProperty.call(t,"material")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(t.material,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ChangeMaterialOperation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.material=$root.vertexvis.protobuf.core.ColorMaterial.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.material&&t.hasOwnProperty("material")){let e=$root.vertexvis.protobuf.core.ColorMaterial.verify(t.material);if(e)return"material."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ChangeMaterialOperation)return t;let e=new $root.vertexvis.protobuf.stream.ChangeMaterialOperation;if(null!=t.material){if("object"!=typeof t.material)throw TypeError(".vertexvis.protobuf.stream.ChangeMaterialOperation.material: object expected");e.material=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(t.material)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.material=null),null!=t.material&&t.hasOwnProperty("material")&&(r.material=$root.vertexvis.protobuf.core.ColorMaterial.toObject(t.material,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ChangeVisibilityOperation=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.visible=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.visible&&Object.hasOwnProperty.call(t,"visible")&&e.uint32(8).bool(t.visible),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ChangeVisibilityOperation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.visible=t.bool();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.visible&&t.hasOwnProperty("visible")&&"boolean"!=typeof t.visible?"visible: boolean expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ChangeVisibilityOperation)return t;let e=new $root.vertexvis.protobuf.stream.ChangeVisibilityOperation;return null!=t.visible&&(e.visible=Boolean(t.visible)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.visible=!1),null!=t.visible&&t.hasOwnProperty("visible")&&(r.visible=t.visible),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ChangeTransformOperation=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.transform=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.transform&&Object.hasOwnProperty.call(t,"transform")&&$root.vertexvis.protobuf.core.Matrix4x4f.encode(t.transform,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ChangeTransformOperation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.Matrix4x4f.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.transform&&t.hasOwnProperty("transform")){let e=$root.vertexvis.protobuf.core.Matrix4x4f.verify(t.transform);if(e)return"transform."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ChangeTransformOperation)return t;let e=new $root.vertexvis.protobuf.stream.ChangeTransformOperation;if(null!=t.transform){if("object"!=typeof t.transform)throw TypeError(".vertexvis.protobuf.stream.ChangeTransformOperation.transform: object expected");e.transform=$root.vertexvis.protobuf.core.Matrix4x4f.fromObject(t.transform)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.transform=null),null!=t.transform&&t.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.Matrix4x4f.toObject(t.transform,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ChangeSelectionOperation=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.material=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.material&&Object.hasOwnProperty.call(t,"material")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(t.material,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ChangeSelectionOperation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.material=$root.vertexvis.protobuf.core.ColorMaterial.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.material&&t.hasOwnProperty("material")){let e=$root.vertexvis.protobuf.core.ColorMaterial.verify(t.material);if(e)return"material."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ChangeSelectionOperation)return t;let e=new $root.vertexvis.protobuf.stream.ChangeSelectionOperation;if(null!=t.material){if("object"!=typeof t.material)throw TypeError(".vertexvis.protobuf.stream.ChangeSelectionOperation.material: object expected");e.material=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(t.material)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.material=null),null!=t.material&&t.hasOwnProperty("material")&&(r.material=$root.vertexvis.protobuf.core.ColorMaterial.toObject(t.material,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.OperationType=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.changeMaterial=null,t.prototype.changeVisibility=null,t.prototype.changeTransform=null,t.prototype.changeSelection=null,Object.defineProperty(t.prototype,"value",{get:$util.oneOfGetter(e=["changeMaterial","changeVisibility","changeTransform","changeSelection"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.changeMaterial&&Object.hasOwnProperty.call(t,"changeMaterial")&&$root.vertexvis.protobuf.stream.ChangeMaterialOperation.encode(t.changeMaterial,e.uint32(10).fork()).ldelim(),null!=t.changeVisibility&&Object.hasOwnProperty.call(t,"changeVisibility")&&$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.encode(t.changeVisibility,e.uint32(18).fork()).ldelim(),null!=t.changeTransform&&Object.hasOwnProperty.call(t,"changeTransform")&&$root.vertexvis.protobuf.stream.ChangeTransformOperation.encode(t.changeTransform,e.uint32(26).fork()).ldelim(),null!=t.changeSelection&&Object.hasOwnProperty.call(t,"changeSelection")&&$root.vertexvis.protobuf.stream.ChangeSelectionOperation.encode(t.changeSelection,e.uint32(34).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.OperationType;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.decode(t,t.uint32());break;case 2:n.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.decode(t,t.uint32());break;case 3:n.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.decode(t,t.uint32());break;case 4:n.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.changeMaterial&&t.hasOwnProperty("changeMaterial")){e.value=1;{let e=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.verify(t.changeMaterial);if(e)return"changeMaterial."+e}}if(null!=t.changeVisibility&&t.hasOwnProperty("changeVisibility")){if(1===e.value)return"value: multiple values";e.value=1;{let e=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.verify(t.changeVisibility);if(e)return"changeVisibility."+e}}if(null!=t.changeTransform&&t.hasOwnProperty("changeTransform")){if(1===e.value)return"value: multiple values";e.value=1;{let e=$root.vertexvis.protobuf.stream.ChangeTransformOperation.verify(t.changeTransform);if(e)return"changeTransform."+e}}if(null!=t.changeSelection&&t.hasOwnProperty("changeSelection")){if(1===e.value)return"value: multiple values";e.value=1;{let e=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.verify(t.changeSelection);if(e)return"changeSelection."+e}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.OperationType)return t;let e=new $root.vertexvis.protobuf.stream.OperationType;if(null!=t.changeMaterial){if("object"!=typeof t.changeMaterial)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeMaterial: object expected");e.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.fromObject(t.changeMaterial)}if(null!=t.changeVisibility){if("object"!=typeof t.changeVisibility)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeVisibility: object expected");e.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.fromObject(t.changeVisibility)}if(null!=t.changeTransform){if("object"!=typeof t.changeTransform)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeTransform: object expected");e.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.fromObject(t.changeTransform)}if(null!=t.changeSelection){if("object"!=typeof t.changeSelection)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeSelection: object expected");e.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.fromObject(t.changeSelection)}return e},t.toObject=function(t,e){e||(e={});let r={};return null!=t.changeMaterial&&t.hasOwnProperty("changeMaterial")&&(r.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.toObject(t.changeMaterial,e),e.oneofs&&(r.value="changeMaterial")),null!=t.changeVisibility&&t.hasOwnProperty("changeVisibility")&&(r.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.toObject(t.changeVisibility,e),e.oneofs&&(r.value="changeVisibility")),null!=t.changeTransform&&t.hasOwnProperty("changeTransform")&&(r.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.toObject(t.changeTransform,e),e.oneofs&&(r.value="changeTransform")),null!=t.changeSelection&&t.hasOwnProperty("changeSelection")&&(r.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.toObject(t.changeSelection,e),e.oneofs&&(r.value="changeSelection")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SceneOperation=function(){function t(t){if(this.operationTypes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.item=null,t.prototype.or=null,t.prototype.and=null,t.prototype.all=null,t.prototype.point=null,t.prototype.operationTypes=$util.emptyArray,Object.defineProperty(t.prototype,"query",{get:$util.oneOfGetter(e=["item","or","and","all","point"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.item&&Object.hasOwnProperty.call(t,"item")&&$root.vertexvis.protobuf.stream.ItemQuery.encode(t.item,e.uint32(10).fork()).ldelim(),null!=t.or&&Object.hasOwnProperty.call(t,"or")&&$root.vertexvis.protobuf.stream.QueryCollection.encode(t.or,e.uint32(18).fork()).ldelim(),null!=t.and&&Object.hasOwnProperty.call(t,"and")&&$root.vertexvis.protobuf.stream.QueryCollection.encode(t.and,e.uint32(26).fork()).ldelim(),null!=t.operationTypes&&t.operationTypes.length)for(let r=0;r<t.operationTypes.length;++r)$root.vertexvis.protobuf.stream.OperationType.encode(t.operationTypes[r],e.uint32(34).fork()).ldelim();return null!=t.all&&Object.hasOwnProperty.call(t,"all")&&$root.vertexvis.protobuf.stream.AllQuery.encode(t.all,e.uint32(42).fork()).ldelim(),null!=t.point&&Object.hasOwnProperty.call(t,"point")&&$root.vertexvis.protobuf.stream.PointQuery.encode(t.point,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SceneOperation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.item=$root.vertexvis.protobuf.stream.ItemQuery.decode(t,t.uint32());break;case 2:n.or=$root.vertexvis.protobuf.stream.QueryCollection.decode(t,t.uint32());break;case 3:n.and=$root.vertexvis.protobuf.stream.QueryCollection.decode(t,t.uint32());break;case 5:n.all=$root.vertexvis.protobuf.stream.AllQuery.decode(t,t.uint32());break;case 6:n.point=$root.vertexvis.protobuf.stream.PointQuery.decode(t,t.uint32());break;case 4:n.operationTypes&&n.operationTypes.length||(n.operationTypes=[]),n.operationTypes.push($root.vertexvis.protobuf.stream.OperationType.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.item&&t.hasOwnProperty("item")){e.query=1;{let e=$root.vertexvis.protobuf.stream.ItemQuery.verify(t.item);if(e)return"item."+e}}if(null!=t.or&&t.hasOwnProperty("or")){if(1===e.query)return"query: multiple values";e.query=1;{let e=$root.vertexvis.protobuf.stream.QueryCollection.verify(t.or);if(e)return"or."+e}}if(null!=t.and&&t.hasOwnProperty("and")){if(1===e.query)return"query: multiple values";e.query=1;{let e=$root.vertexvis.protobuf.stream.QueryCollection.verify(t.and);if(e)return"and."+e}}if(null!=t.all&&t.hasOwnProperty("all")){if(1===e.query)return"query: multiple values";e.query=1;{let e=$root.vertexvis.protobuf.stream.AllQuery.verify(t.all);if(e)return"all."+e}}if(null!=t.point&&t.hasOwnProperty("point")){if(1===e.query)return"query: multiple values";e.query=1;{let e=$root.vertexvis.protobuf.stream.PointQuery.verify(t.point);if(e)return"point."+e}}if(null!=t.operationTypes&&t.hasOwnProperty("operationTypes")){if(!Array.isArray(t.operationTypes))return"operationTypes: array expected";for(let e=0;e<t.operationTypes.length;++e){let r=$root.vertexvis.protobuf.stream.OperationType.verify(t.operationTypes[e]);if(r)return"operationTypes."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SceneOperation)return t;let e=new $root.vertexvis.protobuf.stream.SceneOperation;if(null!=t.item){if("object"!=typeof t.item)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.item: object expected");e.item=$root.vertexvis.protobuf.stream.ItemQuery.fromObject(t.item)}if(null!=t.or){if("object"!=typeof t.or)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.or: object expected");e.or=$root.vertexvis.protobuf.stream.QueryCollection.fromObject(t.or)}if(null!=t.and){if("object"!=typeof t.and)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.and: object expected");e.and=$root.vertexvis.protobuf.stream.QueryCollection.fromObject(t.and)}if(null!=t.all){if("object"!=typeof t.all)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.all: object expected");e.all=$root.vertexvis.protobuf.stream.AllQuery.fromObject(t.all)}if(null!=t.point){if("object"!=typeof t.point)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.point: object expected");e.point=$root.vertexvis.protobuf.stream.PointQuery.fromObject(t.point)}if(t.operationTypes){if(!Array.isArray(t.operationTypes))throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: array expected");e.operationTypes=[];for(let r=0;r<t.operationTypes.length;++r){if("object"!=typeof t.operationTypes[r])throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: object expected");e.operationTypes[r]=$root.vertexvis.protobuf.stream.OperationType.fromObject(t.operationTypes[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.operationTypes=[]),null!=t.item&&t.hasOwnProperty("item")&&(r.item=$root.vertexvis.protobuf.stream.ItemQuery.toObject(t.item,e),e.oneofs&&(r.query="item")),null!=t.or&&t.hasOwnProperty("or")&&(r.or=$root.vertexvis.protobuf.stream.QueryCollection.toObject(t.or,e),e.oneofs&&(r.query="or")),null!=t.and&&t.hasOwnProperty("and")&&(r.and=$root.vertexvis.protobuf.stream.QueryCollection.toObject(t.and,e),e.oneofs&&(r.query="and")),t.operationTypes&&t.operationTypes.length){r.operationTypes=[];for(let n=0;n<t.operationTypes.length;++n)r.operationTypes[n]=$root.vertexvis.protobuf.stream.OperationType.toObject(t.operationTypes[n],e)}return null!=t.all&&t.hasOwnProperty("all")&&(r.all=$root.vertexvis.protobuf.stream.AllQuery.toObject(t.all,e),e.oneofs&&(r.query="all")),null!=t.point&&t.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.PointQuery.toObject(t.point,e),e.oneofs&&(r.query="point")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.PerformanceTiming=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.receiveToPaintDuration=null,Object.defineProperty(t.prototype,"timing",{get:$util.oneOfGetter(e=["receiveToPaintDuration"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.receiveToPaintDuration&&Object.hasOwnProperty.call(t,"receiveToPaintDuration")&&$root.google.protobuf.Duration.encode(t.receiveToPaintDuration,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.PerformanceTiming;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.receiveToPaintDuration=$root.google.protobuf.Duration.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.receiveToPaintDuration&&t.hasOwnProperty("receiveToPaintDuration")){let e=$root.google.protobuf.Duration.verify(t.receiveToPaintDuration);if(e)return"receiveToPaintDuration."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.PerformanceTiming)return t;let e=new $root.vertexvis.protobuf.stream.PerformanceTiming;if(null!=t.receiveToPaintDuration){if("object"!=typeof t.receiveToPaintDuration)throw TypeError(".vertexvis.protobuf.stream.PerformanceTiming.receiveToPaintDuration: object expected");e.receiveToPaintDuration=$root.google.protobuf.Duration.fromObject(t.receiveToPaintDuration)}return e},t.toObject=function(t,e){e||(e={});let r={};return null!=t.receiveToPaintDuration&&t.hasOwnProperty("receiveToPaintDuration")&&(r.receiveToPaintDuration=$root.google.protobuf.Duration.toObject(t.receiveToPaintDuration,e),e.oneofs&&(r.timing="receiveToPaintDuration")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StreamAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.experimentalGhosting=null,t.prototype.depthBuffers=null,t.prototype.featureLines=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.experimentalGhosting&&Object.hasOwnProperty.call(t,"experimentalGhosting")&&$root.vertexvis.protobuf.stream.GhostingAttributes.encode(t.experimentalGhosting,e.uint32(10).fork()).ldelim(),null!=t.depthBuffers&&Object.hasOwnProperty.call(t,"depthBuffers")&&$root.vertexvis.protobuf.stream.DepthBufferAttributes.encode(t.depthBuffers,e.uint32(18).fork()).ldelim(),null!=t.featureLines&&Object.hasOwnProperty.call(t,"featureLines")&&$root.vertexvis.protobuf.stream.FeatureLineAttributes.encode(t.featureLines,e.uint32(26).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StreamAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.decode(t,t.uint32());break;case 2:n.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.decode(t,t.uint32());break;case 3:n.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.experimentalGhosting&&t.hasOwnProperty("experimentalGhosting")){let e=$root.vertexvis.protobuf.stream.GhostingAttributes.verify(t.experimentalGhosting);if(e)return"experimentalGhosting."+e}if(null!=t.depthBuffers&&t.hasOwnProperty("depthBuffers")){let e=$root.vertexvis.protobuf.stream.DepthBufferAttributes.verify(t.depthBuffers);if(e)return"depthBuffers."+e}if(null!=t.featureLines&&t.hasOwnProperty("featureLines")){let e=$root.vertexvis.protobuf.stream.FeatureLineAttributes.verify(t.featureLines);if(e)return"featureLines."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StreamAttributes)return t;let e=new $root.vertexvis.protobuf.stream.StreamAttributes;if(null!=t.experimentalGhosting){if("object"!=typeof t.experimentalGhosting)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.experimentalGhosting: object expected");e.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.fromObject(t.experimentalGhosting)}if(null!=t.depthBuffers){if("object"!=typeof t.depthBuffers)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.depthBuffers: object expected");e.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.fromObject(t.depthBuffers)}if(null!=t.featureLines){if("object"!=typeof t.featureLines)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureLines: object expected");e.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.fromObject(t.featureLines)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.experimentalGhosting=null,r.depthBuffers=null,r.featureLines=null),null!=t.experimentalGhosting&&t.hasOwnProperty("experimentalGhosting")&&(r.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.toObject(t.experimentalGhosting,e)),null!=t.depthBuffers&&t.hasOwnProperty("depthBuffers")&&(r.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.toObject(t.depthBuffers,e)),null!=t.featureLines&&t.hasOwnProperty("featureLines")&&(r.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.toObject(t.featureLines,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.GhostingAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.enabled=null,t.prototype.opacity=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.enabled&&Object.hasOwnProperty.call(t,"enabled")&&$root.google.protobuf.BoolValue.encode(t.enabled,e.uint32(10).fork()).ldelim(),null!=t.opacity&&Object.hasOwnProperty.call(t,"opacity")&&$root.google.protobuf.FloatValue.encode(t.opacity,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.GhostingAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.enabled=$root.google.protobuf.BoolValue.decode(t,t.uint32());break;case 2:n.opacity=$root.google.protobuf.FloatValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.enabled&&t.hasOwnProperty("enabled")){let e=$root.google.protobuf.BoolValue.verify(t.enabled);if(e)return"enabled."+e}if(null!=t.opacity&&t.hasOwnProperty("opacity")){let e=$root.google.protobuf.FloatValue.verify(t.opacity);if(e)return"opacity."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.GhostingAttributes)return t;let e=new $root.vertexvis.protobuf.stream.GhostingAttributes;if(null!=t.enabled){if("object"!=typeof t.enabled)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.enabled: object expected");e.enabled=$root.google.protobuf.BoolValue.fromObject(t.enabled)}if(null!=t.opacity){if("object"!=typeof t.opacity)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.opacity: object expected");e.opacity=$root.google.protobuf.FloatValue.fromObject(t.opacity)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.enabled=null,r.opacity=null),null!=t.enabled&&t.hasOwnProperty("enabled")&&(r.enabled=$root.google.protobuf.BoolValue.toObject(t.enabled,e)),null!=t.opacity&&t.hasOwnProperty("opacity")&&(r.opacity=$root.google.protobuf.FloatValue.toObject(t.opacity,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.DepthBufferAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.enabled=null,t.prototype.frameType=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.enabled&&Object.hasOwnProperty.call(t,"enabled")&&$root.google.protobuf.BoolValue.encode(t.enabled,e.uint32(10).fork()).ldelim(),null!=t.frameType&&Object.hasOwnProperty.call(t,"frameType")&&e.uint32(16).int32(t.frameType),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.DepthBufferAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.enabled=$root.google.protobuf.BoolValue.decode(t,t.uint32());break;case 2:n.frameType=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.enabled&&t.hasOwnProperty("enabled")){let e=$root.google.protobuf.BoolValue.verify(t.enabled);if(e)return"enabled."+e}if(null!=t.frameType&&t.hasOwnProperty("frameType"))switch(t.frameType){default:return"frameType: enum value expected";case 0:case 1:case 2:case 3:}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.DepthBufferAttributes)return t;let e=new $root.vertexvis.protobuf.stream.DepthBufferAttributes;if(null!=t.enabled){if("object"!=typeof t.enabled)throw TypeError(".vertexvis.protobuf.stream.DepthBufferAttributes.enabled: object expected");e.enabled=$root.google.protobuf.BoolValue.fromObject(t.enabled)}switch(t.frameType){case"FRAME_TYPE_INVALID":case 0:e.frameType=0;break;case"FRAME_TYPE_ALL":case 1:e.frameType=1;break;case"FRAME_TYPE_TRANSITION":case 2:e.frameType=2;break;case"FRAME_TYPE_FINAL":case 3:e.frameType=3}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.enabled=null,r.frameType=e.enums===String?"FRAME_TYPE_INVALID":0),null!=t.enabled&&t.hasOwnProperty("enabled")&&(r.enabled=$root.google.protobuf.BoolValue.toObject(t.enabled,e)),null!=t.frameType&&t.hasOwnProperty("frameType")&&(r.frameType=e.enums===String?$root.vertexvis.protobuf.stream.FrameType[t.frameType]:t.frameType),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.AnimationAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.duration=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.duration&&Object.hasOwnProperty.call(t,"duration")&&$root.google.protobuf.Duration.encode(t.duration,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.AnimationAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.duration=$root.google.protobuf.Duration.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.duration&&t.hasOwnProperty("duration")){let e=$root.google.protobuf.Duration.verify(t.duration);if(e)return"duration."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.AnimationAttributes)return t;let e=new $root.vertexvis.protobuf.stream.AnimationAttributes;if(null!=t.duration){if("object"!=typeof t.duration)throw TypeError(".vertexvis.protobuf.stream.AnimationAttributes.duration: object expected");e.duration=$root.google.protobuf.Duration.fromObject(t.duration)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.duration=null),null!=t.duration&&t.hasOwnProperty("duration")&&(r.duration=$root.google.protobuf.Duration.toObject(t.duration,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.FrameType=function(){const t={},e=Object.create(t);return e[t[0]="FRAME_TYPE_INVALID"]=0,e[t[1]="FRAME_TYPE_ALL"]=1,e[t[2]="FRAME_TYPE_TRANSITION"]=2,e[t[3]="FRAME_TYPE_FINAL"]=3,e}(),t.MetadataPropertyCategory=function(){const t={},e=Object.create(t);return e[t[0]="METADATA_PROPERTY_CATEGORY_INVALID"]=0,e[t[1]="METADATA_PROPERTY_CATEGORY_USER"]=1,e[t[2]="METADATA_PROPERTY_CATEGORY_VERTEX"]=2,e[t[3]="METADATA_PROPERTY_CATEGORY_VENDOR"]=3,e}(),t.MetadataProperty=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.category=0,t.prototype.key="",t.prototype.asString="",t.prototype.asLong=$util.Long?$util.Long.fromBits(0,0,!1):0,t.prototype.asFloat=0,t.prototype.asDate=null,Object.defineProperty(t.prototype,"value",{get:$util.oneOfGetter(e=["asString","asLong","asFloat","asDate"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.category&&Object.hasOwnProperty.call(t,"category")&&e.uint32(8).int32(t.category),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&e.uint32(18).string(t.key),null!=t.asString&&Object.hasOwnProperty.call(t,"asString")&&e.uint32(26).string(t.asString),null!=t.asLong&&Object.hasOwnProperty.call(t,"asLong")&&e.uint32(32).sint64(t.asLong),null!=t.asFloat&&Object.hasOwnProperty.call(t,"asFloat")&&e.uint32(45).float(t.asFloat),null!=t.asDate&&Object.hasOwnProperty.call(t,"asDate")&&$root.vertexvis.protobuf.core.Instant.encode(t.asDate,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.MetadataProperty;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.category=t.int32();break;case 2:n.key=t.string();break;case 3:n.asString=t.string();break;case 4:n.asLong=t.sint64();break;case 5:n.asFloat=t.float();break;case 6:n.asDate=$root.vertexvis.protobuf.core.Instant.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.category&&t.hasOwnProperty("category"))switch(t.category){default:return"category: enum value expected";case 0:case 1:case 2:case 3:}if(null!=t.key&&t.hasOwnProperty("key")&&!$util.isString(t.key))return"key: string expected";if(null!=t.asString&&t.hasOwnProperty("asString")&&(e.value=1,!$util.isString(t.asString)))return"asString: string expected";if(null!=t.asLong&&t.hasOwnProperty("asLong")){if(1===e.value)return"value: multiple values";if(e.value=1,!($util.isInteger(t.asLong)||t.asLong&&$util.isInteger(t.asLong.low)&&$util.isInteger(t.asLong.high)))return"asLong: integer|Long expected"}if(null!=t.asFloat&&t.hasOwnProperty("asFloat")){if(1===e.value)return"value: multiple values";if(e.value=1,"number"!=typeof t.asFloat)return"asFloat: number expected"}if(null!=t.asDate&&t.hasOwnProperty("asDate")){if(1===e.value)return"value: multiple values";e.value=1;{let e=$root.vertexvis.protobuf.core.Instant.verify(t.asDate);if(e)return"asDate."+e}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.MetadataProperty)return t;let e=new $root.vertexvis.protobuf.stream.MetadataProperty;switch(t.category){case"METADATA_PROPERTY_CATEGORY_INVALID":case 0:e.category=0;break;case"METADATA_PROPERTY_CATEGORY_USER":case 1:e.category=1;break;case"METADATA_PROPERTY_CATEGORY_VERTEX":case 2:e.category=2;break;case"METADATA_PROPERTY_CATEGORY_VENDOR":case 3:e.category=3}if(null!=t.key&&(e.key=String(t.key)),null!=t.asString&&(e.asString=String(t.asString)),null!=t.asLong&&($util.Long?(e.asLong=$util.Long.fromValue(t.asLong)).unsigned=!1:"string"==typeof t.asLong?e.asLong=parseInt(t.asLong,10):"number"==typeof t.asLong?e.asLong=t.asLong:"object"==typeof t.asLong&&(e.asLong=new $util.LongBits(t.asLong.low>>>0,t.asLong.high>>>0).toNumber())),null!=t.asFloat&&(e.asFloat=Number(t.asFloat)),null!=t.asDate){if("object"!=typeof t.asDate)throw TypeError(".vertexvis.protobuf.stream.MetadataProperty.asDate: object expected");e.asDate=$root.vertexvis.protobuf.core.Instant.fromObject(t.asDate)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.category=e.enums===String?"METADATA_PROPERTY_CATEGORY_INVALID":0,r.key=""),null!=t.category&&t.hasOwnProperty("category")&&(r.category=e.enums===String?$root.vertexvis.protobuf.stream.MetadataPropertyCategory[t.category]:t.category),null!=t.key&&t.hasOwnProperty("key")&&(r.key=t.key),null!=t.asString&&t.hasOwnProperty("asString")&&(r.asString=t.asString,e.oneofs&&(r.value="asString")),null!=t.asLong&&t.hasOwnProperty("asLong")&&(r.asLong="number"==typeof t.asLong?e.longs===String?String(t.asLong):t.asLong:e.longs===String?$util.Long.prototype.toString.call(t.asLong):e.longs===Number?new $util.LongBits(t.asLong.low>>>0,t.asLong.high>>>0).toNumber():t.asLong,e.oneofs&&(r.value="asLong")),null!=t.asFloat&&t.hasOwnProperty("asFloat")&&(r.asFloat=e.json&&!isFinite(t.asFloat)?String(t.asFloat):t.asFloat,e.oneofs&&(r.value="asFloat")),null!=t.asDate&&t.hasOwnProperty("asDate")&&(r.asDate=$root.vertexvis.protobuf.core.Instant.toObject(t.asDate,e),e.oneofs&&(r.value="asDate")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Metadata=function(){function t(t){if(this.properties=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.partRevisionId=null,t.prototype.partInstanceId=null,t.prototype.partName="",t.prototype.properties=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.partRevisionId&&Object.hasOwnProperty.call(t,"partRevisionId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.partRevisionId,e.uint32(10).fork()).ldelim(),null!=t.partInstanceId&&Object.hasOwnProperty.call(t,"partInstanceId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.partInstanceId,e.uint32(18).fork()).ldelim(),null!=t.partName&&Object.hasOwnProperty.call(t,"partName")&&e.uint32(26).string(t.partName),null!=t.properties&&t.properties.length)for(let r=0;r<t.properties.length;++r)$root.vertexvis.protobuf.stream.MetadataProperty.encode(t.properties[r],e.uint32(34).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Metadata;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.partRevisionId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.partInstanceId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 3:n.partName=t.string();break;case 4:n.properties&&n.properties.length||(n.properties=[]),n.properties.push($root.vertexvis.protobuf.stream.MetadataProperty.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.partRevisionId&&t.hasOwnProperty("partRevisionId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.partRevisionId);if(e)return"partRevisionId."+e}if(null!=t.partInstanceId&&t.hasOwnProperty("partInstanceId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.partInstanceId);if(e)return"partInstanceId."+e}if(null!=t.partName&&t.hasOwnProperty("partName")&&!$util.isString(t.partName))return"partName: string expected";if(null!=t.properties&&t.hasOwnProperty("properties")){if(!Array.isArray(t.properties))return"properties: array expected";for(let e=0;e<t.properties.length;++e){let r=$root.vertexvis.protobuf.stream.MetadataProperty.verify(t.properties[e]);if(r)return"properties."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Metadata)return t;let e=new $root.vertexvis.protobuf.stream.Metadata;if(null!=t.partRevisionId){if("object"!=typeof t.partRevisionId)throw TypeError(".vertexvis.protobuf.stream.Metadata.partRevisionId: object expected");e.partRevisionId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.partRevisionId)}if(null!=t.partInstanceId){if("object"!=typeof t.partInstanceId)throw TypeError(".vertexvis.protobuf.stream.Metadata.partInstanceId: object expected");e.partInstanceId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.partInstanceId)}if(null!=t.partName&&(e.partName=String(t.partName)),t.properties){if(!Array.isArray(t.properties))throw TypeError(".vertexvis.protobuf.stream.Metadata.properties: array expected");e.properties=[];for(let r=0;r<t.properties.length;++r){if("object"!=typeof t.properties[r])throw TypeError(".vertexvis.protobuf.stream.Metadata.properties: object expected");e.properties[r]=$root.vertexvis.protobuf.stream.MetadataProperty.fromObject(t.properties[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.properties=[]),e.defaults&&(r.partRevisionId=null,r.partInstanceId=null,r.partName=""),null!=t.partRevisionId&&t.hasOwnProperty("partRevisionId")&&(r.partRevisionId=$root.vertexvis.protobuf.core.Uuid.toObject(t.partRevisionId,e)),null!=t.partInstanceId&&t.hasOwnProperty("partInstanceId")&&(r.partInstanceId=$root.vertexvis.protobuf.core.Uuid.toObject(t.partInstanceId,e)),null!=t.partName&&t.hasOwnProperty("partName")&&(r.partName=t.partName),t.properties&&t.properties.length){r.properties=[];for(let n=0;n<t.properties.length;++n)r.properties[n]=$root.vertexvis.protobuf.stream.MetadataProperty.toObject(t.properties[n],e)}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SectionPlane=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.normal=null,t.prototype.offset=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.normal&&Object.hasOwnProperty.call(t,"normal")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.normal,e.uint32(10).fork()).ldelim(),null!=t.offset&&Object.hasOwnProperty.call(t,"offset")&&e.uint32(21).float(t.offset),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SectionPlane;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.normal=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 2:n.offset=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.normal&&t.hasOwnProperty("normal")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.normal);if(e)return"normal."+e}return null!=t.offset&&t.hasOwnProperty("offset")&&"number"!=typeof t.offset?"offset: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SectionPlane)return t;let e=new $root.vertexvis.protobuf.stream.SectionPlane;if(null!=t.normal){if("object"!=typeof t.normal)throw TypeError(".vertexvis.protobuf.stream.SectionPlane.normal: object expected");e.normal=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.normal)}return null!=t.offset&&(e.offset=Number(t.offset)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.normal=null,r.offset=0),null!=t.normal&&t.hasOwnProperty("normal")&&(r.normal=$root.vertexvis.protobuf.core.Vector3f.toObject(t.normal,e)),null!=t.offset&&t.hasOwnProperty("offset")&&(r.offset=e.json&&!isFinite(t.offset)?String(t.offset):t.offset),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.CrossSectioning=function(){function t(t){if(this.sectionPlanes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.sectionPlanes=$util.emptyArray,t.prototype.highlightColor=null,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.sectionPlanes&&t.sectionPlanes.length)for(let r=0;r<t.sectionPlanes.length;++r)$root.vertexvis.protobuf.stream.SectionPlane.encode(t.sectionPlanes[r],e.uint32(10).fork()).ldelim();return null!=t.highlightColor&&Object.hasOwnProperty.call(t,"highlightColor")&&$root.vertexvis.protobuf.core.RGBi.encode(t.highlightColor,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.CrossSectioning;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sectionPlanes&&n.sectionPlanes.length||(n.sectionPlanes=[]),n.sectionPlanes.push($root.vertexvis.protobuf.stream.SectionPlane.decode(t,t.uint32()));break;case 2:n.highlightColor=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sectionPlanes&&t.hasOwnProperty("sectionPlanes")){if(!Array.isArray(t.sectionPlanes))return"sectionPlanes: array expected";for(let e=0;e<t.sectionPlanes.length;++e){let r=$root.vertexvis.protobuf.stream.SectionPlane.verify(t.sectionPlanes[e]);if(r)return"sectionPlanes."+r}}if(null!=t.highlightColor&&t.hasOwnProperty("highlightColor")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.highlightColor);if(e)return"highlightColor."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.CrossSectioning)return t;let e=new $root.vertexvis.protobuf.stream.CrossSectioning;if(t.sectionPlanes){if(!Array.isArray(t.sectionPlanes))throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: array expected");e.sectionPlanes=[];for(let r=0;r<t.sectionPlanes.length;++r){if("object"!=typeof t.sectionPlanes[r])throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: object expected");e.sectionPlanes[r]=$root.vertexvis.protobuf.stream.SectionPlane.fromObject(t.sectionPlanes[r])}}if(null!=t.highlightColor){if("object"!=typeof t.highlightColor)throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.highlightColor: object expected");e.highlightColor=$root.vertexvis.protobuf.core.RGBi.fromObject(t.highlightColor)}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.sectionPlanes=[]),e.defaults&&(r.highlightColor=null),t.sectionPlanes&&t.sectionPlanes.length){r.sectionPlanes=[];for(let n=0;n<t.sectionPlanes.length;++n)r.sectionPlanes[n]=$root.vertexvis.protobuf.stream.SectionPlane.toObject(t.sectionPlanes[n],e)}return null!=t.highlightColor&&t.hasOwnProperty("highlightColor")&&(r.highlightColor=$root.vertexvis.protobuf.core.RGBi.toObject(t.highlightColor,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Orientation=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.up=null,t.prototype.front=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.up&&Object.hasOwnProperty.call(t,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.up,e.uint32(10).fork()).ldelim(),null!=t.front&&Object.hasOwnProperty.call(t,"front")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.front,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Orientation;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 2:n.front=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.up&&t.hasOwnProperty("up")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.up);if(e)return"up."+e}if(null!=t.front&&t.hasOwnProperty("front")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.front);if(e)return"front."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Orientation)return t;let e=new $root.vertexvis.protobuf.stream.Orientation;if(null!=t.up){if("object"!=typeof t.up)throw TypeError(".vertexvis.protobuf.stream.Orientation.up: object expected");e.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.up)}if(null!=t.front){if("object"!=typeof t.front)throw TypeError(".vertexvis.protobuf.stream.Orientation.front: object expected");e.front=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.front)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.up=null,r.front=null),null!=t.up&&t.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(t.up,e)),null!=t.front&&t.hasOwnProperty("front")&&(r.front=$root.vertexvis.protobuf.core.Vector3f.toObject(t.front,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.FeatureLineAttributes=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.lineWidth=0,t.prototype.lineColor=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.lineWidth&&Object.hasOwnProperty.call(t,"lineWidth")&&e.uint32(13).float(t.lineWidth),null!=t.lineColor&&Object.hasOwnProperty.call(t,"lineColor")&&$root.vertexvis.protobuf.core.RGBi.encode(t.lineColor,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.FeatureLineAttributes;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.lineWidth=t.float();break;case 2:n.lineColor=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.lineWidth&&t.hasOwnProperty("lineWidth")&&"number"!=typeof t.lineWidth)return"lineWidth: number expected";if(null!=t.lineColor&&t.hasOwnProperty("lineColor")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.lineColor);if(e)return"lineColor."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.FeatureLineAttributes)return t;let e=new $root.vertexvis.protobuf.stream.FeatureLineAttributes;if(null!=t.lineWidth&&(e.lineWidth=Number(t.lineWidth)),null!=t.lineColor){if("object"!=typeof t.lineColor)throw TypeError(".vertexvis.protobuf.stream.FeatureLineAttributes.lineColor: object expected");e.lineColor=$root.vertexvis.protobuf.core.RGBi.fromObject(t.lineColor)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.lineWidth=0,r.lineColor=null),null!=t.lineWidth&&t.hasOwnProperty("lineWidth")&&(r.lineWidth=e.json&&!isFinite(t.lineWidth)?String(t.lineWidth):t.lineWidth),null!=t.lineColor&&t.hasOwnProperty("lineColor")&&(r.lineColor=$root.vertexvis.protobuf.core.RGBi.toObject(t.lineColor,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Error=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.message=null,t.prototype.details=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.message&&Object.hasOwnProperty.call(t,"message")&&$root.google.protobuf.StringValue.encode(t.message,e.uint32(10).fork()).ldelim(),null!=t.details&&Object.hasOwnProperty.call(t,"details")&&$root.google.protobuf.StringValue.encode(t.details,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Error;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.message=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 2:n.details=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.message&&t.hasOwnProperty("message")){let e=$root.google.protobuf.StringValue.verify(t.message);if(e)return"message."+e}if(null!=t.details&&t.hasOwnProperty("details")){let e=$root.google.protobuf.StringValue.verify(t.details);if(e)return"details."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Error)return t;let e=new $root.vertexvis.protobuf.stream.Error;if(null!=t.message){if("object"!=typeof t.message)throw TypeError(".vertexvis.protobuf.stream.Error.message: object expected");e.message=$root.google.protobuf.StringValue.fromObject(t.message)}if(null!=t.details){if("object"!=typeof t.details)throw TypeError(".vertexvis.protobuf.stream.Error.details: object expected");e.details=$root.google.protobuf.StringValue.fromObject(t.details)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.message=null,r.details=null),null!=t.message&&t.hasOwnProperty("message")&&(r.message=$root.google.protobuf.StringValue.toObject(t.message,e)),null!=t.details&&t.hasOwnProperty("details")&&(r.details=$root.google.protobuf.StringValue.toObject(t.details,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Rectangle=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.prototype.width=0,t.prototype.height=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(8).int32(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(16).int32(t.y),null!=t.width&&Object.hasOwnProperty.call(t,"width")&&e.uint32(24).int32(t.width),null!=t.height&&Object.hasOwnProperty.call(t,"height")&&e.uint32(32).int32(t.height),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Rectangle;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.int32();break;case 2:n.y=t.int32();break;case 3:n.width=t.int32();break;case 4:n.height=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&!$util.isInteger(t.x)?"x: integer expected":null!=t.y&&t.hasOwnProperty("y")&&!$util.isInteger(t.y)?"y: integer expected":null!=t.width&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":null!=t.height&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Rectangle)return t;let e=new $root.vertexvis.protobuf.stream.Rectangle;return null!=t.x&&(e.x=0|t.x),null!=t.y&&(e.y=0|t.y),null!=t.width&&(e.width=0|t.width),null!=t.height&&(e.height=0|t.height),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0,r.width=0,r.height=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=t.y),null!=t.width&&t.hasOwnProperty("width")&&(r.width=t.width),null!=t.height&&t.hasOwnProperty("height")&&(r.height=t.height),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Dimensions=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.width=0,t.prototype.height=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.width&&Object.hasOwnProperty.call(t,"width")&&e.uint32(8).int32(t.width),null!=t.height&&Object.hasOwnProperty.call(t,"height")&&e.uint32(16).int32(t.height),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Dimensions;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.width=t.int32();break;case 2:n.height=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.width&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":null!=t.height&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Dimensions)return t;let e=new $root.vertexvis.protobuf.stream.Dimensions;return null!=t.width&&(e.width=0|t.width),null!=t.height&&(e.height=0|t.height),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.width=0,r.height=0),null!=t.width&&t.hasOwnProperty("width")&&(r.width=t.width),null!=t.height&&t.hasOwnProperty("height")&&(r.height=t.height),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Point=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(8).int32(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(16).int32(t.y),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.Point;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.int32();break;case 2:n.y=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&!$util.isInteger(t.x)?"x: integer expected":null!=t.y&&t.hasOwnProperty("y")&&!$util.isInteger(t.y)?"y: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.Point)return t;let e=new $root.vertexvis.protobuf.stream.Point;return null!=t.x&&(e.x=0|t.x),null!=t.y&&(e.y=0|t.y),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=t.y),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StreamMessage=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.request=null,t.prototype.response=null,t.prototype.event=null,t.prototype.sentAtTime=null,Object.defineProperty(t.prototype,"message",{get:$util.oneOfGetter(e=["request","response","event"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.request&&Object.hasOwnProperty.call(t,"request")&&$root.vertexvis.protobuf.stream.StreamRequest.encode(t.request,e.uint32(10).fork()).ldelim(),null!=t.response&&Object.hasOwnProperty.call(t,"response")&&$root.vertexvis.protobuf.stream.StreamResponse.encode(t.response,e.uint32(18).fork()).ldelim(),null!=t.sentAtTime&&Object.hasOwnProperty.call(t,"sentAtTime")&&$root.google.protobuf.Timestamp.encode(t.sentAtTime,e.uint32(26).fork()).ldelim(),null!=t.event&&Object.hasOwnProperty.call(t,"event")&&$root.vertexvis.protobuf.stream.StreamEvent.encode(t.event,e.uint32(34).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StreamMessage;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.request=$root.vertexvis.protobuf.stream.StreamRequest.decode(t,t.uint32());break;case 2:n.response=$root.vertexvis.protobuf.stream.StreamResponse.decode(t,t.uint32());break;case 4:n.event=$root.vertexvis.protobuf.stream.StreamEvent.decode(t,t.uint32());break;case 3:n.sentAtTime=$root.google.protobuf.Timestamp.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.request&&t.hasOwnProperty("request")){e.message=1;{let e=$root.vertexvis.protobuf.stream.StreamRequest.verify(t.request);if(e)return"request."+e}}if(null!=t.response&&t.hasOwnProperty("response")){if(1===e.message)return"message: multiple values";e.message=1;{let e=$root.vertexvis.protobuf.stream.StreamResponse.verify(t.response);if(e)return"response."+e}}if(null!=t.event&&t.hasOwnProperty("event")){if(1===e.message)return"message: multiple values";e.message=1;{let e=$root.vertexvis.protobuf.stream.StreamEvent.verify(t.event);if(e)return"event."+e}}if(null!=t.sentAtTime&&t.hasOwnProperty("sentAtTime")){let e=$root.google.protobuf.Timestamp.verify(t.sentAtTime);if(e)return"sentAtTime."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StreamMessage)return t;let e=new $root.vertexvis.protobuf.stream.StreamMessage;if(null!=t.request){if("object"!=typeof t.request)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.request: object expected");e.request=$root.vertexvis.protobuf.stream.StreamRequest.fromObject(t.request)}if(null!=t.response){if("object"!=typeof t.response)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.response: object expected");e.response=$root.vertexvis.protobuf.stream.StreamResponse.fromObject(t.response)}if(null!=t.event){if("object"!=typeof t.event)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.event: object expected");e.event=$root.vertexvis.protobuf.stream.StreamEvent.fromObject(t.event)}if(null!=t.sentAtTime){if("object"!=typeof t.sentAtTime)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.sentAtTime: object expected");e.sentAtTime=$root.google.protobuf.Timestamp.fromObject(t.sentAtTime)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.sentAtTime=null),null!=t.request&&t.hasOwnProperty("request")&&(r.request=$root.vertexvis.protobuf.stream.StreamRequest.toObject(t.request,e),e.oneofs&&(r.message="request")),null!=t.response&&t.hasOwnProperty("response")&&(r.response=$root.vertexvis.protobuf.stream.StreamResponse.toObject(t.response,e),e.oneofs&&(r.message="response")),null!=t.sentAtTime&&t.hasOwnProperty("sentAtTime")&&(r.sentAtTime=$root.google.protobuf.Timestamp.toObject(t.sentAtTime,e)),null!=t.event&&t.hasOwnProperty("event")&&(r.event=$root.vertexvis.protobuf.stream.StreamEvent.toObject(t.event,e),e.oneofs&&(r.message="event")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StreamRequest=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.requestId=null,t.prototype.startStream=null,t.prototype.updateCamera=null,t.prototype.beginInteraction=null,t.prototype.endInteraction=null,t.prototype.gracefulReconnection=null,t.prototype.reconnect=null,t.prototype.hitItems=null,t.prototype.createSceneAlteration=null,t.prototype.drawFrame=null,t.prototype.syncTime=null,t.prototype.recordPerformance=null,t.prototype.updateDimensions=null,t.prototype.updateStream=null,t.prototype.flyTo=null,t.prototype.loadSceneViewState=null,t.prototype.updateCrossSectioning=null,t.prototype.getStencilBuffer=null,Object.defineProperty(t.prototype,"payload",{get:$util.oneOfGetter(e=["startStream","updateCamera","beginInteraction","endInteraction","gracefulReconnection","reconnect","hitItems","createSceneAlteration","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","getStencilBuffer"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&$root.google.protobuf.StringValue.encode(t.requestId,e.uint32(10).fork()).ldelim(),null!=t.startStream&&Object.hasOwnProperty.call(t,"startStream")&&$root.vertexvis.protobuf.stream.StartStreamPayload.encode(t.startStream,e.uint32(18).fork()).ldelim(),null!=t.updateCamera&&Object.hasOwnProperty.call(t,"updateCamera")&&$root.vertexvis.protobuf.stream.UpdateCameraPayload.encode(t.updateCamera,e.uint32(26).fork()).ldelim(),null!=t.beginInteraction&&Object.hasOwnProperty.call(t,"beginInteraction")&&$root.vertexvis.protobuf.stream.BeginInteractionPayload.encode(t.beginInteraction,e.uint32(34).fork()).ldelim(),null!=t.endInteraction&&Object.hasOwnProperty.call(t,"endInteraction")&&$root.vertexvis.protobuf.stream.EndInteractionPayload.encode(t.endInteraction,e.uint32(42).fork()).ldelim(),null!=t.gracefulReconnection&&Object.hasOwnProperty.call(t,"gracefulReconnection")&&$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.encode(t.gracefulReconnection,e.uint32(50).fork()).ldelim(),null!=t.reconnect&&Object.hasOwnProperty.call(t,"reconnect")&&$root.vertexvis.protobuf.stream.ReconnectPayload.encode(t.reconnect,e.uint32(58).fork()).ldelim(),null!=t.hitItems&&Object.hasOwnProperty.call(t,"hitItems")&&$root.vertexvis.protobuf.stream.HitItemsPayload.encode(t.hitItems,e.uint32(66).fork()).ldelim(),null!=t.createSceneAlteration&&Object.hasOwnProperty.call(t,"createSceneAlteration")&&$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.encode(t.createSceneAlteration,e.uint32(74).fork()).ldelim(),null!=t.drawFrame&&Object.hasOwnProperty.call(t,"drawFrame")&&$root.vertexvis.protobuf.stream.DrawFramePayload.encode(t.drawFrame,e.uint32(82).fork()).ldelim(),null!=t.syncTime&&Object.hasOwnProperty.call(t,"syncTime")&&$root.vertexvis.protobuf.stream.SyncTimePayload.encode(t.syncTime,e.uint32(90).fork()).ldelim(),null!=t.recordPerformance&&Object.hasOwnProperty.call(t,"recordPerformance")&&$root.vertexvis.protobuf.stream.RecordPerformancePayload.encode(t.recordPerformance,e.uint32(98).fork()).ldelim(),null!=t.updateDimensions&&Object.hasOwnProperty.call(t,"updateDimensions")&&$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.encode(t.updateDimensions,e.uint32(106).fork()).ldelim(),null!=t.updateStream&&Object.hasOwnProperty.call(t,"updateStream")&&$root.vertexvis.protobuf.stream.UpdateStreamPayload.encode(t.updateStream,e.uint32(114).fork()).ldelim(),null!=t.flyTo&&Object.hasOwnProperty.call(t,"flyTo")&&$root.vertexvis.protobuf.stream.FlyToPayload.encode(t.flyTo,e.uint32(122).fork()).ldelim(),null!=t.loadSceneViewState&&Object.hasOwnProperty.call(t,"loadSceneViewState")&&$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.encode(t.loadSceneViewState,e.uint32(130).fork()).ldelim(),null!=t.updateCrossSectioning&&Object.hasOwnProperty.call(t,"updateCrossSectioning")&&$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.encode(t.updateCrossSectioning,e.uint32(138).fork()).ldelim(),null!=t.getStencilBuffer&&Object.hasOwnProperty.call(t,"getStencilBuffer")&&$root.vertexvis.protobuf.stream.GetStencilBufferPayload.encode(t.getStencilBuffer,e.uint32(146).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StreamRequest;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.requestId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 2:n.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.decode(t,t.uint32());break;case 3:n.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.decode(t,t.uint32());break;case 4:n.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.decode(t,t.uint32());break;case 5:n.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.decode(t,t.uint32());break;case 6:n.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.decode(t,t.uint32());break;case 7:n.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.decode(t,t.uint32());break;case 8:n.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.decode(t,t.uint32());break;case 9:n.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.decode(t,t.uint32());break;case 10:n.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.decode(t,t.uint32());break;case 11:n.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.decode(t,t.uint32());break;case 12:n.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.decode(t,t.uint32());break;case 13:n.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.decode(t,t.uint32());break;case 14:n.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.decode(t,t.uint32());break;case 15:n.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.decode(t,t.uint32());break;case 16:n.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.decode(t,t.uint32());break;case 17:n.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.decode(t,t.uint32());break;case 18:n.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.requestId&&t.hasOwnProperty("requestId")){let e=$root.google.protobuf.StringValue.verify(t.requestId);if(e)return"requestId."+e}if(null!=t.startStream&&t.hasOwnProperty("startStream")){e.payload=1;{let e=$root.vertexvis.protobuf.stream.StartStreamPayload.verify(t.startStream);if(e)return"startStream."+e}}if(null!=t.updateCamera&&t.hasOwnProperty("updateCamera")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.UpdateCameraPayload.verify(t.updateCamera);if(e)return"updateCamera."+e}}if(null!=t.beginInteraction&&t.hasOwnProperty("beginInteraction")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.BeginInteractionPayload.verify(t.beginInteraction);if(e)return"beginInteraction."+e}}if(null!=t.endInteraction&&t.hasOwnProperty("endInteraction")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.EndInteractionPayload.verify(t.endInteraction);if(e)return"endInteraction."+e}}if(null!=t.gracefulReconnection&&t.hasOwnProperty("gracefulReconnection")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.verify(t.gracefulReconnection);if(e)return"gracefulReconnection."+e}}if(null!=t.reconnect&&t.hasOwnProperty("reconnect")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.ReconnectPayload.verify(t.reconnect);if(e)return"reconnect."+e}}if(null!=t.hitItems&&t.hasOwnProperty("hitItems")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.HitItemsPayload.verify(t.hitItems);if(e)return"hitItems."+e}}if(null!=t.createSceneAlteration&&t.hasOwnProperty("createSceneAlteration")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.verify(t.createSceneAlteration);if(e)return"createSceneAlteration."+e}}if(null!=t.drawFrame&&t.hasOwnProperty("drawFrame")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.DrawFramePayload.verify(t.drawFrame);if(e)return"drawFrame."+e}}if(null!=t.syncTime&&t.hasOwnProperty("syncTime")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.SyncTimePayload.verify(t.syncTime);if(e)return"syncTime."+e}}if(null!=t.recordPerformance&&t.hasOwnProperty("recordPerformance")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.RecordPerformancePayload.verify(t.recordPerformance);if(e)return"recordPerformance."+e}}if(null!=t.updateDimensions&&t.hasOwnProperty("updateDimensions")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.verify(t.updateDimensions);if(e)return"updateDimensions."+e}}if(null!=t.updateStream&&t.hasOwnProperty("updateStream")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.UpdateStreamPayload.verify(t.updateStream);if(e)return"updateStream."+e}}if(null!=t.flyTo&&t.hasOwnProperty("flyTo")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.FlyToPayload.verify(t.flyTo);if(e)return"flyTo."+e}}if(null!=t.loadSceneViewState&&t.hasOwnProperty("loadSceneViewState")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.verify(t.loadSceneViewState);if(e)return"loadSceneViewState."+e}}if(null!=t.updateCrossSectioning&&t.hasOwnProperty("updateCrossSectioning")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.verify(t.updateCrossSectioning);if(e)return"updateCrossSectioning."+e}}if(null!=t.getStencilBuffer&&t.hasOwnProperty("getStencilBuffer")){if(1===e.payload)return"payload: multiple values";e.payload=1;{let e=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.verify(t.getStencilBuffer);if(e)return"getStencilBuffer."+e}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StreamRequest)return t;let e=new $root.vertexvis.protobuf.stream.StreamRequest;if(null!=t.requestId){if("object"!=typeof t.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.requestId: object expected");e.requestId=$root.google.protobuf.StringValue.fromObject(t.requestId)}if(null!=t.startStream){if("object"!=typeof t.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.startStream: object expected");e.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.fromObject(t.startStream)}if(null!=t.updateCamera){if("object"!=typeof t.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCamera: object expected");e.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.fromObject(t.updateCamera)}if(null!=t.beginInteraction){if("object"!=typeof t.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.beginInteraction: object expected");e.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.fromObject(t.beginInteraction)}if(null!=t.endInteraction){if("object"!=typeof t.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.endInteraction: object expected");e.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.fromObject(t.endInteraction)}if(null!=t.gracefulReconnection){if("object"!=typeof t.gracefulReconnection)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.gracefulReconnection: object expected");e.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.fromObject(t.gracefulReconnection)}if(null!=t.reconnect){if("object"!=typeof t.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.reconnect: object expected");e.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.fromObject(t.reconnect)}if(null!=t.hitItems){if("object"!=typeof t.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.hitItems: object expected");e.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.fromObject(t.hitItems)}if(null!=t.createSceneAlteration){if("object"!=typeof t.createSceneAlteration)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.createSceneAlteration: object expected");e.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.fromObject(t.createSceneAlteration)}if(null!=t.drawFrame){if("object"!=typeof t.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.drawFrame: object expected");e.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.fromObject(t.drawFrame)}if(null!=t.syncTime){if("object"!=typeof t.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.syncTime: object expected");e.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.fromObject(t.syncTime)}if(null!=t.recordPerformance){if("object"!=typeof t.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.recordPerformance: object expected");e.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.fromObject(t.recordPerformance)}if(null!=t.updateDimensions){if("object"!=typeof t.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateDimensions: object expected");e.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.fromObject(t.updateDimensions)}if(null!=t.updateStream){if("object"!=typeof t.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateStream: object expected");e.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.fromObject(t.updateStream)}if(null!=t.flyTo){if("object"!=typeof t.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.flyTo: object expected");e.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.fromObject(t.flyTo)}if(null!=t.loadSceneViewState){if("object"!=typeof t.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.loadSceneViewState: object expected");e.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.fromObject(t.loadSceneViewState)}if(null!=t.updateCrossSectioning){if("object"!=typeof t.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCrossSectioning: object expected");e.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.fromObject(t.updateCrossSectioning)}if(null!=t.getStencilBuffer){if("object"!=typeof t.getStencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.getStencilBuffer: object expected");e.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.fromObject(t.getStencilBuffer)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.requestId=null),null!=t.requestId&&t.hasOwnProperty("requestId")&&(r.requestId=$root.google.protobuf.StringValue.toObject(t.requestId,e)),null!=t.startStream&&t.hasOwnProperty("startStream")&&(r.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.toObject(t.startStream,e),e.oneofs&&(r.payload="startStream")),null!=t.updateCamera&&t.hasOwnProperty("updateCamera")&&(r.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.toObject(t.updateCamera,e),e.oneofs&&(r.payload="updateCamera")),null!=t.beginInteraction&&t.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.toObject(t.beginInteraction,e),e.oneofs&&(r.payload="beginInteraction")),null!=t.endInteraction&&t.hasOwnProperty("endInteraction")&&(r.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.toObject(t.endInteraction,e),e.oneofs&&(r.payload="endInteraction")),null!=t.gracefulReconnection&&t.hasOwnProperty("gracefulReconnection")&&(r.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.toObject(t.gracefulReconnection,e),e.oneofs&&(r.payload="gracefulReconnection")),null!=t.reconnect&&t.hasOwnProperty("reconnect")&&(r.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.toObject(t.reconnect,e),e.oneofs&&(r.payload="reconnect")),null!=t.hitItems&&t.hasOwnProperty("hitItems")&&(r.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.toObject(t.hitItems,e),e.oneofs&&(r.payload="hitItems")),null!=t.createSceneAlteration&&t.hasOwnProperty("createSceneAlteration")&&(r.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.toObject(t.createSceneAlteration,e),e.oneofs&&(r.payload="createSceneAlteration")),null!=t.drawFrame&&t.hasOwnProperty("drawFrame")&&(r.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.toObject(t.drawFrame,e),e.oneofs&&(r.payload="drawFrame")),null!=t.syncTime&&t.hasOwnProperty("syncTime")&&(r.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.toObject(t.syncTime,e),e.oneofs&&(r.payload="syncTime")),null!=t.recordPerformance&&t.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.toObject(t.recordPerformance,e),e.oneofs&&(r.payload="recordPerformance")),null!=t.updateDimensions&&t.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.toObject(t.updateDimensions,e),e.oneofs&&(r.payload="updateDimensions")),null!=t.updateStream&&t.hasOwnProperty("updateStream")&&(r.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.toObject(t.updateStream,e),e.oneofs&&(r.payload="updateStream")),null!=t.flyTo&&t.hasOwnProperty("flyTo")&&(r.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.toObject(t.flyTo,e),e.oneofs&&(r.payload="flyTo")),null!=t.loadSceneViewState&&t.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.toObject(t.loadSceneViewState,e),e.oneofs&&(r.payload="loadSceneViewState")),null!=t.updateCrossSectioning&&t.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.toObject(t.updateCrossSectioning,e),e.oneofs&&(r.payload="updateCrossSectioning")),null!=t.getStencilBuffer&&t.hasOwnProperty("getStencilBuffer")&&(r.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.toObject(t.getStencilBuffer,e),e.oneofs&&(r.payload="getStencilBuffer")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.GracefulReconnectionPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.streamId=null,t.prototype.timeToReconnectDuration=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.streamId&&Object.hasOwnProperty.call(t,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.streamId,e.uint32(10).fork()).ldelim(),null!=t.timeToReconnectDuration&&Object.hasOwnProperty.call(t,"timeToReconnectDuration")&&$root.google.protobuf.Duration.encode(t.timeToReconnectDuration,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.GracefulReconnectionPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.timeToReconnectDuration=$root.google.protobuf.Duration.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.streamId&&t.hasOwnProperty("streamId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.streamId);if(e)return"streamId."+e}if(null!=t.timeToReconnectDuration&&t.hasOwnProperty("timeToReconnectDuration")){let e=$root.google.protobuf.Duration.verify(t.timeToReconnectDuration);if(e)return"timeToReconnectDuration."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.GracefulReconnectionPayload)return t;let e=new $root.vertexvis.protobuf.stream.GracefulReconnectionPayload;if(null!=t.streamId){if("object"!=typeof t.streamId)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.streamId: object expected");e.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.streamId)}if(null!=t.timeToReconnectDuration){if("object"!=typeof t.timeToReconnectDuration)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.timeToReconnectDuration: object expected");e.timeToReconnectDuration=$root.google.protobuf.Duration.fromObject(t.timeToReconnectDuration)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.streamId=null,r.timeToReconnectDuration=null),null!=t.streamId&&t.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(t.streamId,e)),null!=t.timeToReconnectDuration&&t.hasOwnProperty("timeToReconnectDuration")&&(r.timeToReconnectDuration=$root.google.protobuf.Duration.toObject(t.timeToReconnectDuration,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StartStreamPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.dimensions=null,t.prototype.frameCorrelationId=null,t.prototype.frameBackgroundColor=null,t.prototype.streamAttributes=null,t.prototype.streamKey=null,t.prototype.sceneViewStateId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.dimensions&&Object.hasOwnProperty.call(t,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.dimensions,e.uint32(10).fork()).ldelim(),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(18).fork()).ldelim(),null!=t.frameBackgroundColor&&Object.hasOwnProperty.call(t,"frameBackgroundColor")&&$root.vertexvis.protobuf.core.RGBi.encode(t.frameBackgroundColor,e.uint32(26).fork()).ldelim(),null!=t.streamAttributes&&Object.hasOwnProperty.call(t,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(t.streamAttributes,e.uint32(34).fork()).ldelim(),null!=t.streamKey&&Object.hasOwnProperty.call(t,"streamKey")&&$root.google.protobuf.StringValue.encode(t.streamKey,e.uint32(42).fork()).ldelim(),null!=t.sceneViewStateId&&Object.hasOwnProperty.call(t,"sceneViewStateId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.sceneViewStateId,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StartStreamPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 3:n.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;case 4:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(t,t.uint32());break;case 5:n.streamKey=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 6:n.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.dimensions&&t.hasOwnProperty("dimensions")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.dimensions);if(e)return"dimensions."+e}if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}if(null!=t.frameBackgroundColor&&t.hasOwnProperty("frameBackgroundColor")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.frameBackgroundColor);if(e)return"frameBackgroundColor."+e}if(null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")){let e=$root.vertexvis.protobuf.stream.StreamAttributes.verify(t.streamAttributes);if(e)return"streamAttributes."+e}if(null!=t.streamKey&&t.hasOwnProperty("streamKey")){let e=$root.google.protobuf.StringValue.verify(t.streamKey);if(e)return"streamKey."+e}if(null!=t.sceneViewStateId&&t.hasOwnProperty("sceneViewStateId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.sceneViewStateId);if(e)return"sceneViewStateId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StartStreamPayload)return t;let e=new $root.vertexvis.protobuf.stream.StartStreamPayload;if(null!=t.dimensions){if("object"!=typeof t.dimensions)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.dimensions: object expected");e.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.dimensions)}if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}if(null!=t.frameBackgroundColor){if("object"!=typeof t.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameBackgroundColor: object expected");e.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.fromObject(t.frameBackgroundColor)}if(null!=t.streamAttributes){if("object"!=typeof t.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamAttributes: object expected");e.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(t.streamAttributes)}if(null!=t.streamKey){if("object"!=typeof t.streamKey)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamKey: object expected");e.streamKey=$root.google.protobuf.StringValue.fromObject(t.streamKey)}if(null!=t.sceneViewStateId){if("object"!=typeof t.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.sceneViewStateId: object expected");e.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.sceneViewStateId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null,r.streamKey=null,r.sceneViewStateId=null),null!=t.dimensions&&t.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.dimensions,e)),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),null!=t.frameBackgroundColor&&t.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.toObject(t.frameBackgroundColor,e)),null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(t.streamAttributes,e)),null!=t.streamKey&&t.hasOwnProperty("streamKey")&&(r.streamKey=$root.google.protobuf.StringValue.toObject(t.streamKey,e)),null!=t.sceneViewStateId&&t.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.toObject(t.sceneViewStateId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.BeginInteractionPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.BeginInteractionPayload;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.BeginInteractionPayload?t:new $root.vertexvis.protobuf.stream.BeginInteractionPayload},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.EndInteractionPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.frameCorrelationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.EndInteractionPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.EndInteractionPayload)return t;let e=new $root.vertexvis.protobuf.stream.EndInteractionPayload;if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.EndInteractionPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.frameCorrelationId=null),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateCameraPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.camera=null,t.prototype.frameCorrelationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.camera&&Object.hasOwnProperty.call(t,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(t.camera,e.uint32(10).fork()).ldelim(),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateCameraPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(t,t.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.camera&&t.hasOwnProperty("camera")){let e=$root.vertexvis.protobuf.stream.Camera.verify(t.camera);if(e)return"camera."+e}if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateCameraPayload)return t;let e=new $root.vertexvis.protobuf.stream.UpdateCameraPayload;if(null!=t.camera){if("object"!=typeof t.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.camera: object expected");e.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(t.camera)}if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.camera=null,r.frameCorrelationId=null),null!=t.camera&&t.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(t.camera,e)),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ReconnectPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.streamId=null,t.prototype.dimensions=null,t.prototype.frameCorrelationId=null,t.prototype.frameBackgroundColor=null,t.prototype.streamAttributes=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.streamId&&Object.hasOwnProperty.call(t,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.streamId,e.uint32(10).fork()).ldelim(),null!=t.dimensions&&Object.hasOwnProperty.call(t,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.dimensions,e.uint32(18).fork()).ldelim(),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(26).fork()).ldelim(),null!=t.frameBackgroundColor&&Object.hasOwnProperty.call(t,"frameBackgroundColor")&&$root.vertexvis.protobuf.core.RGBi.encode(t.frameBackgroundColor,e.uint32(34).fork()).ldelim(),null!=t.streamAttributes&&Object.hasOwnProperty.call(t,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(t.streamAttributes,e.uint32(42).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ReconnectPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;case 3:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 4:n.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;case 5:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.streamId&&t.hasOwnProperty("streamId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.streamId);if(e)return"streamId."+e}if(null!=t.dimensions&&t.hasOwnProperty("dimensions")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.dimensions);if(e)return"dimensions."+e}if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}if(null!=t.frameBackgroundColor&&t.hasOwnProperty("frameBackgroundColor")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.frameBackgroundColor);if(e)return"frameBackgroundColor."+e}if(null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")){let e=$root.vertexvis.protobuf.stream.StreamAttributes.verify(t.streamAttributes);if(e)return"streamAttributes."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ReconnectPayload)return t;let e=new $root.vertexvis.protobuf.stream.ReconnectPayload;if(null!=t.streamId){if("object"!=typeof t.streamId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamId: object expected");e.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.streamId)}if(null!=t.dimensions){if("object"!=typeof t.dimensions)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.dimensions: object expected");e.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.dimensions)}if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}if(null!=t.frameBackgroundColor){if("object"!=typeof t.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameBackgroundColor: object expected");e.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.fromObject(t.frameBackgroundColor)}if(null!=t.streamAttributes){if("object"!=typeof t.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamAttributes: object expected");e.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(t.streamAttributes)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.streamId=null,r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null),null!=t.streamId&&t.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(t.streamId,e)),null!=t.dimensions&&t.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.dimensions,e)),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),null!=t.frameBackgroundColor&&t.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.toObject(t.frameBackgroundColor,e)),null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(t.streamAttributes,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateDimensionsPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.dimensions=null,t.prototype.frameCorrelationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.dimensions&&Object.hasOwnProperty.call(t,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.dimensions,e.uint32(10).fork()).ldelim(),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateDimensionsPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.dimensions&&t.hasOwnProperty("dimensions")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.dimensions);if(e)return"dimensions."+e}if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateDimensionsPayload)return t;let e=new $root.vertexvis.protobuf.stream.UpdateDimensionsPayload;if(null!=t.dimensions){if("object"!=typeof t.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.dimensions: object expected");e.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.dimensions)}if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.dimensions=null,r.frameCorrelationId=null),null!=t.dimensions&&t.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.dimensions,e)),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.HitItemsPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.point=null,t.prototype.includeMetadata=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.point&&Object.hasOwnProperty.call(t,"point")&&$root.vertexvis.protobuf.stream.Point.encode(t.point,e.uint32(10).fork()).ldelim(),null!=t.includeMetadata&&Object.hasOwnProperty.call(t,"includeMetadata")&&e.uint32(16).bool(t.includeMetadata),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.HitItemsPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.point=$root.vertexvis.protobuf.stream.Point.decode(t,t.uint32());break;case 2:n.includeMetadata=t.bool();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.point&&t.hasOwnProperty("point")){let e=$root.vertexvis.protobuf.stream.Point.verify(t.point);if(e)return"point."+e}return null!=t.includeMetadata&&t.hasOwnProperty("includeMetadata")&&"boolean"!=typeof t.includeMetadata?"includeMetadata: boolean expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.HitItemsPayload)return t;let e=new $root.vertexvis.protobuf.stream.HitItemsPayload;if(null!=t.point){if("object"!=typeof t.point)throw TypeError(".vertexvis.protobuf.stream.HitItemsPayload.point: object expected");e.point=$root.vertexvis.protobuf.stream.Point.fromObject(t.point)}return null!=t.includeMetadata&&(e.includeMetadata=Boolean(t.includeMetadata)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.point=null,r.includeMetadata=!1),null!=t.point&&t.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.Point.toObject(t.point,e)),null!=t.includeMetadata&&t.hasOwnProperty("includeMetadata")&&(r.includeMetadata=t.includeMetadata),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.CreateSceneAlterationPayload=function(){function t(t){if(this.operations=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.sceneViewId=null,t.prototype.operations=$util.emptyArray,t.prototype.suppliedCorrelationId=null,Object.defineProperty(t.prototype,"id",{get:$util.oneOfGetter(e=["sceneViewId"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.sceneViewId&&Object.hasOwnProperty.call(t,"sceneViewId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.sceneViewId,e.uint32(10).fork()).ldelim(),null!=t.operations&&t.operations.length)for(let r=0;r<t.operations.length;++r)$root.vertexvis.protobuf.stream.SceneOperation.encode(t.operations[r],e.uint32(18).fork()).ldelim();return null!=t.suppliedCorrelationId&&Object.hasOwnProperty.call(t,"suppliedCorrelationId")&&$root.google.protobuf.StringValue.encode(t.suppliedCorrelationId,e.uint32(26).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sceneViewId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.operations&&n.operations.length||(n.operations=[]),n.operations.push($root.vertexvis.protobuf.stream.SceneOperation.decode(t,t.uint32()));break;case 3:n.suppliedCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sceneViewId&&t.hasOwnProperty("sceneViewId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.sceneViewId);if(e)return"sceneViewId."+e}if(null!=t.operations&&t.hasOwnProperty("operations")){if(!Array.isArray(t.operations))return"operations: array expected";for(let e=0;e<t.operations.length;++e){let r=$root.vertexvis.protobuf.stream.SceneOperation.verify(t.operations[e]);if(r)return"operations."+r}}if(null!=t.suppliedCorrelationId&&t.hasOwnProperty("suppliedCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.suppliedCorrelationId);if(e)return"suppliedCorrelationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload)return t;let e=new $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload;if(null!=t.sceneViewId){if("object"!=typeof t.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.sceneViewId: object expected");e.sceneViewId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.sceneViewId)}if(t.operations){if(!Array.isArray(t.operations))throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: array expected");e.operations=[];for(let r=0;r<t.operations.length;++r){if("object"!=typeof t.operations[r])throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: object expected");e.operations[r]=$root.vertexvis.protobuf.stream.SceneOperation.fromObject(t.operations[r])}}if(null!=t.suppliedCorrelationId){if("object"!=typeof t.suppliedCorrelationId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.suppliedCorrelationId: object expected");e.suppliedCorrelationId=$root.google.protobuf.StringValue.fromObject(t.suppliedCorrelationId)}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.operations=[]),e.defaults&&(r.suppliedCorrelationId=null),null!=t.sceneViewId&&t.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root.vertexvis.protobuf.core.Uuid.toObject(t.sceneViewId,e),e.oneofs&&(r.id="sceneViewId")),t.operations&&t.operations.length){r.operations=[];for(let n=0;n<t.operations.length;++n)r.operations[n]=$root.vertexvis.protobuf.stream.SceneOperation.toObject(t.operations[n],e)}return null!=t.suppliedCorrelationId&&t.hasOwnProperty("suppliedCorrelationId")&&(r.suppliedCorrelationId=$root.google.protobuf.StringValue.toObject(t.suppliedCorrelationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.DrawFramePayload=function(){function t(t){if(this.frameCorrelationIds=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.sequenceNumber=0,t.prototype.sceneAttributes=null,t.prototype.imageAttributes=null,t.prototype.image=$util.newBuffer([]),t.prototype.frameCorrelationIds=$util.emptyArray,t.prototype.depthBuffer=null,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.sequenceNumber&&Object.hasOwnProperty.call(t,"sequenceNumber")&&e.uint32(8).uint32(t.sequenceNumber),null!=t.sceneAttributes&&Object.hasOwnProperty.call(t,"sceneAttributes")&&$root.vertexvis.protobuf.stream.SceneAttributes.encode(t.sceneAttributes,e.uint32(18).fork()).ldelim(),null!=t.imageAttributes&&Object.hasOwnProperty.call(t,"imageAttributes")&&$root.vertexvis.protobuf.stream.ImageAttributes.encode(t.imageAttributes,e.uint32(26).fork()).ldelim(),null!=t.image&&Object.hasOwnProperty.call(t,"image")&&e.uint32(34).bytes(t.image),null!=t.frameCorrelationIds&&t.frameCorrelationIds.length)for(let r=0;r<t.frameCorrelationIds.length;++r)e.uint32(42).string(t.frameCorrelationIds[r]);return null!=t.depthBuffer&&Object.hasOwnProperty.call(t,"depthBuffer")&&$root.google.protobuf.BytesValue.encode(t.depthBuffer,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.DrawFramePayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sequenceNumber=t.uint32();break;case 2:n.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.decode(t,t.uint32());break;case 3:n.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.decode(t,t.uint32());break;case 4:n.image=t.bytes();break;case 5:n.frameCorrelationIds&&n.frameCorrelationIds.length||(n.frameCorrelationIds=[]),n.frameCorrelationIds.push(t.string());break;case 6:n.depthBuffer=$root.google.protobuf.BytesValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sequenceNumber&&t.hasOwnProperty("sequenceNumber")&&!$util.isInteger(t.sequenceNumber))return"sequenceNumber: integer expected";if(null!=t.sceneAttributes&&t.hasOwnProperty("sceneAttributes")){let e=$root.vertexvis.protobuf.stream.SceneAttributes.verify(t.sceneAttributes);if(e)return"sceneAttributes."+e}if(null!=t.imageAttributes&&t.hasOwnProperty("imageAttributes")){let e=$root.vertexvis.protobuf.stream.ImageAttributes.verify(t.imageAttributes);if(e)return"imageAttributes."+e}if(null!=t.image&&t.hasOwnProperty("image")&&!(t.image&&"number"==typeof t.image.length||$util.isString(t.image)))return"image: buffer expected";if(null!=t.frameCorrelationIds&&t.hasOwnProperty("frameCorrelationIds")){if(!Array.isArray(t.frameCorrelationIds))return"frameCorrelationIds: array expected";for(let e=0;e<t.frameCorrelationIds.length;++e)if(!$util.isString(t.frameCorrelationIds[e]))return"frameCorrelationIds: string[] expected"}if(null!=t.depthBuffer&&t.hasOwnProperty("depthBuffer")){let e=$root.google.protobuf.BytesValue.verify(t.depthBuffer);if(e)return"depthBuffer."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.DrawFramePayload)return t;let e=new $root.vertexvis.protobuf.stream.DrawFramePayload;if(null!=t.sequenceNumber&&(e.sequenceNumber=t.sequenceNumber>>>0),null!=t.sceneAttributes){if("object"!=typeof t.sceneAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.sceneAttributes: object expected");e.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.fromObject(t.sceneAttributes)}if(null!=t.imageAttributes){if("object"!=typeof t.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.imageAttributes: object expected");e.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.fromObject(t.imageAttributes)}if(null!=t.image&&("string"==typeof t.image?$util.base64.decode(t.image,e.image=$util.newBuffer($util.base64.length(t.image)),0):t.image.length&&(e.image=t.image)),t.frameCorrelationIds){if(!Array.isArray(t.frameCorrelationIds))throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.frameCorrelationIds: array expected");e.frameCorrelationIds=[];for(let r=0;r<t.frameCorrelationIds.length;++r)e.frameCorrelationIds[r]=String(t.frameCorrelationIds[r])}if(null!=t.depthBuffer){if("object"!=typeof t.depthBuffer)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.depthBuffer: object expected");e.depthBuffer=$root.google.protobuf.BytesValue.fromObject(t.depthBuffer)}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.frameCorrelationIds=[]),e.defaults&&(r.sequenceNumber=0,r.sceneAttributes=null,r.imageAttributes=null,e.bytes===String?r.image="":(r.image=[],e.bytes!==Array&&(r.image=$util.newBuffer(r.image))),r.depthBuffer=null),null!=t.sequenceNumber&&t.hasOwnProperty("sequenceNumber")&&(r.sequenceNumber=t.sequenceNumber),null!=t.sceneAttributes&&t.hasOwnProperty("sceneAttributes")&&(r.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.toObject(t.sceneAttributes,e)),null!=t.imageAttributes&&t.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.toObject(t.imageAttributes,e)),null!=t.image&&t.hasOwnProperty("image")&&(r.image=e.bytes===String?$util.base64.encode(t.image,0,t.image.length):e.bytes===Array?Array.prototype.slice.call(t.image):t.image),t.frameCorrelationIds&&t.frameCorrelationIds.length){r.frameCorrelationIds=[];for(let e=0;e<t.frameCorrelationIds.length;++e)r.frameCorrelationIds[e]=t.frameCorrelationIds[e]}return null!=t.depthBuffer&&t.hasOwnProperty("depthBuffer")&&(r.depthBuffer=$root.google.protobuf.BytesValue.toObject(t.depthBuffer,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SyncTimePayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.requestTime=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.requestTime&&Object.hasOwnProperty.call(t,"requestTime")&&$root.google.protobuf.Timestamp.encode(t.requestTime,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SyncTimePayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.requestTime=$root.google.protobuf.Timestamp.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.requestTime&&t.hasOwnProperty("requestTime")){let e=$root.google.protobuf.Timestamp.verify(t.requestTime);if(e)return"requestTime."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SyncTimePayload)return t;let e=new $root.vertexvis.protobuf.stream.SyncTimePayload;if(null!=t.requestTime){if("object"!=typeof t.requestTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimePayload.requestTime: object expected");e.requestTime=$root.google.protobuf.Timestamp.fromObject(t.requestTime)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.requestTime=null),null!=t.requestTime&&t.hasOwnProperty("requestTime")&&(r.requestTime=$root.google.protobuf.Timestamp.toObject(t.requestTime,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.RecordPerformancePayload=function(){function t(t){if(this.timings=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.timings=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.timings&&t.timings.length)for(let r=0;r<t.timings.length;++r)$root.vertexvis.protobuf.stream.PerformanceTiming.encode(t.timings[r],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.RecordPerformancePayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.timings&&n.timings.length||(n.timings=[]),n.timings.push($root.vertexvis.protobuf.stream.PerformanceTiming.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.timings&&t.hasOwnProperty("timings")){if(!Array.isArray(t.timings))return"timings: array expected";for(let e=0;e<t.timings.length;++e){let r=$root.vertexvis.protobuf.stream.PerformanceTiming.verify(t.timings[e]);if(r)return"timings."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.RecordPerformancePayload)return t;let e=new $root.vertexvis.protobuf.stream.RecordPerformancePayload;if(t.timings){if(!Array.isArray(t.timings))throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: array expected");e.timings=[];for(let r=0;r<t.timings.length;++r){if("object"!=typeof t.timings[r])throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: object expected");e.timings[r]=$root.vertexvis.protobuf.stream.PerformanceTiming.fromObject(t.timings[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.timings=[]),t.timings&&t.timings.length){r.timings=[];for(let n=0;n<t.timings.length;++n)r.timings[n]=$root.vertexvis.protobuf.stream.PerformanceTiming.toObject(t.timings[n],e)}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateStreamPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.frameCorrelationId=null,t.prototype.streamAttributes=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(10).fork()).ldelim(),null!=t.streamAttributes&&Object.hasOwnProperty.call(t,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(t.streamAttributes,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateStreamPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 2:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}if(null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")){let e=$root.vertexvis.protobuf.stream.StreamAttributes.verify(t.streamAttributes);if(e)return"streamAttributes."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateStreamPayload)return t;let e=new $root.vertexvis.protobuf.stream.UpdateStreamPayload;if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}if(null!=t.streamAttributes){if("object"!=typeof t.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.streamAttributes: object expected");e.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(t.streamAttributes)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.frameCorrelationId=null,r.streamAttributes=null),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),null!=t.streamAttributes&&t.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(t.streamAttributes,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.FlyToPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.frameCorrelationId=null,t.prototype.animation=null,t.prototype.itemId=null,t.prototype.itemSuppliedId="",t.prototype.boundingBox=null,t.prototype.camera=null,Object.defineProperty(t.prototype,"flyToType",{get:$util.oneOfGetter(e=["itemId","itemSuppliedId","boundingBox","camera"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(10).fork()).ldelim(),null!=t.animation&&Object.hasOwnProperty.call(t,"animation")&&$root.vertexvis.protobuf.stream.AnimationAttributes.encode(t.animation,e.uint32(18).fork()).ldelim(),null!=t.itemId&&Object.hasOwnProperty.call(t,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.itemId,e.uint32(26).fork()).ldelim(),null!=t.itemSuppliedId&&Object.hasOwnProperty.call(t,"itemSuppliedId")&&e.uint32(34).string(t.itemSuppliedId),null!=t.boundingBox&&Object.hasOwnProperty.call(t,"boundingBox")&&$root.vertexvis.protobuf.core.BoundingBox3f.encode(t.boundingBox,e.uint32(42).fork()).ldelim(),null!=t.camera&&Object.hasOwnProperty.call(t,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(t.camera,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.FlyToPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 2:n.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.decode(t,t.uint32());break;case 3:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 4:n.itemSuppliedId=t.string();break;case 5:n.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.decode(t,t.uint32());break;case 6:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}if(null!=t.animation&&t.hasOwnProperty("animation")){let e=$root.vertexvis.protobuf.stream.AnimationAttributes.verify(t.animation);if(e)return"animation."+e}if(null!=t.itemId&&t.hasOwnProperty("itemId")){e.flyToType=1;{let e=$root.vertexvis.protobuf.core.Uuid.verify(t.itemId);if(e)return"itemId."+e}}if(null!=t.itemSuppliedId&&t.hasOwnProperty("itemSuppliedId")){if(1===e.flyToType)return"flyToType: multiple values";if(e.flyToType=1,!$util.isString(t.itemSuppliedId))return"itemSuppliedId: string expected"}if(null!=t.boundingBox&&t.hasOwnProperty("boundingBox")){if(1===e.flyToType)return"flyToType: multiple values";e.flyToType=1;{let e=$root.vertexvis.protobuf.core.BoundingBox3f.verify(t.boundingBox);if(e)return"boundingBox."+e}}if(null!=t.camera&&t.hasOwnProperty("camera")){if(1===e.flyToType)return"flyToType: multiple values";e.flyToType=1;{let e=$root.vertexvis.protobuf.stream.Camera.verify(t.camera);if(e)return"camera."+e}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.FlyToPayload)return t;let e=new $root.vertexvis.protobuf.stream.FlyToPayload;if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}if(null!=t.animation){if("object"!=typeof t.animation)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.animation: object expected");e.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.fromObject(t.animation)}if(null!=t.itemId){if("object"!=typeof t.itemId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.itemId: object expected");e.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.itemId)}if(null!=t.itemSuppliedId&&(e.itemSuppliedId=String(t.itemSuppliedId)),null!=t.boundingBox){if("object"!=typeof t.boundingBox)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.boundingBox: object expected");e.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.fromObject(t.boundingBox)}if(null!=t.camera){if("object"!=typeof t.camera)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.camera: object expected");e.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(t.camera)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.frameCorrelationId=null,r.animation=null),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),null!=t.animation&&t.hasOwnProperty("animation")&&(r.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.toObject(t.animation,e)),null!=t.itemId&&t.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(t.itemId,e),e.oneofs&&(r.flyToType="itemId")),null!=t.itemSuppliedId&&t.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=t.itemSuppliedId,e.oneofs&&(r.flyToType="itemSuppliedId")),null!=t.boundingBox&&t.hasOwnProperty("boundingBox")&&(r.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.toObject(t.boundingBox,e),e.oneofs&&(r.flyToType="boundingBox")),null!=t.camera&&t.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(t.camera,e),e.oneofs&&(r.flyToType="camera")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.LoadSceneViewStatePayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.sceneViewStateId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.sceneViewStateId&&Object.hasOwnProperty.call(t,"sceneViewStateId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.sceneViewStateId,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sceneViewStateId&&t.hasOwnProperty("sceneViewStateId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.sceneViewStateId);if(e)return"sceneViewStateId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload)return t;let e=new $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload;if(null!=t.sceneViewStateId){if("object"!=typeof t.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.LoadSceneViewStatePayload.sceneViewStateId: object expected");e.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.sceneViewStateId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.sceneViewStateId=null),null!=t.sceneViewStateId&&t.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.toObject(t.sceneViewStateId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateCrossSectioningPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.crossSectioning=null,t.prototype.frameCorrelationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.crossSectioning&&Object.hasOwnProperty.call(t,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(t.crossSectioning,e.uint32(10).fork()).ldelim(),null!=t.frameCorrelationId&&Object.hasOwnProperty.call(t,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(t.frameCorrelationId,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(t,t.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")){let e=$root.vertexvis.protobuf.stream.CrossSectioning.verify(t.crossSectioning);if(e)return"crossSectioning."+e}if(null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")){let e=$root.google.protobuf.StringValue.verify(t.frameCorrelationId);if(e)return"frameCorrelationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload)return t;let e=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;if(null!=t.crossSectioning){if("object"!=typeof t.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.crossSectioning: object expected");e.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(t.crossSectioning)}if(null!=t.frameCorrelationId){if("object"!=typeof t.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.frameCorrelationId: object expected");e.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(t.frameCorrelationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.crossSectioning=null,r.frameCorrelationId=null),null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(t.crossSectioning,e)),null!=t.frameCorrelationId&&t.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(t.frameCorrelationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.GetStencilBufferPayload=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.GetStencilBufferPayload;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.GetStencilBufferPayload?t:new $root.vertexvis.protobuf.stream.GetStencilBufferPayload},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StreamResponse=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.requestId=null,t.prototype.error=null,t.prototype.startStream=null,t.prototype.updateCamera=null,t.prototype.beginInteraction=null,t.prototype.endInteraction=null,t.prototype.reconnect=null,t.prototype.hitItems=null,t.prototype.drawFrame=null,t.prototype.syncTime=null,t.prototype.recordPerformance=null,t.prototype.updateDimensions=null,t.prototype.updateStream=null,t.prototype.flyTo=null,t.prototype.loadSceneViewState=null,t.prototype.updateCrossSectioning=null,t.prototype.stencilBuffer=null,Object.defineProperty(t.prototype,"result",{get:$util.oneOfGetter(e=["startStream","updateCamera","beginInteraction","endInteraction","reconnect","hitItems","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","stencilBuffer"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&$root.google.protobuf.StringValue.encode(t.requestId,e.uint32(10).fork()).ldelim(),null!=t.error&&Object.hasOwnProperty.call(t,"error")&&$root.vertexvis.protobuf.stream.Error.encode(t.error,e.uint32(18).fork()).ldelim(),null!=t.startStream&&Object.hasOwnProperty.call(t,"startStream")&&$root.vertexvis.protobuf.stream.StartStreamResult.encode(t.startStream,e.uint32(26).fork()).ldelim(),null!=t.updateCamera&&Object.hasOwnProperty.call(t,"updateCamera")&&$root.vertexvis.protobuf.stream.UpdateCameraResult.encode(t.updateCamera,e.uint32(34).fork()).ldelim(),null!=t.beginInteraction&&Object.hasOwnProperty.call(t,"beginInteraction")&&$root.vertexvis.protobuf.stream.BeginInteractionResult.encode(t.beginInteraction,e.uint32(42).fork()).ldelim(),null!=t.endInteraction&&Object.hasOwnProperty.call(t,"endInteraction")&&$root.vertexvis.protobuf.stream.EndInteractionResult.encode(t.endInteraction,e.uint32(50).fork()).ldelim(),null!=t.reconnect&&Object.hasOwnProperty.call(t,"reconnect")&&$root.vertexvis.protobuf.stream.ReconnectResult.encode(t.reconnect,e.uint32(58).fork()).ldelim(),null!=t.hitItems&&Object.hasOwnProperty.call(t,"hitItems")&&$root.vertexvis.protobuf.stream.HitItemsResult.encode(t.hitItems,e.uint32(66).fork()).ldelim(),null!=t.drawFrame&&Object.hasOwnProperty.call(t,"drawFrame")&&$root.vertexvis.protobuf.stream.DrawFrameResult.encode(t.drawFrame,e.uint32(74).fork()).ldelim(),null!=t.syncTime&&Object.hasOwnProperty.call(t,"syncTime")&&$root.vertexvis.protobuf.stream.SyncTimeResult.encode(t.syncTime,e.uint32(82).fork()).ldelim(),null!=t.recordPerformance&&Object.hasOwnProperty.call(t,"recordPerformance")&&$root.vertexvis.protobuf.stream.RecordPerformanceResult.encode(t.recordPerformance,e.uint32(90).fork()).ldelim(),null!=t.updateDimensions&&Object.hasOwnProperty.call(t,"updateDimensions")&&$root.vertexvis.protobuf.stream.UpdateDimensionsResult.encode(t.updateDimensions,e.uint32(98).fork()).ldelim(),null!=t.updateStream&&Object.hasOwnProperty.call(t,"updateStream")&&$root.vertexvis.protobuf.stream.UpdateStreamResult.encode(t.updateStream,e.uint32(106).fork()).ldelim(),null!=t.flyTo&&Object.hasOwnProperty.call(t,"flyTo")&&$root.vertexvis.protobuf.stream.FlyToResult.encode(t.flyTo,e.uint32(114).fork()).ldelim(),null!=t.loadSceneViewState&&Object.hasOwnProperty.call(t,"loadSceneViewState")&&$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.encode(t.loadSceneViewState,e.uint32(122).fork()).ldelim(),null!=t.updateCrossSectioning&&Object.hasOwnProperty.call(t,"updateCrossSectioning")&&$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.encode(t.updateCrossSectioning,e.uint32(130).fork()).ldelim(),null!=t.stencilBuffer&&Object.hasOwnProperty.call(t,"stencilBuffer")&&$root.vertexvis.protobuf.stream.GetStencilBufferResult.encode(t.stencilBuffer,e.uint32(138).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StreamResponse;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.requestId=$root.google.protobuf.StringValue.decode(t,t.uint32());break;case 2:n.error=$root.vertexvis.protobuf.stream.Error.decode(t,t.uint32());break;case 3:n.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.decode(t,t.uint32());break;case 4:n.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.decode(t,t.uint32());break;case 5:n.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.decode(t,t.uint32());break;case 6:n.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.decode(t,t.uint32());break;case 7:n.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.decode(t,t.uint32());break;case 8:n.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.decode(t,t.uint32());break;case 9:n.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.decode(t,t.uint32());break;case 10:n.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.decode(t,t.uint32());break;case 11:n.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.decode(t,t.uint32());break;case 12:n.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.decode(t,t.uint32());break;case 13:n.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.decode(t,t.uint32());break;case 14:n.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.decode(t,t.uint32());break;case 15:n.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.decode(t,t.uint32());break;case 16:n.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.decode(t,t.uint32());break;case 17:n.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";let e={};if(null!=t.requestId&&t.hasOwnProperty("requestId")){let e=$root.google.protobuf.StringValue.verify(t.requestId);if(e)return"requestId."+e}if(null!=t.error&&t.hasOwnProperty("error")){let e=$root.vertexvis.protobuf.stream.Error.verify(t.error);if(e)return"error."+e}if(null!=t.startStream&&t.hasOwnProperty("startStream")){e.result=1;{let e=$root.vertexvis.protobuf.stream.StartStreamResult.verify(t.startStream);if(e)return"startStream."+e}}if(null!=t.updateCamera&&t.hasOwnProperty("updateCamera")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.UpdateCameraResult.verify(t.updateCamera);if(e)return"updateCamera."+e}}if(null!=t.beginInteraction&&t.hasOwnProperty("beginInteraction")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.BeginInteractionResult.verify(t.beginInteraction);if(e)return"beginInteraction."+e}}if(null!=t.endInteraction&&t.hasOwnProperty("endInteraction")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.EndInteractionResult.verify(t.endInteraction);if(e)return"endInteraction."+e}}if(null!=t.reconnect&&t.hasOwnProperty("reconnect")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.ReconnectResult.verify(t.reconnect);if(e)return"reconnect."+e}}if(null!=t.hitItems&&t.hasOwnProperty("hitItems")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.HitItemsResult.verify(t.hitItems);if(e)return"hitItems."+e}}if(null!=t.drawFrame&&t.hasOwnProperty("drawFrame")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.DrawFrameResult.verify(t.drawFrame);if(e)return"drawFrame."+e}}if(null!=t.syncTime&&t.hasOwnProperty("syncTime")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.SyncTimeResult.verify(t.syncTime);if(e)return"syncTime."+e}}if(null!=t.recordPerformance&&t.hasOwnProperty("recordPerformance")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.RecordPerformanceResult.verify(t.recordPerformance);if(e)return"recordPerformance."+e}}if(null!=t.updateDimensions&&t.hasOwnProperty("updateDimensions")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.verify(t.updateDimensions);if(e)return"updateDimensions."+e}}if(null!=t.updateStream&&t.hasOwnProperty("updateStream")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.UpdateStreamResult.verify(t.updateStream);if(e)return"updateStream."+e}}if(null!=t.flyTo&&t.hasOwnProperty("flyTo")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.FlyToResult.verify(t.flyTo);if(e)return"flyTo."+e}}if(null!=t.loadSceneViewState&&t.hasOwnProperty("loadSceneViewState")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.verify(t.loadSceneViewState);if(e)return"loadSceneViewState."+e}}if(null!=t.updateCrossSectioning&&t.hasOwnProperty("updateCrossSectioning")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.verify(t.updateCrossSectioning);if(e)return"updateCrossSectioning."+e}}if(null!=t.stencilBuffer&&t.hasOwnProperty("stencilBuffer")){if(1===e.result)return"result: multiple values";e.result=1;{let e=$root.vertexvis.protobuf.stream.GetStencilBufferResult.verify(t.stencilBuffer);if(e)return"stencilBuffer."+e}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StreamResponse)return t;let e=new $root.vertexvis.protobuf.stream.StreamResponse;if(null!=t.requestId){if("object"!=typeof t.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.requestId: object expected");e.requestId=$root.google.protobuf.StringValue.fromObject(t.requestId)}if(null!=t.error){if("object"!=typeof t.error)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.error: object expected");e.error=$root.vertexvis.protobuf.stream.Error.fromObject(t.error)}if(null!=t.startStream){if("object"!=typeof t.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.startStream: object expected");e.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.fromObject(t.startStream)}if(null!=t.updateCamera){if("object"!=typeof t.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCamera: object expected");e.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.fromObject(t.updateCamera)}if(null!=t.beginInteraction){if("object"!=typeof t.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.beginInteraction: object expected");e.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.fromObject(t.beginInteraction)}if(null!=t.endInteraction){if("object"!=typeof t.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.endInteraction: object expected");e.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.fromObject(t.endInteraction)}if(null!=t.reconnect){if("object"!=typeof t.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.reconnect: object expected");e.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.fromObject(t.reconnect)}if(null!=t.hitItems){if("object"!=typeof t.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.hitItems: object expected");e.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.fromObject(t.hitItems)}if(null!=t.drawFrame){if("object"!=typeof t.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.drawFrame: object expected");e.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.fromObject(t.drawFrame)}if(null!=t.syncTime){if("object"!=typeof t.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.syncTime: object expected");e.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.fromObject(t.syncTime)}if(null!=t.recordPerformance){if("object"!=typeof t.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.recordPerformance: object expected");e.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.fromObject(t.recordPerformance)}if(null!=t.updateDimensions){if("object"!=typeof t.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateDimensions: object expected");e.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.fromObject(t.updateDimensions)}if(null!=t.updateStream){if("object"!=typeof t.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateStream: object expected");e.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.fromObject(t.updateStream)}if(null!=t.flyTo){if("object"!=typeof t.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.flyTo: object expected");e.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.fromObject(t.flyTo)}if(null!=t.loadSceneViewState){if("object"!=typeof t.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.loadSceneViewState: object expected");e.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.fromObject(t.loadSceneViewState)}if(null!=t.updateCrossSectioning){if("object"!=typeof t.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCrossSectioning: object expected");e.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.fromObject(t.updateCrossSectioning)}if(null!=t.stencilBuffer){if("object"!=typeof t.stencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.stencilBuffer: object expected");e.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.fromObject(t.stencilBuffer)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.requestId=null,r.error=null),null!=t.requestId&&t.hasOwnProperty("requestId")&&(r.requestId=$root.google.protobuf.StringValue.toObject(t.requestId,e)),null!=t.error&&t.hasOwnProperty("error")&&(r.error=$root.vertexvis.protobuf.stream.Error.toObject(t.error,e)),null!=t.startStream&&t.hasOwnProperty("startStream")&&(r.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.toObject(t.startStream,e),e.oneofs&&(r.result="startStream")),null!=t.updateCamera&&t.hasOwnProperty("updateCamera")&&(r.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.toObject(t.updateCamera,e),e.oneofs&&(r.result="updateCamera")),null!=t.beginInteraction&&t.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.toObject(t.beginInteraction,e),e.oneofs&&(r.result="beginInteraction")),null!=t.endInteraction&&t.hasOwnProperty("endInteraction")&&(r.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.toObject(t.endInteraction,e),e.oneofs&&(r.result="endInteraction")),null!=t.reconnect&&t.hasOwnProperty("reconnect")&&(r.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.toObject(t.reconnect,e),e.oneofs&&(r.result="reconnect")),null!=t.hitItems&&t.hasOwnProperty("hitItems")&&(r.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.toObject(t.hitItems,e),e.oneofs&&(r.result="hitItems")),null!=t.drawFrame&&t.hasOwnProperty("drawFrame")&&(r.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.toObject(t.drawFrame,e),e.oneofs&&(r.result="drawFrame")),null!=t.syncTime&&t.hasOwnProperty("syncTime")&&(r.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.toObject(t.syncTime,e),e.oneofs&&(r.result="syncTime")),null!=t.recordPerformance&&t.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.toObject(t.recordPerformance,e),e.oneofs&&(r.result="recordPerformance")),null!=t.updateDimensions&&t.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.toObject(t.updateDimensions,e),e.oneofs&&(r.result="updateDimensions")),null!=t.updateStream&&t.hasOwnProperty("updateStream")&&(r.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.toObject(t.updateStream,e),e.oneofs&&(r.result="updateStream")),null!=t.flyTo&&t.hasOwnProperty("flyTo")&&(r.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.toObject(t.flyTo,e),e.oneofs&&(r.result="flyTo")),null!=t.loadSceneViewState&&t.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.toObject(t.loadSceneViewState,e),e.oneofs&&(r.result="loadSceneViewState")),null!=t.updateCrossSectioning&&t.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.toObject(t.updateCrossSectioning,e),e.oneofs&&(r.result="updateCrossSectioning")),null!=t.stencilBuffer&&t.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.toObject(t.stencilBuffer,e),e.oneofs&&(r.result="stencilBuffer")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StartStreamResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.streamId=null,t.prototype.sceneViewId=null,t.prototype.sessionId=null,t.prototype.jwt="",t.prototype.worldOrientation=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.streamId&&Object.hasOwnProperty.call(t,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.streamId,e.uint32(10).fork()).ldelim(),null!=t.sceneViewId&&Object.hasOwnProperty.call(t,"sceneViewId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.sceneViewId,e.uint32(18).fork()).ldelim(),null!=t.sessionId&&Object.hasOwnProperty.call(t,"sessionId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.sessionId,e.uint32(26).fork()).ldelim(),null!=t.jwt&&Object.hasOwnProperty.call(t,"jwt")&&e.uint32(34).string(t.jwt),null!=t.worldOrientation&&Object.hasOwnProperty.call(t,"worldOrientation")&&$root.vertexvis.protobuf.stream.Orientation.encode(t.worldOrientation,e.uint32(42).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StartStreamResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 2:n.sceneViewId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 3:n.sessionId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;case 4:n.jwt=t.string();break;case 5:n.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.streamId&&t.hasOwnProperty("streamId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.streamId);if(e)return"streamId."+e}if(null!=t.sceneViewId&&t.hasOwnProperty("sceneViewId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.sceneViewId);if(e)return"sceneViewId."+e}if(null!=t.sessionId&&t.hasOwnProperty("sessionId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.sessionId);if(e)return"sessionId."+e}if(null!=t.jwt&&t.hasOwnProperty("jwt")&&!$util.isString(t.jwt))return"jwt: string expected";if(null!=t.worldOrientation&&t.hasOwnProperty("worldOrientation")){let e=$root.vertexvis.protobuf.stream.Orientation.verify(t.worldOrientation);if(e)return"worldOrientation."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StartStreamResult)return t;let e=new $root.vertexvis.protobuf.stream.StartStreamResult;if(null!=t.streamId){if("object"!=typeof t.streamId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.streamId: object expected");e.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.streamId)}if(null!=t.sceneViewId){if("object"!=typeof t.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sceneViewId: object expected");e.sceneViewId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.sceneViewId)}if(null!=t.sessionId){if("object"!=typeof t.sessionId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sessionId: object expected");e.sessionId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.sessionId)}if(null!=t.jwt&&(e.jwt=String(t.jwt)),null!=t.worldOrientation){if("object"!=typeof t.worldOrientation)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.worldOrientation: object expected");e.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.fromObject(t.worldOrientation)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.streamId=null,r.sceneViewId=null,r.sessionId=null,r.jwt="",r.worldOrientation=null),null!=t.streamId&&t.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(t.streamId,e)),null!=t.sceneViewId&&t.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root.vertexvis.protobuf.core.Uuid.toObject(t.sceneViewId,e)),null!=t.sessionId&&t.hasOwnProperty("sessionId")&&(r.sessionId=$root.vertexvis.protobuf.core.Uuid.toObject(t.sessionId,e)),null!=t.jwt&&t.hasOwnProperty("jwt")&&(r.jwt=t.jwt),null!=t.worldOrientation&&t.hasOwnProperty("worldOrientation")&&(r.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.toObject(t.worldOrientation,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateCameraResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.camera=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.camera&&Object.hasOwnProperty.call(t,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(t.camera,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateCameraResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.camera&&t.hasOwnProperty("camera")){let e=$root.vertexvis.protobuf.stream.Camera.verify(t.camera);if(e)return"camera."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateCameraResult)return t;let e=new $root.vertexvis.protobuf.stream.UpdateCameraResult;if(null!=t.camera){if("object"!=typeof t.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraResult.camera: object expected");e.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(t.camera)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.camera=null),null!=t.camera&&t.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(t.camera,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateDimensionsResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.dimensions=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.dimensions&&Object.hasOwnProperty.call(t,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(t.dimensions,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateDimensionsResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.dimensions&&t.hasOwnProperty("dimensions")){let e=$root.vertexvis.protobuf.stream.Dimensions.verify(t.dimensions);if(e)return"dimensions."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateDimensionsResult)return t;let e=new $root.vertexvis.protobuf.stream.UpdateDimensionsResult;if(null!=t.dimensions){if("object"!=typeof t.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsResult.dimensions: object expected");e.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(t.dimensions)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.dimensions=null),null!=t.dimensions&&t.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(t.dimensions,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.BeginInteractionResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.BeginInteractionResult;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.BeginInteractionResult?t:new $root.vertexvis.protobuf.stream.BeginInteractionResult},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.EndInteractionResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.EndInteractionResult;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.EndInteractionResult?t:new $root.vertexvis.protobuf.stream.EndInteractionResult},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ReconnectResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.jwt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.jwt&&Object.hasOwnProperty.call(t,"jwt")&&e.uint32(10).string(t.jwt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.ReconnectResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.jwt=t.string();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.jwt&&t.hasOwnProperty("jwt")&&!$util.isString(t.jwt)?"jwt: string expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.ReconnectResult)return t;let e=new $root.vertexvis.protobuf.stream.ReconnectResult;return null!=t.jwt&&(e.jwt=String(t.jwt)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.jwt=""),null!=t.jwt&&t.hasOwnProperty("jwt")&&(r.jwt=t.jwt),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.HitItemsResult=function(){function t(t){if(this.hits=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.hits=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.hits&&t.hits.length)for(let r=0;r<t.hits.length;++r)$root.vertexvis.protobuf.stream.Hit.encode(t.hits[r],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.HitItemsResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.hits&&n.hits.length||(n.hits=[]),n.hits.push($root.vertexvis.protobuf.stream.Hit.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.hits&&t.hasOwnProperty("hits")){if(!Array.isArray(t.hits))return"hits: array expected";for(let e=0;e<t.hits.length;++e){let r=$root.vertexvis.protobuf.stream.Hit.verify(t.hits[e]);if(r)return"hits."+r}}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.HitItemsResult)return t;let e=new $root.vertexvis.protobuf.stream.HitItemsResult;if(t.hits){if(!Array.isArray(t.hits))throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: array expected");e.hits=[];for(let r=0;r<t.hits.length;++r){if("object"!=typeof t.hits[r])throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: object expected");e.hits[r]=$root.vertexvis.protobuf.stream.Hit.fromObject(t.hits[r])}}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.hits=[]),t.hits&&t.hits.length){r.hits=[];for(let n=0;n<t.hits.length;++n)r.hits[n]=$root.vertexvis.protobuf.stream.Hit.toObject(t.hits[n],e)}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.SyncTimeResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.replyTime=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.replyTime&&Object.hasOwnProperty.call(t,"replyTime")&&$root.google.protobuf.Timestamp.encode(t.replyTime,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.SyncTimeResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.replyTime=$root.google.protobuf.Timestamp.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.replyTime&&t.hasOwnProperty("replyTime")){let e=$root.google.protobuf.Timestamp.verify(t.replyTime);if(e)return"replyTime."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.SyncTimeResult)return t;let e=new $root.vertexvis.protobuf.stream.SyncTimeResult;if(null!=t.replyTime){if("object"!=typeof t.replyTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimeResult.replyTime: object expected");e.replyTime=$root.google.protobuf.Timestamp.fromObject(t.replyTime)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.replyTime=null),null!=t.replyTime&&t.hasOwnProperty("replyTime")&&(r.replyTime=$root.google.protobuf.Timestamp.toObject(t.replyTime,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.DrawFrameResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.sendToReceiveDuration=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.sendToReceiveDuration&&Object.hasOwnProperty.call(t,"sendToReceiveDuration")&&$root.google.protobuf.Duration.encode(t.sendToReceiveDuration,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.DrawFrameResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.sendToReceiveDuration=$root.google.protobuf.Duration.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sendToReceiveDuration&&t.hasOwnProperty("sendToReceiveDuration")){let e=$root.google.protobuf.Duration.verify(t.sendToReceiveDuration);if(e)return"sendToReceiveDuration."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.DrawFrameResult)return t;let e=new $root.vertexvis.protobuf.stream.DrawFrameResult;if(null!=t.sendToReceiveDuration){if("object"!=typeof t.sendToReceiveDuration)throw TypeError(".vertexvis.protobuf.stream.DrawFrameResult.sendToReceiveDuration: object expected");e.sendToReceiveDuration=$root.google.protobuf.Duration.fromObject(t.sendToReceiveDuration)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.sendToReceiveDuration=null),null!=t.sendToReceiveDuration&&t.hasOwnProperty("sendToReceiveDuration")&&(r.sendToReceiveDuration=$root.google.protobuf.Duration.toObject(t.sendToReceiveDuration,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.RecordPerformanceResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.RecordPerformanceResult;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.RecordPerformanceResult?t:new $root.vertexvis.protobuf.stream.RecordPerformanceResult},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateStreamResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateStreamResult;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.UpdateStreamResult?t:new $root.vertexvis.protobuf.stream.UpdateStreamResult},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.FlyToResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.animationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.animationId&&Object.hasOwnProperty.call(t,"animationId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.animationId,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.FlyToResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.animationId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.animationId&&t.hasOwnProperty("animationId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.animationId);if(e)return"animationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.FlyToResult)return t;let e=new $root.vertexvis.protobuf.stream.FlyToResult;if(null!=t.animationId){if("object"!=typeof t.animationId)throw TypeError(".vertexvis.protobuf.stream.FlyToResult.animationId: object expected");e.animationId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.animationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.animationId=null),null!=t.animationId&&t.hasOwnProperty("animationId")&&(r.animationId=$root.vertexvis.protobuf.core.Uuid.toObject(t.animationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.LoadSceneViewStateResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.LoadSceneViewStateResult;for(;t.pos<r;){let e=t.uint32();t.skipType(7&e)}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null},t.fromObject=function(t){return t instanceof $root.vertexvis.protobuf.stream.LoadSceneViewStateResult?t:new $root.vertexvis.protobuf.stream.LoadSceneViewStateResult},t.toObject=function(){return{}},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.GetStencilBufferResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.stencilBuffer=$util.newBuffer([]),t.prototype.imageAttributes=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.stencilBuffer&&Object.hasOwnProperty.call(t,"stencilBuffer")&&e.uint32(10).bytes(t.stencilBuffer),null!=t.imageAttributes&&Object.hasOwnProperty.call(t,"imageAttributes")&&$root.vertexvis.protobuf.stream.ImageAttributes.encode(t.imageAttributes,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.GetStencilBufferResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.stencilBuffer=t.bytes();break;case 2:n.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.stencilBuffer&&t.hasOwnProperty("stencilBuffer")&&!(t.stencilBuffer&&"number"==typeof t.stencilBuffer.length||$util.isString(t.stencilBuffer)))return"stencilBuffer: buffer expected";if(null!=t.imageAttributes&&t.hasOwnProperty("imageAttributes")){let e=$root.vertexvis.protobuf.stream.ImageAttributes.verify(t.imageAttributes);if(e)return"imageAttributes."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.GetStencilBufferResult)return t;let e=new $root.vertexvis.protobuf.stream.GetStencilBufferResult;if(null!=t.stencilBuffer&&("string"==typeof t.stencilBuffer?$util.base64.decode(t.stencilBuffer,e.stencilBuffer=$util.newBuffer($util.base64.length(t.stencilBuffer)),0):t.stencilBuffer.length&&(e.stencilBuffer=t.stencilBuffer)),null!=t.imageAttributes){if("object"!=typeof t.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.GetStencilBufferResult.imageAttributes: object expected");e.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.fromObject(t.imageAttributes)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(e.bytes===String?r.stencilBuffer="":(r.stencilBuffer=[],e.bytes!==Array&&(r.stencilBuffer=$util.newBuffer(r.stencilBuffer))),r.imageAttributes=null),null!=t.stencilBuffer&&t.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=e.bytes===String?$util.base64.encode(t.stencilBuffer,0,t.stencilBuffer.length):e.bytes===Array?Array.prototype.slice.call(t.stencilBuffer):t.stencilBuffer),null!=t.imageAttributes&&t.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.toObject(t.imageAttributes,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StreamEvent=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}let e;return t.prototype.animationCompleted=null,Object.defineProperty(t.prototype,"event",{get:$util.oneOfGetter(e=["animationCompleted"]),set:$util.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.animationCompleted&&Object.hasOwnProperty.call(t,"animationCompleted")&&$root.vertexvis.protobuf.stream.AnimationCompletedEvent.encode(t.animationCompleted,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.StreamEvent;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.animationCompleted&&t.hasOwnProperty("animationCompleted")){let e=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.verify(t.animationCompleted);if(e)return"animationCompleted."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.StreamEvent)return t;let e=new $root.vertexvis.protobuf.stream.StreamEvent;if(null!=t.animationCompleted){if("object"!=typeof t.animationCompleted)throw TypeError(".vertexvis.protobuf.stream.StreamEvent.animationCompleted: object expected");e.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.fromObject(t.animationCompleted)}return e},t.toObject=function(t,e){e||(e={});let r={};return null!=t.animationCompleted&&t.hasOwnProperty("animationCompleted")&&(r.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.toObject(t.animationCompleted,e),e.oneofs&&(r.event="animationCompleted")),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.AnimationCompletedEvent=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.animationId=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.animationId&&Object.hasOwnProperty.call(t,"animationId")&&$root.vertexvis.protobuf.core.Uuid.encode(t.animationId,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.AnimationCompletedEvent;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.animationId=$root.vertexvis.protobuf.core.Uuid.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.animationId&&t.hasOwnProperty("animationId")){let e=$root.vertexvis.protobuf.core.Uuid.verify(t.animationId);if(e)return"animationId."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.AnimationCompletedEvent)return t;let e=new $root.vertexvis.protobuf.stream.AnimationCompletedEvent;if(null!=t.animationId){if("object"!=typeof t.animationId)throw TypeError(".vertexvis.protobuf.stream.AnimationCompletedEvent.animationId: object expected");e.animationId=$root.vertexvis.protobuf.core.Uuid.fromObject(t.animationId)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.animationId=null),null!=t.animationId&&t.hasOwnProperty("animationId")&&(r.animationId=$root.vertexvis.protobuf.core.Uuid.toObject(t.animationId,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UpdateCrossSectioningResult=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.crossSectioning=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.crossSectioning&&Object.hasOwnProperty.call(t,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(t.crossSectioning,e.uint32(10).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")){let e=$root.vertexvis.protobuf.stream.CrossSectioning.verify(t.crossSectioning);if(e)return"crossSectioning."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult)return t;let e=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult;if(null!=t.crossSectioning){if("object"!=typeof t.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningResult.crossSectioning: object expected");e.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(t.crossSectioning)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.crossSectioning=null),null!=t.crossSectioning&&t.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(t.crossSectioning,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t}(),t.core=function(){const t={};return t.Vector3f=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.prototype.z=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(13).float(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(21).float(t.y),null!=t.z&&Object.hasOwnProperty.call(t,"z")&&e.uint32(29).float(t.z),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Vector3f;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.float();break;case 2:n.y=t.float();break;case 3:n.z=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&"number"!=typeof t.x?"x: number expected":null!=t.y&&t.hasOwnProperty("y")&&"number"!=typeof t.y?"y: number expected":null!=t.z&&t.hasOwnProperty("z")&&"number"!=typeof t.z?"z: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Vector3f)return t;let e=new $root.vertexvis.protobuf.core.Vector3f;return null!=t.x&&(e.x=Number(t.x)),null!=t.y&&(e.y=Number(t.y)),null!=t.z&&(e.z=Number(t.z)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0,r.z=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=e.json&&!isFinite(t.x)?String(t.x):t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=e.json&&!isFinite(t.y)?String(t.y):t.y),null!=t.z&&t.hasOwnProperty("z")&&(r.z=e.json&&!isFinite(t.z)?String(t.z):t.z),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Vector3d=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.prototype.z=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(9).double(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(17).double(t.y),null!=t.z&&Object.hasOwnProperty.call(t,"z")&&e.uint32(25).double(t.z),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Vector3d;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.double();break;case 2:n.y=t.double();break;case 3:n.z=t.double();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&"number"!=typeof t.x?"x: number expected":null!=t.y&&t.hasOwnProperty("y")&&"number"!=typeof t.y?"y: number expected":null!=t.z&&t.hasOwnProperty("z")&&"number"!=typeof t.z?"z: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Vector3d)return t;let e=new $root.vertexvis.protobuf.core.Vector3d;return null!=t.x&&(e.x=Number(t.x)),null!=t.y&&(e.y=Number(t.y)),null!=t.z&&(e.z=Number(t.z)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0,r.z=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=e.json&&!isFinite(t.x)?String(t.x):t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=e.json&&!isFinite(t.y)?String(t.y):t.y),null!=t.z&&t.hasOwnProperty("z")&&(r.z=e.json&&!isFinite(t.z)?String(t.z):t.z),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Vector4f=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.prototype.z=0,t.prototype.w=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(13).float(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(21).float(t.y),null!=t.z&&Object.hasOwnProperty.call(t,"z")&&e.uint32(29).float(t.z),null!=t.w&&Object.hasOwnProperty.call(t,"w")&&e.uint32(37).float(t.w),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Vector4f;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.float();break;case 2:n.y=t.float();break;case 3:n.z=t.float();break;case 4:n.w=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&"number"!=typeof t.x?"x: number expected":null!=t.y&&t.hasOwnProperty("y")&&"number"!=typeof t.y?"y: number expected":null!=t.z&&t.hasOwnProperty("z")&&"number"!=typeof t.z?"z: number expected":null!=t.w&&t.hasOwnProperty("w")&&"number"!=typeof t.w?"w: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Vector4f)return t;let e=new $root.vertexvis.protobuf.core.Vector4f;return null!=t.x&&(e.x=Number(t.x)),null!=t.y&&(e.y=Number(t.y)),null!=t.z&&(e.z=Number(t.z)),null!=t.w&&(e.w=Number(t.w)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=e.json&&!isFinite(t.x)?String(t.x):t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=e.json&&!isFinite(t.y)?String(t.y):t.y),null!=t.z&&t.hasOwnProperty("z")&&(r.z=e.json&&!isFinite(t.z)?String(t.z):t.z),null!=t.w&&t.hasOwnProperty("w")&&(r.w=e.json&&!isFinite(t.w)?String(t.w):t.w),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Vector4d=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.x=0,t.prototype.y=0,t.prototype.z=0,t.prototype.w=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.x&&Object.hasOwnProperty.call(t,"x")&&e.uint32(9).double(t.x),null!=t.y&&Object.hasOwnProperty.call(t,"y")&&e.uint32(17).double(t.y),null!=t.z&&Object.hasOwnProperty.call(t,"z")&&e.uint32(25).double(t.z),null!=t.w&&Object.hasOwnProperty.call(t,"w")&&e.uint32(33).double(t.w),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Vector4d;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.x=t.double();break;case 2:n.y=t.double();break;case 3:n.z=t.double();break;case 4:n.w=t.double();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.x&&t.hasOwnProperty("x")&&"number"!=typeof t.x?"x: number expected":null!=t.y&&t.hasOwnProperty("y")&&"number"!=typeof t.y?"y: number expected":null!=t.z&&t.hasOwnProperty("z")&&"number"!=typeof t.z?"z: number expected":null!=t.w&&t.hasOwnProperty("w")&&"number"!=typeof t.w?"w: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Vector4d)return t;let e=new $root.vertexvis.protobuf.core.Vector4d;return null!=t.x&&(e.x=Number(t.x)),null!=t.y&&(e.y=Number(t.y)),null!=t.z&&(e.z=Number(t.z)),null!=t.w&&(e.w=Number(t.w)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=t.x&&t.hasOwnProperty("x")&&(r.x=e.json&&!isFinite(t.x)?String(t.x):t.x),null!=t.y&&t.hasOwnProperty("y")&&(r.y=e.json&&!isFinite(t.y)?String(t.y):t.y),null!=t.z&&t.hasOwnProperty("z")&&(r.z=e.json&&!isFinite(t.z)?String(t.z):t.z),null!=t.w&&t.hasOwnProperty("w")&&(r.w=e.json&&!isFinite(t.w)?String(t.w):t.w),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.BoundingBox3f=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.xmin=0,t.prototype.xmax=0,t.prototype.ymin=0,t.prototype.ymax=0,t.prototype.zmin=0,t.prototype.zmax=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.xmin&&Object.hasOwnProperty.call(t,"xmin")&&e.uint32(13).float(t.xmin),null!=t.xmax&&Object.hasOwnProperty.call(t,"xmax")&&e.uint32(21).float(t.xmax),null!=t.ymin&&Object.hasOwnProperty.call(t,"ymin")&&e.uint32(29).float(t.ymin),null!=t.ymax&&Object.hasOwnProperty.call(t,"ymax")&&e.uint32(37).float(t.ymax),null!=t.zmin&&Object.hasOwnProperty.call(t,"zmin")&&e.uint32(45).float(t.zmin),null!=t.zmax&&Object.hasOwnProperty.call(t,"zmax")&&e.uint32(53).float(t.zmax),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.BoundingBox3f;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.xmin=t.float();break;case 2:n.xmax=t.float();break;case 3:n.ymin=t.float();break;case 4:n.ymax=t.float();break;case 5:n.zmin=t.float();break;case 6:n.zmax=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.xmin&&t.hasOwnProperty("xmin")&&"number"!=typeof t.xmin?"xmin: number expected":null!=t.xmax&&t.hasOwnProperty("xmax")&&"number"!=typeof t.xmax?"xmax: number expected":null!=t.ymin&&t.hasOwnProperty("ymin")&&"number"!=typeof t.ymin?"ymin: number expected":null!=t.ymax&&t.hasOwnProperty("ymax")&&"number"!=typeof t.ymax?"ymax: number expected":null!=t.zmin&&t.hasOwnProperty("zmin")&&"number"!=typeof t.zmin?"zmin: number expected":null!=t.zmax&&t.hasOwnProperty("zmax")&&"number"!=typeof t.zmax?"zmax: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.BoundingBox3f)return t;let e=new $root.vertexvis.protobuf.core.BoundingBox3f;return null!=t.xmin&&(e.xmin=Number(t.xmin)),null!=t.xmax&&(e.xmax=Number(t.xmax)),null!=t.ymin&&(e.ymin=Number(t.ymin)),null!=t.ymax&&(e.ymax=Number(t.ymax)),null!=t.zmin&&(e.zmin=Number(t.zmin)),null!=t.zmax&&(e.zmax=Number(t.zmax)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.xmin=0,r.xmax=0,r.ymin=0,r.ymax=0,r.zmin=0,r.zmax=0),null!=t.xmin&&t.hasOwnProperty("xmin")&&(r.xmin=e.json&&!isFinite(t.xmin)?String(t.xmin):t.xmin),null!=t.xmax&&t.hasOwnProperty("xmax")&&(r.xmax=e.json&&!isFinite(t.xmax)?String(t.xmax):t.xmax),null!=t.ymin&&t.hasOwnProperty("ymin")&&(r.ymin=e.json&&!isFinite(t.ymin)?String(t.ymin):t.ymin),null!=t.ymax&&t.hasOwnProperty("ymax")&&(r.ymax=e.json&&!isFinite(t.ymax)?String(t.ymax):t.ymax),null!=t.zmin&&t.hasOwnProperty("zmin")&&(r.zmin=e.json&&!isFinite(t.zmin)?String(t.zmin):t.zmin),null!=t.zmax&&t.hasOwnProperty("zmax")&&(r.zmax=e.json&&!isFinite(t.zmax)?String(t.zmax):t.zmax),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.AffineMatrix4f=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.basisX=null,t.prototype.basisY=null,t.prototype.xlate=null,t.prototype.scale=0,t.prototype.basisZ=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.basisX&&Object.hasOwnProperty.call(t,"basisX")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.basisX,e.uint32(10).fork()).ldelim(),null!=t.basisY&&Object.hasOwnProperty.call(t,"basisY")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.basisY,e.uint32(18).fork()).ldelim(),null!=t.xlate&&Object.hasOwnProperty.call(t,"xlate")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.xlate,e.uint32(26).fork()).ldelim(),null!=t.scale&&Object.hasOwnProperty.call(t,"scale")&&e.uint32(37).float(t.scale),null!=t.basisZ&&Object.hasOwnProperty.call(t,"basisZ")&&$root.vertexvis.protobuf.core.Vector3f.encode(t.basisZ,e.uint32(42).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.AffineMatrix4f;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 3:n.xlate=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;case 4:n.scale=t.float();break;case 5:n.basisZ=$root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.basisX&&t.hasOwnProperty("basisX")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.basisX);if(e)return"basisX."+e}if(null!=t.basisY&&t.hasOwnProperty("basisY")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.basisY);if(e)return"basisY."+e}if(null!=t.xlate&&t.hasOwnProperty("xlate")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.xlate);if(e)return"xlate."+e}if(null!=t.scale&&t.hasOwnProperty("scale")&&"number"!=typeof t.scale)return"scale: number expected";if(null!=t.basisZ&&t.hasOwnProperty("basisZ")){let e=$root.vertexvis.protobuf.core.Vector3f.verify(t.basisZ);if(e)return"basisZ."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.AffineMatrix4f)return t;let e=new $root.vertexvis.protobuf.core.AffineMatrix4f;if(null!=t.basisX){if("object"!=typeof t.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisX: object expected");e.basisX=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.basisX)}if(null!=t.basisY){if("object"!=typeof t.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisY: object expected");e.basisY=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.basisY)}if(null!=t.xlate){if("object"!=typeof t.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.xlate: object expected");e.xlate=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.xlate)}if(null!=t.scale&&(e.scale=Number(t.scale)),null!=t.basisZ){if("object"!=typeof t.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisZ: object expected");e.basisZ=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.basisZ)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=t.basisX&&t.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3f.toObject(t.basisX,e)),null!=t.basisY&&t.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3f.toObject(t.basisY,e)),null!=t.xlate&&t.hasOwnProperty("xlate")&&(r.xlate=$root.vertexvis.protobuf.core.Vector3f.toObject(t.xlate,e)),null!=t.scale&&t.hasOwnProperty("scale")&&(r.scale=e.json&&!isFinite(t.scale)?String(t.scale):t.scale),null!=t.basisZ&&t.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3f.toObject(t.basisZ,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.AffineMatrix4d=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.basisX=null,t.prototype.basisY=null,t.prototype.xlate=null,t.prototype.scale=0,t.prototype.basisZ=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.basisX&&Object.hasOwnProperty.call(t,"basisX")&&$root.vertexvis.protobuf.core.Vector3d.encode(t.basisX,e.uint32(10).fork()).ldelim(),null!=t.basisY&&Object.hasOwnProperty.call(t,"basisY")&&$root.vertexvis.protobuf.core.Vector3d.encode(t.basisY,e.uint32(18).fork()).ldelim(),null!=t.xlate&&Object.hasOwnProperty.call(t,"xlate")&&$root.vertexvis.protobuf.core.Vector3d.encode(t.xlate,e.uint32(26).fork()).ldelim(),null!=t.scale&&Object.hasOwnProperty.call(t,"scale")&&e.uint32(33).double(t.scale),null!=t.basisZ&&Object.hasOwnProperty.call(t,"basisZ")&&$root.vertexvis.protobuf.core.Vector3d.encode(t.basisZ,e.uint32(42).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.AffineMatrix4d;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3d.decode(t,t.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3d.decode(t,t.uint32());break;case 3:n.xlate=$root.vertexvis.protobuf.core.Vector3d.decode(t,t.uint32());break;case 4:n.scale=t.double();break;case 5:n.basisZ=$root.vertexvis.protobuf.core.Vector3d.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.basisX&&t.hasOwnProperty("basisX")){let e=$root.vertexvis.protobuf.core.Vector3d.verify(t.basisX);if(e)return"basisX."+e}if(null!=t.basisY&&t.hasOwnProperty("basisY")){let e=$root.vertexvis.protobuf.core.Vector3d.verify(t.basisY);if(e)return"basisY."+e}if(null!=t.xlate&&t.hasOwnProperty("xlate")){let e=$root.vertexvis.protobuf.core.Vector3d.verify(t.xlate);if(e)return"xlate."+e}if(null!=t.scale&&t.hasOwnProperty("scale")&&"number"!=typeof t.scale)return"scale: number expected";if(null!=t.basisZ&&t.hasOwnProperty("basisZ")){let e=$root.vertexvis.protobuf.core.Vector3d.verify(t.basisZ);if(e)return"basisZ."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.AffineMatrix4d)return t;let e=new $root.vertexvis.protobuf.core.AffineMatrix4d;if(null!=t.basisX){if("object"!=typeof t.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisX: object expected");e.basisX=$root.vertexvis.protobuf.core.Vector3d.fromObject(t.basisX)}if(null!=t.basisY){if("object"!=typeof t.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisY: object expected");e.basisY=$root.vertexvis.protobuf.core.Vector3d.fromObject(t.basisY)}if(null!=t.xlate){if("object"!=typeof t.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.xlate: object expected");e.xlate=$root.vertexvis.protobuf.core.Vector3d.fromObject(t.xlate)}if(null!=t.scale&&(e.scale=Number(t.scale)),null!=t.basisZ){if("object"!=typeof t.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisZ: object expected");e.basisZ=$root.vertexvis.protobuf.core.Vector3d.fromObject(t.basisZ)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=t.basisX&&t.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3d.toObject(t.basisX,e)),null!=t.basisY&&t.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3d.toObject(t.basisY,e)),null!=t.xlate&&t.hasOwnProperty("xlate")&&(r.xlate=$root.vertexvis.protobuf.core.Vector3d.toObject(t.xlate,e)),null!=t.scale&&t.hasOwnProperty("scale")&&(r.scale=e.json&&!isFinite(t.scale)?String(t.scale):t.scale),null!=t.basisZ&&t.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3d.toObject(t.basisZ,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.IndexedVector3fArray=function(){function t(t){if(this.values=[],this.indices=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.values=$util.emptyArray,t.prototype.indices=$util.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=$Writer.create()),null!=t.values&&t.values.length)for(let r=0;r<t.values.length;++r)$root.vertexvis.protobuf.core.Vector3f.encode(t.values[r],e.uint32(10).fork()).ldelim();if(null!=t.indices&&t.indices.length){e.uint32(18).fork();for(let r=0;r<t.indices.length;++r)e.uint32(t.indices[r]);e.ldelim()}return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.IndexedVector3fArray;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.values&&n.values.length||(n.values=[]),n.values.push($root.vertexvis.protobuf.core.Vector3f.decode(t,t.uint32()));break;case 2:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.indices.push(t.uint32())}else n.indices.push(t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.values&&t.hasOwnProperty("values")){if(!Array.isArray(t.values))return"values: array expected";for(let e=0;e<t.values.length;++e){let r=$root.vertexvis.protobuf.core.Vector3f.verify(t.values[e]);if(r)return"values."+r}}if(null!=t.indices&&t.hasOwnProperty("indices")){if(!Array.isArray(t.indices))return"indices: array expected";for(let e=0;e<t.indices.length;++e)if(!$util.isInteger(t.indices[e]))return"indices: integer[] expected"}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.IndexedVector3fArray)return t;let e=new $root.vertexvis.protobuf.core.IndexedVector3fArray;if(t.values){if(!Array.isArray(t.values))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: array expected");e.values=[];for(let r=0;r<t.values.length;++r){if("object"!=typeof t.values[r])throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: object expected");e.values[r]=$root.vertexvis.protobuf.core.Vector3f.fromObject(t.values[r])}}if(t.indices){if(!Array.isArray(t.indices))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.indices: array expected");e.indices=[];for(let r=0;r<t.indices.length;++r)e.indices[r]=t.indices[r]>>>0}return e},t.toObject=function(t,e){e||(e={});let r={};if((e.arrays||e.defaults)&&(r.values=[],r.indices=[]),t.values&&t.values.length){r.values=[];for(let n=0;n<t.values.length;++n)r.values[n]=$root.vertexvis.protobuf.core.Vector3f.toObject(t.values[n],e)}if(t.indices&&t.indices.length){r.indices=[];for(let e=0;e<t.indices.length;++e)r.indices[e]=t.indices[e]}return r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Indexed3DTriangleSet=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.vertices=null,t.prototype.normals=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.vertices&&Object.hasOwnProperty.call(t,"vertices")&&$root.vertexvis.protobuf.core.IndexedVector3fArray.encode(t.vertices,e.uint32(10).fork()).ldelim(),null!=t.normals&&Object.hasOwnProperty.call(t,"normals")&&$root.vertexvis.protobuf.core.IndexedVector3fArray.encode(t.normals,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Indexed3DTriangleSet;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.decode(t,t.uint32());break;case 2:n.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.vertices&&t.hasOwnProperty("vertices")){let e=$root.vertexvis.protobuf.core.IndexedVector3fArray.verify(t.vertices);if(e)return"vertices."+e}if(null!=t.normals&&t.hasOwnProperty("normals")){let e=$root.vertexvis.protobuf.core.IndexedVector3fArray.verify(t.normals);if(e)return"normals."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Indexed3DTriangleSet)return t;let e=new $root.vertexvis.protobuf.core.Indexed3DTriangleSet;if(null!=t.vertices){if("object"!=typeof t.vertices)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.vertices: object expected");e.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(t.vertices)}if(null!=t.normals){if("object"!=typeof t.normals)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.normals: object expected");e.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(t.normals)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.vertices=null,r.normals=null),null!=t.vertices&&t.hasOwnProperty("vertices")&&(r.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.toObject(t.vertices,e)),null!=t.normals&&t.hasOwnProperty("normals")&&(r.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.toObject(t.normals,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Matrix4x4f=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.r0=null,t.prototype.r1=null,t.prototype.r2=null,t.prototype.r3=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.r0&&Object.hasOwnProperty.call(t,"r0")&&$root.vertexvis.protobuf.core.Vector4f.encode(t.r0,e.uint32(10).fork()).ldelim(),null!=t.r1&&Object.hasOwnProperty.call(t,"r1")&&$root.vertexvis.protobuf.core.Vector4f.encode(t.r1,e.uint32(18).fork()).ldelim(),null!=t.r2&&Object.hasOwnProperty.call(t,"r2")&&$root.vertexvis.protobuf.core.Vector4f.encode(t.r2,e.uint32(26).fork()).ldelim(),null!=t.r3&&Object.hasOwnProperty.call(t,"r3")&&$root.vertexvis.protobuf.core.Vector4f.encode(t.r3,e.uint32(34).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Matrix4x4f;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.r0=$root.vertexvis.protobuf.core.Vector4f.decode(t,t.uint32());break;case 2:n.r1=$root.vertexvis.protobuf.core.Vector4f.decode(t,t.uint32());break;case 3:n.r2=$root.vertexvis.protobuf.core.Vector4f.decode(t,t.uint32());break;case 4:n.r3=$root.vertexvis.protobuf.core.Vector4f.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.r0&&t.hasOwnProperty("r0")){let e=$root.vertexvis.protobuf.core.Vector4f.verify(t.r0);if(e)return"r0."+e}if(null!=t.r1&&t.hasOwnProperty("r1")){let e=$root.vertexvis.protobuf.core.Vector4f.verify(t.r1);if(e)return"r1."+e}if(null!=t.r2&&t.hasOwnProperty("r2")){let e=$root.vertexvis.protobuf.core.Vector4f.verify(t.r2);if(e)return"r2."+e}if(null!=t.r3&&t.hasOwnProperty("r3")){let e=$root.vertexvis.protobuf.core.Vector4f.verify(t.r3);if(e)return"r3."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Matrix4x4f)return t;let e=new $root.vertexvis.protobuf.core.Matrix4x4f;if(null!=t.r0){if("object"!=typeof t.r0)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r0: object expected");e.r0=$root.vertexvis.protobuf.core.Vector4f.fromObject(t.r0)}if(null!=t.r1){if("object"!=typeof t.r1)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r1: object expected");e.r1=$root.vertexvis.protobuf.core.Vector4f.fromObject(t.r1)}if(null!=t.r2){if("object"!=typeof t.r2)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r2: object expected");e.r2=$root.vertexvis.protobuf.core.Vector4f.fromObject(t.r2)}if(null!=t.r3){if("object"!=typeof t.r3)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r3: object expected");e.r3=$root.vertexvis.protobuf.core.Vector4f.fromObject(t.r3)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.r0=null,r.r1=null,r.r2=null,r.r3=null),null!=t.r0&&t.hasOwnProperty("r0")&&(r.r0=$root.vertexvis.protobuf.core.Vector4f.toObject(t.r0,e)),null!=t.r1&&t.hasOwnProperty("r1")&&(r.r1=$root.vertexvis.protobuf.core.Vector4f.toObject(t.r1,e)),null!=t.r2&&t.hasOwnProperty("r2")&&(r.r2=$root.vertexvis.protobuf.core.Vector4f.toObject(t.r2,e)),null!=t.r3&&t.hasOwnProperty("r3")&&(r.r3=$root.vertexvis.protobuf.core.Vector4f.toObject(t.r3,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Dimension2i=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.width=0,t.prototype.height=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.width&&Object.hasOwnProperty.call(t,"width")&&e.uint32(8).int32(t.width),null!=t.height&&Object.hasOwnProperty.call(t,"height")&&e.uint32(16).int32(t.height),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Dimension2i;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.width=t.int32();break;case 2:n.height=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.width&&t.hasOwnProperty("width")&&!$util.isInteger(t.width)?"width: integer expected":null!=t.height&&t.hasOwnProperty("height")&&!$util.isInteger(t.height)?"height: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Dimension2i)return t;let e=new $root.vertexvis.protobuf.core.Dimension2i;return null!=t.width&&(e.width=0|t.width),null!=t.height&&(e.height=0|t.height),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.width=0,r.height=0),null!=t.width&&t.hasOwnProperty("width")&&(r.width=t.width),null!=t.height&&t.hasOwnProperty("height")&&(r.height=t.height),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Point2i=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.dx=0,t.prototype.dy=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.dx&&Object.hasOwnProperty.call(t,"dx")&&e.uint32(8).int32(t.dx),null!=t.dy&&Object.hasOwnProperty.call(t,"dy")&&e.uint32(16).int32(t.dy),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Point2i;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.dx=t.int32();break;case 2:n.dy=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.dx&&t.hasOwnProperty("dx")&&!$util.isInteger(t.dx)?"dx: integer expected":null!=t.dy&&t.hasOwnProperty("dy")&&!$util.isInteger(t.dy)?"dy: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Point2i)return t;let e=new $root.vertexvis.protobuf.core.Point2i;return null!=t.dx&&(e.dx=0|t.dx),null!=t.dy&&(e.dy=0|t.dy),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.dx=0,r.dy=0),null!=t.dx&&t.hasOwnProperty("dx")&&(r.dx=t.dx),null!=t.dy&&t.hasOwnProperty("dy")&&(r.dy=t.dy),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Uuid=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.hex="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.hex&&Object.hasOwnProperty.call(t,"hex")&&e.uint32(10).string(t.hex),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Uuid;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.hex=t.string();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.hex&&t.hasOwnProperty("hex")&&!$util.isString(t.hex)?"hex: string expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Uuid)return t;let e=new $root.vertexvis.protobuf.core.Uuid;return null!=t.hex&&(e.hex=String(t.hex)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.hex=""),null!=t.hex&&t.hasOwnProperty("hex")&&(r.hex=t.hex),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.RGBAi=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.r=0,t.prototype.g=0,t.prototype.b=0,t.prototype.a=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.r&&Object.hasOwnProperty.call(t,"r")&&e.uint32(8).uint32(t.r),null!=t.g&&Object.hasOwnProperty.call(t,"g")&&e.uint32(16).uint32(t.g),null!=t.b&&Object.hasOwnProperty.call(t,"b")&&e.uint32(24).uint32(t.b),null!=t.a&&Object.hasOwnProperty.call(t,"a")&&e.uint32(32).uint32(t.a),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.RGBAi;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.r=t.uint32();break;case 2:n.g=t.uint32();break;case 3:n.b=t.uint32();break;case 4:n.a=t.uint32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.r&&t.hasOwnProperty("r")&&!$util.isInteger(t.r)?"r: integer expected":null!=t.g&&t.hasOwnProperty("g")&&!$util.isInteger(t.g)?"g: integer expected":null!=t.b&&t.hasOwnProperty("b")&&!$util.isInteger(t.b)?"b: integer expected":null!=t.a&&t.hasOwnProperty("a")&&!$util.isInteger(t.a)?"a: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.RGBAi)return t;let e=new $root.vertexvis.protobuf.core.RGBAi;return null!=t.r&&(e.r=t.r>>>0),null!=t.g&&(e.g=t.g>>>0),null!=t.b&&(e.b=t.b>>>0),null!=t.a&&(e.a=t.a>>>0),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.r=0,r.g=0,r.b=0,r.a=0),null!=t.r&&t.hasOwnProperty("r")&&(r.r=t.r),null!=t.g&&t.hasOwnProperty("g")&&(r.g=t.g),null!=t.b&&t.hasOwnProperty("b")&&(r.b=t.b),null!=t.a&&t.hasOwnProperty("a")&&(r.a=t.a),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.RGBi=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.r=0,t.prototype.g=0,t.prototype.b=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.r&&Object.hasOwnProperty.call(t,"r")&&e.uint32(8).uint32(t.r),null!=t.g&&Object.hasOwnProperty.call(t,"g")&&e.uint32(16).uint32(t.g),null!=t.b&&Object.hasOwnProperty.call(t,"b")&&e.uint32(24).uint32(t.b),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.RGBi;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.r=t.uint32();break;case 2:n.g=t.uint32();break;case 3:n.b=t.uint32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.r&&t.hasOwnProperty("r")&&!$util.isInteger(t.r)?"r: integer expected":null!=t.g&&t.hasOwnProperty("g")&&!$util.isInteger(t.g)?"g: integer expected":null!=t.b&&t.hasOwnProperty("b")&&!$util.isInteger(t.b)?"b: integer expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.RGBi)return t;let e=new $root.vertexvis.protobuf.core.RGBi;return null!=t.r&&(e.r=t.r>>>0),null!=t.g&&(e.g=t.g>>>0),null!=t.b&&(e.b=t.b>>>0),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.r=0,r.g=0,r.b=0),null!=t.r&&t.hasOwnProperty("r")&&(r.r=t.r),null!=t.g&&t.hasOwnProperty("g")&&(r.g=t.g),null!=t.b&&t.hasOwnProperty("b")&&(r.b=t.b),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ColorMaterial=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.d=0,t.prototype.ns=0,t.prototype.ka=null,t.prototype.kd=null,t.prototype.ks=null,t.prototype.ke=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.d&&Object.hasOwnProperty.call(t,"d")&&e.uint32(8).uint32(t.d),null!=t.ns&&Object.hasOwnProperty.call(t,"ns")&&e.uint32(16).uint32(t.ns),null!=t.ka&&Object.hasOwnProperty.call(t,"ka")&&$root.vertexvis.protobuf.core.RGBi.encode(t.ka,e.uint32(26).fork()).ldelim(),null!=t.kd&&Object.hasOwnProperty.call(t,"kd")&&$root.vertexvis.protobuf.core.RGBi.encode(t.kd,e.uint32(34).fork()).ldelim(),null!=t.ks&&Object.hasOwnProperty.call(t,"ks")&&$root.vertexvis.protobuf.core.RGBi.encode(t.ks,e.uint32(42).fork()).ldelim(),null!=t.ke&&Object.hasOwnProperty.call(t,"ke")&&$root.vertexvis.protobuf.core.RGBi.encode(t.ke,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.ColorMaterial;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.d=t.uint32();break;case 2:n.ns=t.uint32();break;case 3:n.ka=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;case 4:n.kd=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;case 5:n.ks=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;case 6:n.ke=$root.vertexvis.protobuf.core.RGBi.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.d&&t.hasOwnProperty("d")&&!$util.isInteger(t.d))return"d: integer expected";if(null!=t.ns&&t.hasOwnProperty("ns")&&!$util.isInteger(t.ns))return"ns: integer expected";if(null!=t.ka&&t.hasOwnProperty("ka")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.ka);if(e)return"ka."+e}if(null!=t.kd&&t.hasOwnProperty("kd")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.kd);if(e)return"kd."+e}if(null!=t.ks&&t.hasOwnProperty("ks")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.ks);if(e)return"ks."+e}if(null!=t.ke&&t.hasOwnProperty("ke")){let e=$root.vertexvis.protobuf.core.RGBi.verify(t.ke);if(e)return"ke."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.ColorMaterial)return t;let e=new $root.vertexvis.protobuf.core.ColorMaterial;if(null!=t.d&&(e.d=t.d>>>0),null!=t.ns&&(e.ns=t.ns>>>0),null!=t.ka){if("object"!=typeof t.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ka: object expected");e.ka=$root.vertexvis.protobuf.core.RGBi.fromObject(t.ka)}if(null!=t.kd){if("object"!=typeof t.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.kd: object expected");e.kd=$root.vertexvis.protobuf.core.RGBi.fromObject(t.kd)}if(null!=t.ks){if("object"!=typeof t.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ks: object expected");e.ks=$root.vertexvis.protobuf.core.RGBi.fromObject(t.ks)}if(null!=t.ke){if("object"!=typeof t.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ke: object expected");e.ke=$root.vertexvis.protobuf.core.RGBi.fromObject(t.ke)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=t.d&&t.hasOwnProperty("d")&&(r.d=t.d),null!=t.ns&&t.hasOwnProperty("ns")&&(r.ns=t.ns),null!=t.ka&&t.hasOwnProperty("ka")&&(r.ka=$root.vertexvis.protobuf.core.RGBi.toObject(t.ka,e)),null!=t.kd&&t.hasOwnProperty("kd")&&(r.kd=$root.vertexvis.protobuf.core.RGBi.toObject(t.kd,e)),null!=t.ks&&t.hasOwnProperty("ks")&&(r.ks=$root.vertexvis.protobuf.core.RGBi.toObject(t.ks,e)),null!=t.ke&&t.hasOwnProperty("ke")&&(r.ke=$root.vertexvis.protobuf.core.RGBi.toObject(t.ke,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.RGBf=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.r=0,t.prototype.g=0,t.prototype.b=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.r&&Object.hasOwnProperty.call(t,"r")&&e.uint32(13).float(t.r),null!=t.g&&Object.hasOwnProperty.call(t,"g")&&e.uint32(21).float(t.g),null!=t.b&&Object.hasOwnProperty.call(t,"b")&&e.uint32(29).float(t.b),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.RGBf;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.r=t.float();break;case 2:n.g=t.float();break;case 3:n.b=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.r&&t.hasOwnProperty("r")&&"number"!=typeof t.r?"r: number expected":null!=t.g&&t.hasOwnProperty("g")&&"number"!=typeof t.g?"g: number expected":null!=t.b&&t.hasOwnProperty("b")&&"number"!=typeof t.b?"b: number expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.RGBf)return t;let e=new $root.vertexvis.protobuf.core.RGBf;return null!=t.r&&(e.r=Number(t.r)),null!=t.g&&(e.g=Number(t.g)),null!=t.b&&(e.b=Number(t.b)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.r=0,r.g=0,r.b=0),null!=t.r&&t.hasOwnProperty("r")&&(r.r=e.json&&!isFinite(t.r)?String(t.r):t.r),null!=t.g&&t.hasOwnProperty("g")&&(r.g=e.json&&!isFinite(t.g)?String(t.g):t.g),null!=t.b&&t.hasOwnProperty("b")&&(r.b=e.json&&!isFinite(t.b)?String(t.b):t.b),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.ColorMaterialf=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.d=0,t.prototype.ns=0,t.prototype.ka=null,t.prototype.kd=null,t.prototype.ks=null,t.prototype.ke=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.d&&Object.hasOwnProperty.call(t,"d")&&e.uint32(13).float(t.d),null!=t.ns&&Object.hasOwnProperty.call(t,"ns")&&e.uint32(21).float(t.ns),null!=t.ka&&Object.hasOwnProperty.call(t,"ka")&&$root.vertexvis.protobuf.core.RGBf.encode(t.ka,e.uint32(26).fork()).ldelim(),null!=t.kd&&Object.hasOwnProperty.call(t,"kd")&&$root.vertexvis.protobuf.core.RGBf.encode(t.kd,e.uint32(34).fork()).ldelim(),null!=t.ks&&Object.hasOwnProperty.call(t,"ks")&&$root.vertexvis.protobuf.core.RGBf.encode(t.ks,e.uint32(42).fork()).ldelim(),null!=t.ke&&Object.hasOwnProperty.call(t,"ke")&&$root.vertexvis.protobuf.core.RGBf.encode(t.ke,e.uint32(50).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.ColorMaterialf;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.d=t.float();break;case 2:n.ns=t.float();break;case 3:n.ka=$root.vertexvis.protobuf.core.RGBf.decode(t,t.uint32());break;case 4:n.kd=$root.vertexvis.protobuf.core.RGBf.decode(t,t.uint32());break;case 5:n.ks=$root.vertexvis.protobuf.core.RGBf.decode(t,t.uint32());break;case 6:n.ke=$root.vertexvis.protobuf.core.RGBf.decode(t,t.uint32());break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.d&&t.hasOwnProperty("d")&&"number"!=typeof t.d)return"d: number expected";if(null!=t.ns&&t.hasOwnProperty("ns")&&"number"!=typeof t.ns)return"ns: number expected";if(null!=t.ka&&t.hasOwnProperty("ka")){let e=$root.vertexvis.protobuf.core.RGBf.verify(t.ka);if(e)return"ka."+e}if(null!=t.kd&&t.hasOwnProperty("kd")){let e=$root.vertexvis.protobuf.core.RGBf.verify(t.kd);if(e)return"kd."+e}if(null!=t.ks&&t.hasOwnProperty("ks")){let e=$root.vertexvis.protobuf.core.RGBf.verify(t.ks);if(e)return"ks."+e}if(null!=t.ke&&t.hasOwnProperty("ke")){let e=$root.vertexvis.protobuf.core.RGBf.verify(t.ke);if(e)return"ke."+e}return null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.ColorMaterialf)return t;let e=new $root.vertexvis.protobuf.core.ColorMaterialf;if(null!=t.d&&(e.d=Number(t.d)),null!=t.ns&&(e.ns=Number(t.ns)),null!=t.ka){if("object"!=typeof t.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ka: object expected");e.ka=$root.vertexvis.protobuf.core.RGBf.fromObject(t.ka)}if(null!=t.kd){if("object"!=typeof t.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.kd: object expected");e.kd=$root.vertexvis.protobuf.core.RGBf.fromObject(t.kd)}if(null!=t.ks){if("object"!=typeof t.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ks: object expected");e.ks=$root.vertexvis.protobuf.core.RGBf.fromObject(t.ks)}if(null!=t.ke){if("object"!=typeof t.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ke: object expected");e.ke=$root.vertexvis.protobuf.core.RGBf.fromObject(t.ke)}return e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=t.d&&t.hasOwnProperty("d")&&(r.d=e.json&&!isFinite(t.d)?String(t.d):t.d),null!=t.ns&&t.hasOwnProperty("ns")&&(r.ns=e.json&&!isFinite(t.ns)?String(t.ns):t.ns),null!=t.ka&&t.hasOwnProperty("ka")&&(r.ka=$root.vertexvis.protobuf.core.RGBf.toObject(t.ka,e)),null!=t.kd&&t.hasOwnProperty("kd")&&(r.kd=$root.vertexvis.protobuf.core.RGBf.toObject(t.kd,e)),null!=t.ks&&t.hasOwnProperty("ks")&&(r.ks=$root.vertexvis.protobuf.core.RGBf.toObject(t.ks,e)),null!=t.ke&&t.hasOwnProperty("ke")&&(r.ke=$root.vertexvis.protobuf.core.RGBf.toObject(t.ke,e)),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Instant=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.iso="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.iso&&Object.hasOwnProperty.call(t,"iso")&&e.uint32(10).string(t.iso),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.vertexvis.protobuf.core.Instant;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.iso=t.string();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.iso&&t.hasOwnProperty("iso")&&!$util.isString(t.iso)?"iso: string expected":null},t.fromObject=function(t){if(t instanceof $root.vertexvis.protobuf.core.Instant)return t;let e=new $root.vertexvis.protobuf.core.Instant;return null!=t.iso&&(e.iso=String(t.iso)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.iso=""),null!=t.iso&&t.hasOwnProperty("iso")&&(r.iso=t.iso),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t}(),t}(),t})(),google=$root.google=(()=>{const t={};return t.protobuf=function(){const t={};return t.Duration=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,!1):0,t.prototype.nanos=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.seconds&&Object.hasOwnProperty.call(t,"seconds")&&e.uint32(8).int64(t.seconds),null!=t.nanos&&Object.hasOwnProperty.call(t,"nanos")&&e.uint32(16).int32(t.nanos),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.Duration;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.seconds=t.int64();break;case 2:n.nanos=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.seconds&&t.hasOwnProperty("seconds")&&!($util.isInteger(t.seconds)||t.seconds&&$util.isInteger(t.seconds.low)&&$util.isInteger(t.seconds.high))?"seconds: integer|Long expected":null!=t.nanos&&t.hasOwnProperty("nanos")&&!$util.isInteger(t.nanos)?"nanos: integer expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.Duration)return t;let e=new $root.google.protobuf.Duration;return null!=t.seconds&&($util.Long?(e.seconds=$util.Long.fromValue(t.seconds)).unsigned=!1:"string"==typeof t.seconds?e.seconds=parseInt(t.seconds,10):"number"==typeof t.seconds?e.seconds=t.seconds:"object"==typeof t.seconds&&(e.seconds=new $util.LongBits(t.seconds.low>>>0,t.seconds.high>>>0).toNumber())),null!=t.nanos&&(e.nanos=0|t.nanos),e},t.toObject=function(t,e){e||(e={});let r={};if(e.defaults){if($util.Long){let t=new $util.Long(0,0,!1);r.seconds=e.longs===String?t.toString():e.longs===Number?t.toNumber():t}else r.seconds=e.longs===String?"0":0;r.nanos=0}return null!=t.seconds&&t.hasOwnProperty("seconds")&&(r.seconds="number"==typeof t.seconds?e.longs===String?String(t.seconds):t.seconds:e.longs===String?$util.Long.prototype.toString.call(t.seconds):e.longs===Number?new $util.LongBits(t.seconds.low>>>0,t.seconds.high>>>0).toNumber():t.seconds),null!=t.nanos&&t.hasOwnProperty("nanos")&&(r.nanos=t.nanos),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.DoubleValue=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(9).double(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.DoubleValue;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.double();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&"number"!=typeof t.value?"value: number expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.DoubleValue)return t;let e=new $root.google.protobuf.DoubleValue;return null!=t.value&&(e.value=Number(t.value)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=0),null!=t.value&&t.hasOwnProperty("value")&&(r.value=e.json&&!isFinite(t.value)?String(t.value):t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.FloatValue=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(13).float(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.FloatValue;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.float();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&"number"!=typeof t.value?"value: number expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.FloatValue)return t;let e=new $root.google.protobuf.FloatValue;return null!=t.value&&(e.value=Number(t.value)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=0),null!=t.value&&t.hasOwnProperty("value")&&(r.value=e.json&&!isFinite(t.value)?String(t.value):t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Int64Value=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=$util.Long?$util.Long.fromBits(0,0,!1):0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(8).int64(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.Int64Value;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.int64();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!($util.isInteger(t.value)||t.value&&$util.isInteger(t.value.low)&&$util.isInteger(t.value.high))?"value: integer|Long expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.Int64Value)return t;let e=new $root.google.protobuf.Int64Value;return null!=t.value&&($util.Long?(e.value=$util.Long.fromValue(t.value)).unsigned=!1:"string"==typeof t.value?e.value=parseInt(t.value,10):"number"==typeof t.value?e.value=t.value:"object"==typeof t.value&&(e.value=new $util.LongBits(t.value.low>>>0,t.value.high>>>0).toNumber())),e},t.toObject=function(t,e){e||(e={});let r={};if(e.defaults)if($util.Long){let t=new $util.Long(0,0,!1);r.value=e.longs===String?t.toString():e.longs===Number?t.toNumber():t}else r.value=e.longs===String?"0":0;return null!=t.value&&t.hasOwnProperty("value")&&(r.value="number"==typeof t.value?e.longs===String?String(t.value):t.value:e.longs===String?$util.Long.prototype.toString.call(t.value):e.longs===Number?new $util.LongBits(t.value.low>>>0,t.value.high>>>0).toNumber():t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UInt64Value=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=$util.Long?$util.Long.fromBits(0,0,!0):0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(8).uint64(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.UInt64Value;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.uint64();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!($util.isInteger(t.value)||t.value&&$util.isInteger(t.value.low)&&$util.isInteger(t.value.high))?"value: integer|Long expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.UInt64Value)return t;let e=new $root.google.protobuf.UInt64Value;return null!=t.value&&($util.Long?(e.value=$util.Long.fromValue(t.value)).unsigned=!0:"string"==typeof t.value?e.value=parseInt(t.value,10):"number"==typeof t.value?e.value=t.value:"object"==typeof t.value&&(e.value=new $util.LongBits(t.value.low>>>0,t.value.high>>>0).toNumber(!0))),e},t.toObject=function(t,e){e||(e={});let r={};if(e.defaults)if($util.Long){let t=new $util.Long(0,0,!0);r.value=e.longs===String?t.toString():e.longs===Number?t.toNumber():t}else r.value=e.longs===String?"0":0;return null!=t.value&&t.hasOwnProperty("value")&&(r.value="number"==typeof t.value?e.longs===String?String(t.value):t.value:e.longs===String?$util.Long.prototype.toString.call(t.value):e.longs===Number?new $util.LongBits(t.value.low>>>0,t.value.high>>>0).toNumber(!0):t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Int32Value=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(8).int32(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.Int32Value;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!$util.isInteger(t.value)?"value: integer expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.Int32Value)return t;let e=new $root.google.protobuf.Int32Value;return null!=t.value&&(e.value=0|t.value),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=0),null!=t.value&&t.hasOwnProperty("value")&&(r.value=t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.UInt32Value=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(8).uint32(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.UInt32Value;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.uint32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!$util.isInteger(t.value)?"value: integer expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.UInt32Value)return t;let e=new $root.google.protobuf.UInt32Value;return null!=t.value&&(e.value=t.value>>>0),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=0),null!=t.value&&t.hasOwnProperty("value")&&(r.value=t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.BoolValue=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(8).bool(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.BoolValue;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.bool();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&"boolean"!=typeof t.value?"value: boolean expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.BoolValue)return t;let e=new $root.google.protobuf.BoolValue;return null!=t.value&&(e.value=Boolean(t.value)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=!1),null!=t.value&&t.hasOwnProperty("value")&&(r.value=t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.StringValue=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(10).string(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.StringValue;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.string();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!$util.isString(t.value)?"value: string expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.StringValue)return t;let e=new $root.google.protobuf.StringValue;return null!=t.value&&(e.value=String(t.value)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(r.value=""),null!=t.value&&t.hasOwnProperty("value")&&(r.value=t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.BytesValue=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.value=$util.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(10).bytes(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.BytesValue;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.value=t.bytes();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.value&&t.hasOwnProperty("value")&&!(t.value&&"number"==typeof t.value.length||$util.isString(t.value))?"value: buffer expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.BytesValue)return t;let e=new $root.google.protobuf.BytesValue;return null!=t.value&&("string"==typeof t.value?$util.base64.decode(t.value,e.value=$util.newBuffer($util.base64.length(t.value)),0):t.value.length&&(e.value=t.value)),e},t.toObject=function(t,e){e||(e={});let r={};return e.defaults&&(e.bytes===String?r.value="":(r.value=[],e.bytes!==Array&&(r.value=$util.newBuffer(r.value)))),null!=t.value&&t.hasOwnProperty("value")&&(r.value=e.bytes===String?$util.base64.encode(t.value,0,t.value.length):e.bytes===Array?Array.prototype.slice.call(t.value):t.value),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t.Timestamp=function(){function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,!1):0,t.prototype.nanos=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=$Writer.create()),null!=t.seconds&&Object.hasOwnProperty.call(t,"seconds")&&e.uint32(8).int64(t.seconds),null!=t.nanos&&Object.hasOwnProperty.call(t,"nanos")&&e.uint32(16).int32(t.nanos),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof $Reader||(t=$Reader.create(t));let r=void 0===e?t.len:t.pos+e,n=new $root.google.protobuf.Timestamp;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.seconds=t.int64();break;case 2:n.nanos=t.int32();break;default:t.skipType(7&e)}}return n},t.decodeDelimited=function(t){return t instanceof $Reader||(t=new $Reader(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.seconds&&t.hasOwnProperty("seconds")&&!($util.isInteger(t.seconds)||t.seconds&&$util.isInteger(t.seconds.low)&&$util.isInteger(t.seconds.high))?"seconds: integer|Long expected":null!=t.nanos&&t.hasOwnProperty("nanos")&&!$util.isInteger(t.nanos)?"nanos: integer expected":null},t.fromObject=function(t){if(t instanceof $root.google.protobuf.Timestamp)return t;let e=new $root.google.protobuf.Timestamp;return null!=t.seconds&&($util.Long?(e.seconds=$util.Long.fromValue(t.seconds)).unsigned=!1:"string"==typeof t.seconds?e.seconds=parseInt(t.seconds,10):"number"==typeof t.seconds?e.seconds=t.seconds:"object"==typeof t.seconds&&(e.seconds=new $util.LongBits(t.seconds.low>>>0,t.seconds.high>>>0).toNumber())),null!=t.nanos&&(e.nanos=0|t.nanos),e},t.toObject=function(t,e){e||(e={});let r={};if(e.defaults){if($util.Long){let t=new $util.Long(0,0,!1);r.seconds=e.longs===String?t.toString():e.longs===Number?t.toNumber():t}else r.seconds=e.longs===String?"0":0;r.nanos=0}return null!=t.seconds&&t.hasOwnProperty("seconds")&&(r.seconds="number"==typeof t.seconds?e.longs===String?String(t.seconds):t.seconds:e.longs===String?$util.Long.prototype.toString.call(t.seconds):e.longs===Number?new $util.LongBits(t.seconds.low>>>0,t.seconds.high>>>0).toNumber():t.seconds),null!=t.nanos&&t.hasOwnProperty("nanos")&&(r.nanos=t.nanos),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},t}(),t}(),t})();var long_1=Long,wasm=null;try{wasm=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function Long(t,e,r){this.low=0|t,this.high=0|e,this.unsigned=!!r}function isLong(t){return!0===(t&&t.__isLong__)}Object.defineProperty(Long.prototype,"__isLong__",{value:!0}),Long.isLong=isLong;var INT_CACHE={},UINT_CACHE={};function fromInt(t,e){var r,n,o;return e?(o=0<=(t>>>=0)&&t<256)&&(n=UINT_CACHE[t])?n:(r=fromBits(t,(0|t)<0?-1:0,!0),o&&(UINT_CACHE[t]=r),r):(o=-128<=(t|=0)&&t<128)&&(n=INT_CACHE[t])?n:(r=fromBits(t,t<0?-1:0,!1),o&&(INT_CACHE[t]=r),r)}function fromNumber(t,e){if(isNaN(t))return e?UZERO:ZERO;if(e){if(t<0)return UZERO;if(t>=TWO_PWR_64_DBL)return MAX_UNSIGNED_VALUE}else{if(t<=-TWO_PWR_63_DBL)return MIN_VALUE;if(t+1>=TWO_PWR_63_DBL)return MAX_VALUE}return t<0?fromNumber(-t,e).neg():fromBits(t%TWO_PWR_32_DBL|0,t/TWO_PWR_32_DBL|0,e)}function fromBits(t,e,r){return new Long(t,e,r)}Long.fromInt=fromInt,Long.fromNumber=fromNumber,Long.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(t,e,r){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return ZERO;if("number"==typeof e?(r=e,e=!1):e=!!e,(r=r||10)<2||36<r)throw RangeError("radix");var n;if((n=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===n)return fromString(t.substring(1),e,r).neg();for(var o=fromNumber(pow_dbl(r,8)),i=ZERO,u=0;u<t.length;u+=8){var l=Math.min(8,t.length-u),f=parseInt(t.substring(u,u+l),r);if(l<8){var c=fromNumber(pow_dbl(r,l));i=i.mul(c).add(fromNumber(f))}else i=(i=i.mul(o)).add(fromNumber(f))}return i.unsigned=e,i}function fromValue(t,e){return"number"==typeof t?fromNumber(t,e):"string"==typeof t?fromString(t,e):fromBits(t.low,t.high,"boolean"==typeof e?e:t.unsigned)}Long.fromString=fromString,Long.fromValue=fromValue;var TWO_PWR_16_DBL=65536,TWO_PWR_24_DBL=1<<24,TWO_PWR_32_DBL=TWO_PWR_16_DBL*TWO_PWR_16_DBL,TWO_PWR_64_DBL=TWO_PWR_32_DBL*TWO_PWR_32_DBL,TWO_PWR_63_DBL=TWO_PWR_64_DBL/2,TWO_PWR_24=fromInt(TWO_PWR_24_DBL),ZERO=fromInt(0);Long.ZERO=ZERO;var UZERO=fromInt(0,!0);Long.UZERO=UZERO;var ONE=fromInt(1);Long.ONE=ONE;var UONE=fromInt(1,!0);Long.UONE=UONE;var NEG_ONE=fromInt(-1);Long.NEG_ONE=NEG_ONE;var MAX_VALUE=fromBits(-1,2147483647,!1);Long.MAX_VALUE=MAX_VALUE;var MAX_UNSIGNED_VALUE=fromBits(-1,-1,!0);Long.MAX_UNSIGNED_VALUE=MAX_UNSIGNED_VALUE;var MIN_VALUE=fromBits(0,-2147483648,!1);Long.MIN_VALUE=MIN_VALUE;var LongPrototype=Long.prototype;function encode(t){return vertexvis.protobuf.stream.StreamMessage.encode(t).finish()}function decode(t){var e=t instanceof ArrayBuffer?new Uint8Array(t):t,r=vertexvis.protobuf.stream.StreamMessage.decode(e);return vertexvis.protobuf.stream.StreamMessage.toObject(r,{defaults:!0})}LongPrototype.toInt=function(){return this.unsigned?this.low>>>0:this.low},LongPrototype.toNumber=function(){return this.unsigned?(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0):this.high*TWO_PWR_32_DBL+(this.low>>>0)},LongPrototype.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(MIN_VALUE)){var e=fromNumber(t),r=this.div(e),n=r.mul(e).sub(this);return r.toString(t)+n.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var o=fromNumber(pow_dbl(t,6),this.unsigned),i=this,u="";;){var l=i.div(o),f=(i.sub(l.mul(o)).toInt()>>>0).toString(t);if((i=l).isZero())return f+u;for(;f.length<6;)f="0"+f;u=""+f+u}},LongPrototype.getHighBits=function(){return this.high},LongPrototype.getHighBitsUnsigned=function(){return this.high>>>0},LongPrototype.getLowBits=function(){return this.low},LongPrototype.getLowBitsUnsigned=function(){return this.low>>>0},LongPrototype.getNumBitsAbs=function(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<<e);e--);return 0!=this.high?e+33:e+1},LongPrototype.isZero=function(){return 0===this.high&&0===this.low},LongPrototype.eqz=LongPrototype.isZero,LongPrototype.isNegative=function(){return!this.unsigned&&this.high<0},LongPrototype.isPositive=function(){return this.unsigned||this.high>=0},LongPrototype.isOdd=function(){return 1==(1&this.low)},LongPrototype.isEven=function(){return 0==(1&this.low)},LongPrototype.equals=function(t){return isLong(t)||(t=fromValue(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},LongPrototype.eq=LongPrototype.equals,LongPrototype.notEquals=function(t){return!this.eq(t)},LongPrototype.neq=LongPrototype.notEquals,LongPrototype.ne=LongPrototype.notEquals,LongPrototype.lessThan=function(t){return this.comp(t)<0},LongPrototype.lt=LongPrototype.lessThan,LongPrototype.lessThanOrEqual=function(t){return this.comp(t)<=0},LongPrototype.lte=LongPrototype.lessThanOrEqual,LongPrototype.le=LongPrototype.lessThanOrEqual,LongPrototype.greaterThan=function(t){return this.comp(t)>0},LongPrototype.gt=LongPrototype.greaterThan,LongPrototype.greaterThanOrEqual=function(t){return this.comp(t)>=0},LongPrototype.gte=LongPrototype.greaterThanOrEqual,LongPrototype.ge=LongPrototype.greaterThanOrEqual,LongPrototype.compare=function(t){if(isLong(t)||(t=fromValue(t)),this.eq(t))return 0;var e=this.isNegative(),r=t.isNegative();return e&&!r?-1:!e&&r?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},LongPrototype.comp=LongPrototype.compare,LongPrototype.negate=function(){return!this.unsigned&&this.eq(MIN_VALUE)?MIN_VALUE:this.not().add(ONE)},LongPrototype.neg=LongPrototype.negate,LongPrototype.add=function(t){isLong(t)||(t=fromValue(t));var e=0,r=0,n=0,o=0;return n+=(o+=(65535&this.low)+(65535&t.low))>>>16,r+=(n+=(this.low>>>16)+(t.low>>>16))>>>16,e+=(r+=(65535&this.high)+(65535&t.high))>>>16,e+=(this.high>>>16)+(t.high>>>16),fromBits((n&=65535)<<16|(o&=65535),(e&=65535)<<16|(r&=65535),this.unsigned)},LongPrototype.subtract=function(t){return isLong(t)||(t=fromValue(t)),this.add(t.neg())},LongPrototype.sub=LongPrototype.subtract,LongPrototype.multiply=function(t){if(this.isZero())return ZERO;if(isLong(t)||(t=fromValue(t)),wasm)return fromBits(wasm.mul(this.low,this.high,t.low,t.high),wasm.get_high(),this.unsigned);if(t.isZero())return ZERO;if(this.eq(MIN_VALUE))return t.isOdd()?MIN_VALUE:ZERO;if(t.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(TWO_PWR_24)&&t.lt(TWO_PWR_24))return fromNumber(this.toNumber()*t.toNumber(),this.unsigned);var e=65535&this.high,r=this.low>>>16,n=65535&this.low,o=65535&t.high,i=t.low>>>16,u=65535&t.low,l=0,f=0,c=0,a=0;return c+=(a+=n*u)>>>16,f+=(c+=r*u)>>>16,c&=65535,f+=(c+=n*i)>>>16,l+=(f+=e*u)>>>16,f&=65535,l+=(f+=r*i)>>>16,f&=65535,l+=(f+=n*o)>>>16,l+=(this.high>>>16)*u+e*i+r*o+n*(t.high>>>16),fromBits((c&=65535)<<16|(a&=65535),(l&=65535)<<16|(f&=65535),this.unsigned)},LongPrototype.mul=LongPrototype.multiply,LongPrototype.divide=function(t){if(isLong(t)||(t=fromValue(t)),t.isZero())throw Error("division by zero");var e,r,n;if(wasm)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?fromBits((this.unsigned?wasm.div_u:wasm.div_s)(this.low,this.high,t.low,t.high),wasm.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?UZERO:ZERO;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return UZERO;if(t.gt(this.shru(1)))return UONE;n=UZERO}else{if(this.eq(MIN_VALUE))return t.eq(ONE)||t.eq(NEG_ONE)?MIN_VALUE:t.eq(MIN_VALUE)?ONE:(e=this.shr(1).div(t).shl(1)).eq(ZERO)?t.isNegative()?ONE:NEG_ONE:(r=this.sub(t.mul(e)),n=e.add(r.div(t)));if(t.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();n=ZERO}for(r=this;r.gte(t);){e=Math.max(1,Math.floor(r.toNumber()/t.toNumber()));for(var o=Math.ceil(Math.log(e)/Math.LN2),i=o<=48?1:pow_dbl(2,o-48),u=fromNumber(e),l=u.mul(t);l.isNegative()||l.gt(r);)l=(u=fromNumber(e-=i,this.unsigned)).mul(t);u.isZero()&&(u=ONE),n=n.add(u),r=r.sub(l)}return n},LongPrototype.div=LongPrototype.divide,LongPrototype.modulo=function(t){return isLong(t)||(t=fromValue(t)),wasm?fromBits((this.unsigned?wasm.rem_u:wasm.rem_s)(this.low,this.high,t.low,t.high),wasm.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},LongPrototype.mod=LongPrototype.modulo,LongPrototype.rem=LongPrototype.modulo,LongPrototype.not=function(){return fromBits(~this.low,~this.high,this.unsigned)},LongPrototype.and=function(t){return isLong(t)||(t=fromValue(t)),fromBits(this.low&t.low,this.high&t.high,this.unsigned)},LongPrototype.or=function(t){return isLong(t)||(t=fromValue(t)),fromBits(this.low|t.low,this.high|t.high,this.unsigned)},LongPrototype.xor=function(t){return isLong(t)||(t=fromValue(t)),fromBits(this.low^t.low,this.high^t.high,this.unsigned)},LongPrototype.shiftLeft=function(t){return isLong(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?fromBits(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):fromBits(0,this.low<<t-32,this.unsigned)},LongPrototype.shl=LongPrototype.shiftLeft,LongPrototype.shiftRight=function(t){return isLong(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?fromBits(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):fromBits(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},LongPrototype.shr=LongPrototype.shiftRight,LongPrototype.shiftRightUnsigned=function(t){if(isLong(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?fromBits(this.low>>>t|e<<32-t,e>>>t,this.unsigned):fromBits(32===t?e:e>>>t-32,0,this.unsigned)},LongPrototype.shru=LongPrototype.shiftRightUnsigned,LongPrototype.shr_u=LongPrototype.shiftRightUnsigned,LongPrototype.toSigned=function(){return this.unsigned?fromBits(this.low,this.high,!1):this},LongPrototype.toUnsigned=function(){return this.unsigned?this:fromBits(this.low,this.high,!0)},LongPrototype.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},LongPrototype.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},LongPrototype.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},Long.fromBytes=function(t,e,r){return r?Long.fromBytesLE(t,e):Long.fromBytesBE(t,e)},Long.fromBytesLE=function(t,e){return new Long(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},Long.fromBytesBE=function(t,e){return new Long(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)};var WebSocketClientImpl=function(){function t(){var t=this;this.listeners={},this.onMessageDispatcher=new EventDispatcher,this.onCloseDispatcher=new EventDispatcher,this.addWebSocketListeners=function(e,r,n,o){var i=function(){return t.onOpen(n)},u=function(){return o()},l=function(e){return t.handleClose(e,r)};return e.addEventListener("message",t.handleMessage),e.addEventListener("open",i),e.addEventListener("error",u),e.addEventListener("close",l),{dispose:function(){e.removeEventListener("message",t.handleMessage),e.removeEventListener("open",i),e.removeEventListener("error",u),e.removeEventListener("close",l)}}},this.handleMessage=function(e){t.onMessageDispatcher.emit(e)},this.handleClose=function(e,r){t.onCloseDispatcher.emit(e),t.removeWebSocketListeners(r)}}return t.prototype.close=function(){null!=this.webSocket&&this.webSocket.close()},t.prototype.connect=function(t){return __awaiter(this,void 0,void 0,(function(){var e,r=this;return __generator(this,(function(){return e=uuid.create(),this.webSocket=new WebSocket(t.url,t.protocols),this.webSocket.binaryType="arraybuffer",[2,new Promise((function(t,n){null!=r.webSocket&&(r.listeners[e]=r.addWebSocketListeners(r.webSocket,e,t,n))}))]}))}))},t.prototype.onMessage=function(t){return this.onMessageDispatcher.on(t)},t.prototype.onClose=function(t){return this.onCloseDispatcher.on(t)},t.prototype.send=function(t){null!=this.webSocket&&this.webSocket.send(t)},t.prototype.removeWebSocketListeners=function(t){var e;null===(e=this.listeners[t])||void 0===e||e.dispose()},t.prototype.onOpen=function(t){t()},t}();function toProtoTimestamp(t){var e=t.getTime();return google.protobuf.Timestamp.create(parseEpochMillis(e))}function currentDateAsProtoTimestamp(){return toProtoTimestamp(new Date)}function toProtoDuration(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(2===t.length){var r=t[0],n=t[1],o=n.getTime()-r.getTime();return google.protobuf.Duration.create(parseEpochMillis(o))}if(1===t.length)return google.protobuf.Duration.create(parseEpochMillis(o=t[0]));throw new Error("Expected input to be a number or start and end date.")}function protoToDate(t){if(null!=t.seconds&&null!=t.nanos){var e=long_1.isLong(t.seconds)?t.seconds.toNumber():t.seconds;return new Date(1e3*e+t.nanos/1e6)}}function parseEpochMillis(t){return{seconds:Math.floor(Math.abs(t)/1e3)*(t<0?-1:1),nanos:t%1e3*1e6}}var StreamRequestError=function(t){function e(e,r,n,o){var i=t.call(this,null!=n&&n.length>0?"Stream request failed ("+n+")":"Stream request failed")||this;return i.requestId=e,i.requestPayload=r,i.summary=n,i.details=o,i}return __extends(e,t),e}(Error);function defineParams(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return t.reduce((function(t,r){return __assign(__assign({},t),r(e))}),{})}}function defineBoolean(t,e){return defineValue(t,e,(function(t){return"boolean"==typeof t?t?"on":"off":void 0}))}function defineNumber(t,e){return defineValue(t,e,(function(t){return"number"==typeof t?t.toString():void 0}))}function defineString(t,e){return defineValue(t,e,(function(t){return"string"==typeof t?t:void 0}))}function defineValue(t,e,r){return function(n){var o,i=r(n[e]);return null!=i?((o={})[t]=i,o):{}}}function appendSettingsToUrl(t,e){var r={},n=uri.parse(t),o=defineParams(toFrameDeliverySettingsParams(r.EXPERIMENTAL_frameDelivery),toAdaptiveRenderingSettingsParams(r.EXPERIMENTAL_adaptiveRendering),toQualityOfServiceSettingsParams(r.EXPERIMENTAL_qualityOfService))(e);return uri.toString(uri.addQueryParams(o,n))}function toFrameDeliverySettingsParams(t){return defineSettings((function(t){return t.EXPERIMENTAL_frameDelivery}),t,defineParams(defineBoolean("frame-delivery.rate-limit-enabled","rateLimitingEnabled"),defineNumber("frame-delivery.packet-loss-threshold","packetLossThreshold"),defineNumber("frame-delivery.history-max-size","historyMaxSize"),defineString("frame-delivery.timeout","timeout"),defineNumber("frame-delivery.timeout-ratio-threshold","timeoutRatioThreshold")))}function toAdaptiveRenderingSettingsParams(t){return defineSettings((function(t){return t.EXPERIMENTAL_adaptiveRendering}),t,defineParams(defineBoolean("adaptive-rendering.enabled","enabled"),defineString("adaptive-rendering.method","method"),defineNumber("adaptive-rendering.jpeg-quality-min","jpegMinQuality"),defineNumber("adaptive-rendering.jpeg-quality-max","jpegMaxQuality"),defineNumber("adaptive-rendering.image-scale-min","imageMinScale"),defineNumber("adaptive-rendering.image-scale-max","imageMaxScale"),defineNumber("adaptive-rendering.window-size","windowSize")))}function toQualityOfServiceSettingsParams(t){return defineSettings((function(t){return t.EXPERIMENTAL_qualityOfService}),t,defineParams(defineNumber("qos.history-max-size","historyMaxSize")))}function defineSettings(t,e,r){return function(n){var o=objects.defaults(t(n)||{},e);return r(o)}}var StreamApi=function(){function t(t,e){void 0===t&&(t=new WebSocketClientImpl),void 0===e&&(e=!1),this.websocket=t,this.loggingEnabled=e,this.onResponseDispatcher=new EventDispatcher,this.onRequestDispatcher=new EventDispatcher,this.onEventDispatcher=new EventDispatcher}return t.prototype.connect=function(t,e){return void 0===e&&(e={}),__awaiter(this,void 0,void 0,(function(){var r,n=this;return __generator(this,(function(o){switch(o.label){case 0:return r=__assign(__assign({},t),{url:appendSettingsToUrl(t.url,e)}),[4,this.websocket.connect(r)];case 1:return o.sent(),this.messageSubscription=this.websocket.onMessage((function(t){n.handleMessage(t)})),[2,{dispose:function(){return n.dispose()}}]}}))}))},t.prototype.dispose=function(){var t;this.websocket.close(),null===(t=this.messageSubscription)||void 0===t||t.dispose()},t.prototype.onRequest=function(t){return this.onRequestDispatcher.on(t)},t.prototype.onEvent=function(t){return this.onEventDispatcher.on(t)},t.prototype.startStream=function(t,e){return void 0===e&&(e=!0),this.sendRequest({startStream:t},e)},t.prototype.reconnect=function(t,e){return void 0===e&&(e=!0),__awaiter(this,void 0,void 0,(function(){return __generator(this,(function(){return[2,this.sendRequest({reconnect:t},e)]}))}))},t.prototype.updateStream=function(t,e){return void 0===e&&(e=!1),__awaiter(this,void 0,void 0,(function(){return __generator(this,(function(){return[2,this.sendRequest({updateStream:t},e)]}))}))},t.prototype.beginInteraction=function(t){return void 0===t&&(t=!0),this.sendRequest({beginInteraction:{}},t)},t.prototype.replaceCamera=function(t,e){return void 0===e&&(e=!0),this.sendRequest({updateCamera:t},e)},t.prototype.flyTo=function(t,e){return void 0===e&&(e=!0),this.sendRequest({flyTo:t},e)},t.prototype.updateDimensions=function(t,e){return void 0===e&&(e=!0),this.sendRequest({updateDimensions:t},e)},t.prototype.updateCrossSectioning=function(t,e){return void 0===e&&(e=!0),this.sendRequest({updateCrossSectioning:t},e)},t.prototype.hitItems=function(t,e){return void 0===e&&(e=!0),this.sendRequest({hitItems:t},e)},t.prototype.createSceneAlteration=function(t,e){return void 0===e&&(e=!0),this.sendRequest({createSceneAlteration:t},e)},t.prototype.endInteraction=function(t){return void 0===t&&(t=!0),this.sendRequest({endInteraction:{}},t)},t.prototype.syncTime=function(t,e){return void 0===e&&(e=!0),this.sendRequest({syncTime:t},e)},t.prototype.recordPerformance=function(t,e){return void 0===e&&(e=!0),this.sendRequest({recordPerformance:t},e)},t.prototype.loadSceneViewState=function(t,e){return void 0===e&&(e=!0),this.sendRequest({loadSceneViewState:t},e)},t.prototype.getStencilBuffer=function(){return this.sendRequest({getStencilBuffer:{}},!0)},t.prototype.replyResult=function(t,e){this.sendResponse(__assign({requestId:{value:t}},e))},t.prototype.replyError=function(t,e){this.sendResponse({requestId:{value:t},error:e})},t.prototype.handleMessage=function(t){var e=decode(t.data);this.log("WS message received",e),null!=(null==e?void 0:e.sentAtTime)&&(null!=e.response&&this.onResponseDispatcher.emit({sentAtTime:e.sentAtTime,response:e.response}),null!=e.request&&this.onRequestDispatcher.emit({sentAtTime:e.sentAtTime,request:e.request}),null!=e.event&&this.onEventDispatcher.emit({sentAtTime:e.sentAtTime,event:e.event}))},t.prototype.onResponse=function(t){return this.onResponseDispatcher.on(t)},t.prototype.log=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];this.loggingEnabled&&console.debug.apply(console,__spreadArray([t],e,!1))},t.prototype.sendRequest=function(t,e){var r=this,n=currentDateAsProtoTimestamp();if(e){var o=uuid.create(),i=__assign(__assign({},t),{requestId:{value:o}});return new Promise((function(e,u){var l=r.onResponse((function(r){var n;if(o===(null===(n=r.response.requestId)||void 0===n?void 0:n.value)){if(null==r.response.error)e(r.response);else{var i=r.response.error,f=i.message,c=i.details;u(new StreamRequestError(o,t,null==f?void 0:f.value,null==c?void 0:c.value))}l.dispose()}}));r.sendMessage({sentAtTime:n,request:i})}))}return this.sendMessage({sentAtTime:n,request:t}),Promise.resolve({})},t.prototype.sendMessage=function(t){this.websocket.send(encode(t)),this.log("WS message sent",t)},t.prototype.sendResponse=function(t){var e=currentDateAsProtoTimestamp();this.websocket.send(encode({sentAtTime:e,response:t}))},t}();function buildSceneOperation(t,e){const r=buildOperationTypes(e);switch(t.type){case"and":case"or":return{[t.type]:{queries:t.expressions.map((t=>({sceneItemQuery:buildSceneItemQuery(t)})))},operationTypes:r};case"item-id":case"supplied-id":return{item:{sceneItemQuery:buildSceneItemQuery(t)},operationTypes:r};case"all":return{all:{},operationTypes:r};default:return{}}}function buildSceneItemQuery(t){switch(t.type){case"item-id":return{id:new vertexvis.protobuf.core.Uuid({hex:t.value})};case"supplied-id":return{suppliedId:t.value};default:return{}}}function buildFlyToOperation(t,e,r){const n={frameCorrelationId:{value:t},animation:r?{duration:toProtoDuration(r.milliseconds)}:void 0};switch(e.flyTo.type){case"supplied":return Object.assign(Object.assign({},n),{itemSuppliedId:e.flyTo.data});case"internal":return Object.assign(Object.assign({},n),{itemId:new vertexvis.protobuf.core.Uuid({hex:e.flyTo.data})});case"camera":return Object.assign(Object.assign({},n),{camera:e.flyTo.data});case"bounding-box":return Object.assign(Object.assign({},n),{boundingBox:{xmin:e.flyTo.data.min.x,xmax:e.flyTo.data.max.x,ymin:e.flyTo.data.min.y,ymax:e.flyTo.data.max.y,zmin:e.flyTo.data.min.z,zmax:e.flyTo.data.max.z}});default:return{}}}function buildOperationTypes(t){return t.map((t=>{switch(t.type){case"change-material":return{changeMaterial:{material:{d:t.material.opacity,ns:t.material.glossiness,ka:t.material.ambient,kd:t.material.diffuse,ks:t.material.specular,ke:t.material.emissive}}};case"clear-override":return{changeMaterial:{}};case"change-transform":return{changeTransform:{transform:Object.assign({},t.transform)}};case"hide":return{changeVisibility:{visible:!1}};case"show":return{changeVisibility:{visible:!0}};case"select":return{changeSelection:{material:{d:t.material.opacity,ns:t.material.glossiness,ka:t.material.ambient,kd:t.material.diffuse,ks:t.material.specular,ke:t.material.emissive}}};case"deselect":return{changeSelection:{}};default:return{}}}))}const DEFAULT_TIMEOUT_IN_MS=1e4;class StreamApiEventDispatcher{constructor(t,e,r,n=DEFAULT_TIMEOUT_IN_MS){this.stream=t,this.predicate=e,this.transform=r,this.timeout=n,this.listeners=[],this.handleMessage=this.handleMessage.bind(this)}on(t){this.listeners=[...this.listeners,t],null!=this.eventDisposable&&null!=this.requestDisposable||this.addListeners()}off(t){this.listeners=this.listeners.filter((e=>e!==t)),0===this.listeners.length&&this.removeListeners()}once(){let t;return async.timeout(this.timeout,new Promise((e=>{t=r=>{e(r),this.off(t)},this.on(t)}))).finally((()=>{this.off(t)}))}handleMessage(t){if(this.predicate(t)){const e=this.transform(t);null!=e&&this.listeners.forEach((t=>t(e)))}}addListeners(){this.eventDisposable=this.stream.onEvent(this.handleMessage),this.requestDisposable=this.stream.onRequest(this.handleMessage)}removeListeners(){var t,e;null===(t=this.eventDisposable)||void 0===t||t.dispose(),null===(e=this.requestDisposable)||void 0===e||e.dispose()}}class CameraRenderResult{constructor(t,e,{animationId:r,correlationId:n},o){this.data=void 0,this.onAnimationCompleted=new StreamApiEventDispatcher(t,(t=>{var e,n,o;return(null===(o=null===(n=null===(e=t.event)||void 0===e?void 0:e.animationCompleted)||void 0===n?void 0:n.animationId)||void 0===o?void 0:o.hex)===r}),(t=>{var e,r,n;return(null===(n=null===(r=null===(e=t.event)||void 0===e?void 0:e.animationCompleted)||void 0===r?void 0:r.animationId)||void 0===n?void 0:n.hex)||void 0}),o),this.onFrameReceived=new StreamApiEventDispatcher(t,(t=>{var e,r,o;return!!(null===(o=null===(r=null===(e=t.request)||void 0===e?void 0:e.drawFrame)||void 0===r?void 0:r.frameCorrelationIds)||void 0===o?void 0:o.some((t=>t===n)))}),(t=>{var r;return null!=(null===(r=t.request)||void 0===r?void 0:r.drawFrame)?e(t.request.drawFrame):void 0}),o)}}const PI_OVER_360=.008726646259972;class TerminalFlyToExecutor{constructor(t){this.flyToOptions=t}build(){return this.flyToOptions}}class FlyToExecutor{withItemId(t){return new TerminalFlyToExecutor({flyTo:{type:"internal",data:t}})}withSuppliedId(t){return new TerminalFlyToExecutor({flyTo:{type:"supplied",data:t}})}withCamera(t){return new TerminalFlyToExecutor({flyTo:{type:"camera",data:t}})}withBoundingBox(t){return new TerminalFlyToExecutor({flyTo:{type:"bounding-box",data:t}})}build(){return this.flyToOptions}}class Camera{constructor(t,e,r,n,o){this.stream=t,this.aspect=e,this.data=r,this.boundingBox=n,this.decodeFrame=o}fitToBoundingBox(t){const e=1.1*vector3.magnitude(vector3.subtract(t.max,boundingBox.center(t)));let r=Math.tan(this.fovY*PI_OVER_360);this.aspectRatio<1&&(r*=this.aspectRatio);const n=Math.abs(e/r),o=vector3.scale(n,vector3.normalize(this.viewVector())),i=boundingBox.center(t),u=vector3.subtract(i,o);return this.update({lookAt:i,position:u})}distanceToBoundingBoxCenter(t){const e=boundingBox.center(t||this.boundingBox),r=vector3.subtract(this.position,e);return Math.abs(vector3.dot(vector3.subtract(this.lookAt,this.position),r))/vector3.magnitude(vector3.subtract(this.lookAt,this.position))}flyTo(t){return"function"!=typeof t?(this.flyToOptions={flyTo:this.buildFlyToType(t)},this):(this.flyToOptions=t(new FlyToExecutor).build(),this)}moveBy(t){return this.update({position:vector3.add(this.position,t),lookAt:vector3.add(this.lookAt,t)})}viewAll(){return this.fitToBoundingBox(this.boundingBox)}async render(t){var e,r,n;null==this.flyToOptions&&null!=t&&(this.flyToOptions={flyTo:{type:"camera",data:this.data}});try{const o=uuid.create();if(null!=this.flyToOptions){const i=buildFlyToOperation(o,this.flyToOptions,null==t?void 0:t.animation),u=await this.stream.flyTo(i,!0);return new CameraRenderResult(this.stream,this.decodeFrame,{correlationId:o,animationId:(null===(r=null===(e=u.flyTo)||void 0===e?void 0:e.animationId)||void 0===r?void 0:r.hex)||void 0},null!=(null===(n=null==t?void 0:t.animation)||void 0===n?void 0:n.milliseconds)?t.animation.milliseconds+DEFAULT_TIMEOUT_IN_MS:void 0)}return this.stream.replaceCamera({camera:this.data,frameCorrelationId:{value:o}}),new CameraRenderResult(this.stream,this.decodeFrame,{correlationId:o})}catch(t){throw console.warn("Error when performing render: ",t),t}}rotateAroundAxis(t,e){return this.rotateAroundAxisAtPoint(t,this.lookAt,e)}rotateAroundAxisAtPoint(t,e,r){return this.update({position:vector3.rotateAboutAxis(t,this.position,r,e),lookAt:vector3.rotateAboutAxis(t,this.lookAt,r,e),up:vector3.rotateAboutAxis(t,this.up,r,vector3.origin())})}standardView(t){return this.update({position:t.position,lookAt:vector3.origin(),up:t.up})}update(t){return new Camera(this.stream,this.aspectRatio,Object.assign(Object.assign({},this.data),t),this.boundingBox,this.decodeFrame)}buildFlyToType(t){if(null!=t.boundingBox)return{type:"bounding-box",data:t.boundingBox};if(null!=t.camera)return{type:"camera",data:t.camera};if(null!=t.itemId)return{type:"internal",data:t.itemId};if(null!=t.itemSuppliedId)return{type:"supplied",data:t.itemSuppliedId};throw new Error("Fly to must specify at least one option.")}computeClippingPlanes(t){return fromBoundingBoxAndLookAtCamera(this.boundingBox,t)}viewVector(){return vector3.subtract(this.lookAt,this.position)}get position(){return Object.assign({},this.data.position)}get up(){return Object.assign({},this.data.up)}get lookAt(){return Object.assign({},this.data.lookAt)}get fovY(){return 45}get aspectRatio(){return this.aspect}get near(){const{near:t}=this.computeClippingPlanes(this.data);return t}get far(){const{far:t}=this.computeClippingPlanes(this.data);return t}}class Raycaster{constructor(t,e){this.stream=t,this.imageScaleProvider=e}async hitItems(t,e){const r=this.imageScaleProvider();return(await this.stream.hitItems({point:point.scale(t,(null==r?void 0:r.x)||1,(null==r?void 0:r.y)||1),includeMetadata:null==e?void 0:e.includeMetadata},!0)).hitItems||void 0}}class CrossSectioner{constructor(t,e){this.stream=t,this.data=e}async update(t){return(await this.stream.updateCrossSectioning({crossSectioning:t},!0)).updateCrossSectioning||void 0}current(){return this.data}}class SceneOperationBuilder{constructor(t=[]){this.operations=t}build(){return this.operations.concat()}materialOverride(t){return new SceneOperationBuilder(this.operations.concat([{type:"change-material",material:t}]))}show(){return new SceneOperationBuilder(this.operations.concat([{type:"show"}]))}hide(){return new SceneOperationBuilder(this.operations.concat([{type:"hide"}]))}select(t){return new SceneOperationBuilder(this.operations.concat([{type:"select",material:t}]))}deselect(){return new SceneOperationBuilder(this.operations.concat([{type:"deselect"}]))}clearMaterialOverrides(){return new SceneOperationBuilder(this.operations.concat([{type:"clear-override"}]))}transform(t){return new SceneOperationBuilder(this.operations.concat([{type:"change-transform",transform:t}]))}}class RootQuery{all(){return new AllQuery}withItemIds(t){return new BulkQuery(t,"item-id")}withSuppliedIds(t){return new BulkQuery(t,"supplied-id")}withItemId(t){return new SingleQuery({type:"item-id",value:t})}withSuppliedId(t){return new SingleQuery({type:"supplied-id",value:t})}}class AllQuery{build(){return{type:"all"}}}class BulkQuery{constructor(t,e){this.ids=t,this.type=e}build(){return{type:"or",expressions:this.ids.map((t=>({type:this.type,value:t})))}}}class SingleQuery{constructor(t){this.query=t}build(){return Object.assign({},this.query)}and(){return new AndQuery([this.query])}or(){return new OrQuery([this.query])}}class OrQuery{constructor(t){this.expressions=t}build(){return{type:"or",expressions:[...this.expressions]}}withItemId(t){return new OrQuery([...this.expressions,{type:"item-id",value:t}])}withSuppliedId(t){return new OrQuery([...this.expressions,{type:"supplied-id",value:t}])}or(){return this}}class AndQuery{constructor(t){this.expressions=t}build(){return{type:"and",expressions:[...this.expressions]}}withItemId(t){return new AndQuery([...this.expressions,{type:"item-id",value:t}])}withSuppliedId(t){return new AndQuery([...this.expressions,{type:"supplied-id",value:t}])}and(){return this}}class SceneItemQueryExecutor{constructor(t){this.defaultSelectionMaterial=t}where(t){const e=t(new RootQuery).build();return new SceneItemOperationsBuilder(e,this.defaultSelectionMaterial)}}class CustomError extends Error{constructor(t,e){super(),this.message=null!=e?`${t} Nested exception is: ${e.message}`:t,this.stack=null==e?void 0:e.stack,this.name=this.constructor.name}}class InvalidCredentialsError extends CustomError{}class ViewerInitializationError extends CustomError{}class ComponentInitializationError extends CustomError{}class WebsocketConnectionError extends CustomError{}class InteractionHandlerError extends CustomError{}class ImageLoadError extends CustomError{}class IllegalStateError extends CustomError{}class InvalidArgumentError extends CustomError{}class SceneItemOperationsBuilder{constructor(t,e,r){this.query=t,this.defaultSelectionMaterial=e,this.builder=null!=r?r:new SceneOperationBuilder}materialOverride(t){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.materialOverride("string"==typeof t?fromHex(t):t))}hide(){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.hide())}show(){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.show())}select(t){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.select("string"==typeof t?fromHex(t):t||this.defaultSelectionMaterial))}deselect(){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.deselect())}clearMaterialOverrides(){return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.clearMaterialOverrides())}transform(t){if(Array.isArray(t)){if(16!==t.length)throw new InvalidArgumentError("Matrix provided must contain exactly 16 values (4x4).");return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.transform({r0:{x:t[0],y:t[1],z:t[2],w:t[3]},r1:{x:t[4],y:t[5],z:t[6],w:t[7]},r2:{x:t[8],y:t[9],z:t[10],w:t[11]},r3:{x:t[12],y:t[13],z:t[14],w:t[15]}}))}return new SceneItemOperationsBuilder(this.query,this.defaultSelectionMaterial,this.builder.transform(t))}build(){return{query:this.query,operations:this.builder.build()}}}class ItemsOperationExecutor{constructor(t,e,r){this.sceneViewId=t,this.stream=e,this.queryOperations=r}async execute(t){const e=this.queryOperations.map((t=>buildSceneOperation(t.query,t.operations))),r={sceneViewId:{hex:this.sceneViewId},operations:e,suppliedCorrelationId:null!=(null==t?void 0:t.suppliedCorrelationId)?{value:null==t?void 0:t.suppliedCorrelationId}:void 0};await this.stream.createSceneAlteration(r)}}class Scene{constructor(t,e,r,n,o,i){this.stream=t,this.frame=e,this.decodeFrame=r,this.imageScaleProvider=n,this.sceneViewId=o,this.defaultSelectionMaterial=i}async applySceneViewState(t){return await this.stream.loadSceneViewState({sceneViewStateId:{hex:t}},!0)}items(t){const e=t(new SceneItemQueryExecutor(this.defaultSelectionMaterial)),r=(Array.isArray(e)?e:[e]).reduce(((t,e)=>t.concat(e.build())),[]);return new ItemsOperationExecutor(this.sceneViewId,this.stream,r)}camera(){const{scene:t}=this.frame,e={position:t.camera.position,lookAt:t.camera.lookAt,up:t.camera.up};return new Camera(this.stream,dimensions.aspectRatio(this.viewport()),e,this.frame.scene.boundingBox,this.decodeFrame)}boundingBox(){return this.frame.scene.boundingBox}crossSectioning(){return new CrossSectioner(this.stream,this.frame.scene.crossSection)}raycaster(){return new Raycaster(this.stream,this.imageScaleProvider)}viewport(){return this.frame.dimensions}scale(){return this.imageScaleProvider()||point.create(1,1)}}export{CustomError as C,InvalidCredentialsError as I,Scene as S,ViewerInitializationError as V,WebSocketClientImpl as W,SynchronizedClock as a,ImageLoadError as b,colorMaterial as c,StreamApi as d,defaultSelectionMaterial as e,fromUrn as f,WebsocketConnectionError as g,currentDateAsProtoTimestamp as h,InteractionHandlerError as i,ComponentInitializationError as j,IllegalStateError as k,loadableResource as l,fromHex as m,protoToDate as p,toProtoDuration as t,vertexvis as v}