angular-three-soba 2.0.0-beta.7 → 2.0.0-beta.8

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 (296) hide show
  1. package/abstractions/billboard/billboard.d.ts +11 -7
  2. package/abstractions/detailed/detailed.d.ts +26 -0
  3. package/abstractions/edges/edges.d.ts +23 -11
  4. package/abstractions/grid/grid.d.ts +41 -50
  5. package/abstractions/index.d.ts +1 -7
  6. package/abstractions/text/text.d.ts +10 -4
  7. package/abstractions/text-3d/text-3d.d.ts +47 -40
  8. package/cameras/camera/camera-content.d.ts +1 -1
  9. package/cameras/camera/camera.d.ts +16 -13
  10. package/cameras/cube-camera/cube-camera.d.ts +50 -23
  11. package/cameras/index.d.ts +0 -1
  12. package/cameras/orthographic-camera/orthographic-camera.d.ts +29 -18
  13. package/cameras/perspective-camera/perspective-camera.d.ts +10 -1
  14. package/controls/orbit-controls/orbit-controls.d.ts +30 -13
  15. package/esm2022/abstractions/billboard/billboard.mjs +36 -33
  16. package/esm2022/abstractions/detailed/detailed.mjs +64 -0
  17. package/esm2022/abstractions/edges/edges.mjs +58 -63
  18. package/esm2022/abstractions/grid/grid.mjs +140 -110
  19. package/esm2022/abstractions/index.mjs +2 -8
  20. package/esm2022/abstractions/text/text.mjs +123 -122
  21. package/esm2022/abstractions/text-3d/text-3d.mjs +119 -121
  22. package/esm2022/cameras/camera/camera-content.mjs +5 -6
  23. package/esm2022/cameras/camera/camera.mjs +48 -42
  24. package/esm2022/cameras/cube-camera/cube-camera.mjs +129 -99
  25. package/esm2022/cameras/index.mjs +1 -2
  26. package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +78 -75
  27. package/esm2022/cameras/perspective-camera/perspective-camera.mjs +25 -26
  28. package/esm2022/controls/orbit-controls/orbit-controls.mjs +94 -90
  29. package/esm2022/loaders/gltf-loader/gltf-loader.mjs +3 -6
  30. package/esm2022/loaders/loader/loader.mjs +92 -87
  31. package/esm2022/loaders/progress/progress.mjs +1 -1
  32. package/esm2022/loaders/texture-loader/texture-loader.mjs +4 -4
  33. package/esm2022/materials/index.mjs +2 -1
  34. package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +60 -51
  35. package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +239 -255
  36. package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +99 -97
  37. package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +167 -146
  38. package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +44 -42
  39. package/esm2022/materials/point-material/point-material.mjs +46 -0
  40. package/esm2022/misc/animations/animations.mjs +20 -16
  41. package/esm2022/misc/bake-shadows/bake-shadows.mjs +13 -13
  42. package/esm2022/misc/caustics/caustics.mjs +387 -0
  43. package/esm2022/misc/decal/decal.mjs +187 -0
  44. package/esm2022/misc/depth-buffer/depth-buffer.mjs +33 -35
  45. package/esm2022/misc/example/example.mjs +160 -0
  46. package/esm2022/misc/fbo/fbo.mjs +35 -35
  47. package/esm2022/misc/html/html-wrapper.mjs +478 -0
  48. package/esm2022/misc/html/html.mjs +304 -0
  49. package/esm2022/misc/index.mjs +10 -1
  50. package/esm2022/misc/sampler/sampler.mjs +142 -0
  51. package/esm2022/misc/shadow/shadow.mjs +111 -0
  52. package/esm2022/misc/stats-gl/stats-gl.mjs +61 -0
  53. package/esm2022/misc/trail/trail.mjs +209 -0
  54. package/esm2022/misc/trail-texture/inject-trail-texture.mjs +17 -0
  55. package/esm2022/misc/trail-texture/trail-texture.mjs +106 -0
  56. package/esm2022/modifiers/angular-three-soba-modifiers.mjs +5 -0
  57. package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +64 -0
  58. package/esm2022/modifiers/index.mjs +2 -0
  59. package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +44 -0
  60. package/esm2022/performances/adaptive-events/adaptive-events.mjs +27 -0
  61. package/esm2022/performances/angular-three-soba-performances.mjs +5 -0
  62. package/esm2022/performances/index.mjs +6 -0
  63. package/esm2022/performances/points/points-input.mjs +64 -0
  64. package/esm2022/performances/points/points.mjs +329 -0
  65. package/esm2022/performances/points/position-point.mjs +54 -0
  66. package/esm2022/performances/segments/segment-object.mjs +9 -0
  67. package/esm2022/performances/segments/segments.mjs +182 -0
  68. package/esm2022/shaders/blur-pass/blur-pass.mjs +1 -1
  69. package/esm2022/shaders/caustics/caustics-material.mjs +130 -0
  70. package/esm2022/shaders/caustics/caustics-projection-material.mjs +31 -0
  71. package/esm2022/shaders/convolution-material/convolution-material.mjs +1 -1
  72. package/esm2022/shaders/discard-material/discard-material.mjs +1 -1
  73. package/esm2022/shaders/grid-material/grid-material.mjs +29 -14
  74. package/esm2022/shaders/index.mjs +5 -3
  75. package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +42 -41
  76. package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +1 -1
  77. package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +2 -2
  78. package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +4 -4
  79. package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +1 -1
  80. package/esm2022/shaders/shader-material/shader-material.mjs +1 -1
  81. package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +17 -25
  82. package/esm2022/shaders/sparkles-material/sparkles-material.mjs +32 -46
  83. package/esm2022/shaders/spot-light-material/spot-light-material.mjs +7 -7
  84. package/esm2022/shaders/star-field-material/star-field-material.mjs +3 -2
  85. package/esm2022/shaders/wireframe-material/wireframe-material.mjs +247 -0
  86. package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +160 -176
  87. package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +1 -1
  88. package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +126 -128
  89. package/esm2022/staging/backdrop/backdrop.mjs +77 -0
  90. package/esm2022/staging/bb-anchor/bb-anchor.mjs +70 -0
  91. package/esm2022/staging/bounds/bounds.mjs +144 -143
  92. package/esm2022/staging/camera-shake/camera-shake.mjs +86 -80
  93. package/esm2022/staging/center/center.mjs +106 -91
  94. package/esm2022/staging/cloud/cloud.mjs +118 -124
  95. package/esm2022/staging/contact-shadows/contact-shadows.mjs +131 -134
  96. package/esm2022/staging/environment/assets.mjs +12 -12
  97. package/esm2022/staging/environment/environment-cube.mjs +28 -30
  98. package/esm2022/staging/environment/environment-ground.mjs +18 -20
  99. package/esm2022/staging/environment/environment-input.mjs +97 -84
  100. package/esm2022/staging/environment/environment-map.mjs +33 -33
  101. package/esm2022/staging/environment/environment-portal.mjs +75 -97
  102. package/esm2022/staging/environment/environment.mjs +34 -51
  103. package/esm2022/staging/environment/utils.mjs +35 -14
  104. package/esm2022/staging/float/float.mjs +70 -58
  105. package/esm2022/staging/index.mjs +7 -3
  106. package/esm2022/staging/matcap-texture/matcap-texture.mjs +64 -0
  107. package/esm2022/staging/normal-texture/normal-texture.mjs +53 -0
  108. package/esm2022/staging/sky/sky.mjs +85 -80
  109. package/esm2022/staging/sparkles/sparkles.mjs +108 -105
  110. package/esm2022/staging/spot-light/shadow-mesh-input.mjs +63 -0
  111. package/esm2022/staging/spot-light/shadow-mesh.mjs +266 -0
  112. package/esm2022/staging/spot-light/spot-light-input.mjs +67 -58
  113. package/esm2022/staging/spot-light/spot-light.mjs +51 -64
  114. package/esm2022/staging/spot-light/volumetric-mesh.mjs +61 -78
  115. package/esm2022/staging/stage/stage.mjs +304 -290
  116. package/esm2022/staging/stars/stars.mjs +101 -102
  117. package/esm2022/staging/wireframe/wireframe-input.mjs +191 -0
  118. package/esm2022/staging/wireframe/wireframe.mjs +224 -0
  119. package/esm2022/utils/angular-three-soba-utils.mjs +5 -0
  120. package/esm2022/utils/content/content.mjs +15 -0
  121. package/esm2022/utils/index.mjs +2 -0
  122. package/fesm2022/angular-three-soba-abstractions.mjs +505 -2087
  123. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  124. package/fesm2022/angular-three-soba-cameras.mjs +302 -259
  125. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  126. package/fesm2022/angular-three-soba-controls.mjs +93 -88
  127. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  128. package/fesm2022/angular-three-soba-loaders.mjs +94 -90
  129. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  130. package/fesm2022/angular-three-soba-materials.mjs +655 -590
  131. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  132. package/fesm2022/angular-three-soba-misc.mjs +2198 -89
  133. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  134. package/fesm2022/angular-three-soba-modifiers.mjs +71 -0
  135. package/fesm2022/angular-three-soba-modifiers.mjs.map +1 -0
  136. package/fesm2022/angular-three-soba-performances.mjs +697 -0
  137. package/fesm2022/angular-three-soba-performances.mjs.map +1 -0
  138. package/fesm2022/angular-three-soba-shaders.mjs +501 -264
  139. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  140. package/fesm2022/angular-three-soba-staging.mjs +2870 -2555
  141. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  142. package/fesm2022/angular-three-soba-utils.mjs +22 -0
  143. package/fesm2022/angular-three-soba-utils.mjs.map +1 -0
  144. package/loaders/gltf-loader/gltf-loader.d.ts +4 -3
  145. package/loaders/loader/loader.d.ts +19 -17
  146. package/loaders/progress/progress.d.ts +1 -1
  147. package/loaders/texture-loader/texture-loader.d.ts +2 -2
  148. package/materials/index.d.ts +1 -0
  149. package/materials/mesh-distort-material/mesh-distort-material.d.ts +25 -15
  150. package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +74 -56
  151. package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +33 -21
  152. package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +55 -39
  153. package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +19 -10
  154. package/materials/point-material/point-material.d.ts +24 -0
  155. package/metadata.json +1 -0
  156. package/misc/animations/animations.d.ts +6 -4
  157. package/misc/caustics/caustics.d.ts +87 -0
  158. package/misc/decal/decal.d.ts +49 -0
  159. package/misc/depth-buffer/depth-buffer.d.ts +2 -2
  160. package/misc/example/example.d.ts +81 -0
  161. package/misc/fbo/fbo.d.ts +2 -2
  162. package/misc/html/html-wrapper.d.ts +559 -0
  163. package/misc/html/html.d.ts +214 -0
  164. package/misc/index.d.ts +9 -0
  165. package/misc/sampler/sampler.d.ts +67 -0
  166. package/misc/shadow/shadow.d.ts +37 -0
  167. package/misc/stats-gl/stats-gl.d.ts +24 -0
  168. package/misc/trail/trail.d.ts +57 -0
  169. package/misc/trail-texture/inject-trail-texture.d.ts +9 -0
  170. package/misc/trail-texture/trail-texture.d.ts +50 -0
  171. package/modifiers/README.md +3 -0
  172. package/modifiers/curve-modifier/curve-modifier.d.ts +23 -0
  173. package/modifiers/index.d.ts +1 -0
  174. package/package.json +30 -22
  175. package/performances/README.md +3 -0
  176. package/performances/adaptive-dpr/adaptive-dpr.d.ts +14 -0
  177. package/{performance/adaptive → performances/adaptive-events}/adaptive-events.d.ts +3 -0
  178. package/performances/index.d.ts +5 -0
  179. package/performances/points/points-input.d.ts +32 -0
  180. package/performances/points/points.d.ts +92 -0
  181. package/{performance/instances/position-mesh.d.ts → performances/points/position-point.d.ts} +4 -3
  182. package/performances/segments/segment-object.d.ts +7 -0
  183. package/performances/segments/segments.d.ts +124 -0
  184. package/shaders/grid-material/grid-material.d.ts +33 -0
  185. package/shaders/index.d.ts +4 -2
  186. package/shaders/mesh-distort-material/mesh-distort-material.d.ts +146 -1
  187. package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
  188. package/shaders/shader-material/shader-material.d.ts +2 -2
  189. package/shaders/soft-shadow-material/soft-shadow-material.d.ts +10 -1
  190. package/shaders/sparkles-material/sparkles-material.d.ts +15 -1
  191. package/shaders/spot-light-material/spot-light-material.d.ts +11 -2
  192. package/shaders/star-field-material/star-field-material.d.ts +11 -1
  193. package/shaders/wireframe-material/wireframe-material.d.ts +58 -0
  194. package/staging/accumulative-shadows/accumulative-shadows.d.ts +89 -39
  195. package/staging/accumulative-shadows/randomized-lights.d.ts +40 -27
  196. package/staging/backdrop/backdrop.d.ts +30 -0
  197. package/staging/bb-anchor/bb-anchor.d.ts +27 -0
  198. package/staging/bounds/bounds.d.ts +100 -24
  199. package/staging/camera-shake/camera-shake.d.ts +30 -19
  200. package/staging/center/center.d.ts +43 -35
  201. package/staging/cloud/cloud.d.ts +26 -23
  202. package/staging/contact-shadows/contact-shadows.d.ts +41 -28
  203. package/staging/environment/assets.d.ts +9 -9
  204. package/staging/environment/environment-cube.d.ts +9 -5
  205. package/staging/environment/environment-ground.d.ts +7 -7
  206. package/staging/environment/environment-input.d.ts +36 -36
  207. package/staging/environment/environment-map.d.ts +10 -5
  208. package/staging/environment/environment-portal.d.ts +10 -5
  209. package/staging/environment/environment.d.ts +0 -4
  210. package/staging/environment/utils.d.ts +2 -2
  211. package/staging/float/float.d.ts +14 -10
  212. package/staging/index.d.ts +6 -2
  213. package/staging/matcap-texture/matcap-texture.d.ts +13 -0
  214. package/staging/normal-texture/normal-texture.d.ts +16 -0
  215. package/staging/sky/sky.d.ts +28 -21
  216. package/staging/sparkles/sparkles.d.ts +35 -21
  217. package/staging/spot-light/shadow-mesh-input.d.ts +29 -0
  218. package/staging/spot-light/shadow-mesh.d.ts +37 -0
  219. package/staging/spot-light/spot-light-input.d.ts +25 -25
  220. package/staging/spot-light/spot-light.d.ts +31 -15
  221. package/staging/spot-light/volumetric-mesh.d.ts +15 -9
  222. package/staging/stage/stage.d.ts +88 -63
  223. package/staging/stars/stars.d.ts +27 -16
  224. package/staging/wireframe/wireframe-input.d.ts +65 -0
  225. package/staging/wireframe/wireframe.d.ts +28 -0
  226. package/utils/README.md +3 -0
  227. package/utils/content/content.d.ts +8 -0
  228. package/utils/index.d.ts +1 -0
  229. package/web-types.json +1 -0
  230. package/abstractions/catmull-rom-line/catmull-rom-line.d.ts +0 -25
  231. package/abstractions/cubic-bezier-line/cubic-bezier-line.d.ts +0 -25
  232. package/abstractions/gizmo-helper/gizmo-helper.d.ts +0 -34
  233. package/abstractions/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
  234. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
  235. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -30
  236. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +0 -32
  237. package/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -14
  238. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -47
  239. package/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -40
  240. package/abstractions/line/line-input.d.ts +0 -42
  241. package/abstractions/line/line.d.ts +0 -35
  242. package/abstractions/quadratic-bezier-line/quadratic-bezier-line.d.ts +0 -23
  243. package/esm2022/abstractions/catmull-rom-line/catmull-rom-line.mjs +0 -131
  244. package/esm2022/abstractions/cubic-bezier-line/cubic-bezier-line.mjs +0 -113
  245. package/esm2022/abstractions/gizmo-helper/gizmo-helper.mjs +0 -210
  246. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
  247. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -95
  248. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -155
  249. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -62
  250. package/esm2022/abstractions/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -80
  251. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -206
  252. package/esm2022/abstractions/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -273
  253. package/esm2022/abstractions/line/line-input.mjs +0 -113
  254. package/esm2022/abstractions/line/line.mjs +0 -165
  255. package/esm2022/abstractions/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -128
  256. package/esm2022/performance/adaptive/adaptive-dpr.mjs +0 -46
  257. package/esm2022/performance/adaptive/adaptive-events.mjs +0 -31
  258. package/esm2022/performance/angular-three-soba-performance.mjs +0 -5
  259. package/esm2022/performance/detailed/detailed.mjs +0 -61
  260. package/esm2022/performance/index.mjs +0 -7
  261. package/esm2022/performance/instances/instance.mjs +0 -48
  262. package/esm2022/performance/instances/instances.mjs +0 -189
  263. package/esm2022/performance/instances/position-mesh.mjs +0 -52
  264. package/esm2022/performance/stats/stats.mjs +0 -79
  265. package/esm2022/shaders/caustics-material/caustics-material.mjs +0 -128
  266. package/esm2022/shaders/caustics-material/caustics-projection-material.mjs +0 -33
  267. package/esm2022/staging/caustics/caustisc.mjs +0 -384
  268. package/esm2022/staging/spot-light/spot-light-shadow-mesh-input.mjs +0 -57
  269. package/esm2022/staging/spot-light/spot-light-shadow-mesh.mjs +0 -258
  270. package/fesm2022/angular-three-soba-performance.mjs +0 -487
  271. package/fesm2022/angular-three-soba-performance.mjs.map +0 -1
  272. package/performance/README.md +0 -3
  273. package/performance/adaptive/adaptive-dpr.d.ts +0 -8
  274. package/performance/detailed/detailed.d.ts +0 -20
  275. package/performance/index.d.ts +0 -6
  276. package/performance/instances/instance.d.ts +0 -9
  277. package/performance/instances/instances.d.ts +0 -35
  278. package/performance/stats/stats.d.ts +0 -18
  279. package/plugin/generators.json +0 -19
  280. package/plugin/libs/plugin/README.md +0 -11
  281. package/plugin/package.json +0 -9
  282. package/plugin/src/generators/init/compat.d.ts +0 -2
  283. package/plugin/src/generators/init/compat.js +0 -6
  284. package/plugin/src/generators/init/compat.js.map +0 -1
  285. package/plugin/src/generators/init/init.d.ts +0 -7
  286. package/plugin/src/generators/init/init.js +0 -28
  287. package/plugin/src/generators/init/init.js.map +0 -1
  288. package/plugin/src/generators/init/schema.json +0 -6
  289. package/plugin/src/index.d.ts +0 -1
  290. package/plugin/src/index.js +0 -6
  291. package/plugin/src/index.js.map +0 -1
  292. package/staging/caustics/caustisc.d.ts +0 -70
  293. package/staging/spot-light/spot-light-shadow-mesh-input.d.ts +0 -29
  294. package/staging/spot-light/spot-light-shadow-mesh.d.ts +0 -38
  295. /package/shaders/{caustics-material → caustics}/caustics-material.d.ts +0 -0
  296. /package/shaders/{caustics-material → caustics}/caustics-projection-material.d.ts +0 -0
@@ -1,131 +1,161 @@
1
- import { NgIf, NgTemplateOutlet } from '@angular/common';
2
- import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, ElementRef, Input, ViewChild, computed, inject, } from '@angular/core';
3
- import { NgtArgs, NgtSignalStore, NgtStore, extend, injectBeforeRender, injectNgtRef } from 'angular-three';
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, DestroyRef, Directive, Input, TemplateRef, ViewChild, ViewContainerRef, computed, effect, inject, runInInjectionContext, untracked, } from '@angular/core';
3
+ import { NgtArgs, assertInjectionContext, extend, injectBeforeRender, injectNgtRef, injectNgtStore, signalStore, } from 'angular-three';
4
4
  import * as THREE from 'three';
5
- import { CubeCamera, Group } from 'three';
6
- import { NgtsCameraContent } from '../camera/camera-content';
5
+ import { Group } from 'three';
7
6
  import * as i0 from "@angular/core";
8
- extend({ Group, CubeCamera });
9
- class NgtsCubeCamera extends NgtSignalStore {
10
- /** Number of frames to render, Infinity */
11
- set frames(frames) {
12
- this.set({ frames });
7
+ const defaultCubeCameraState = {
8
+ resolution: 256,
9
+ near: 0.1,
10
+ far: 1000,
11
+ };
12
+ export function injectNgtsCubeCamera(cubeCameraState, { injector } = {}) {
13
+ injector = assertInjectionContext(injectNgtsCubeCamera, injector);
14
+ return runInInjectionContext(injector, () => {
15
+ const state = computed(() => ({ ...defaultCubeCameraState, ...cubeCameraState() }));
16
+ const resolution = computed(() => state().resolution);
17
+ const near = computed(() => state().near);
18
+ const far = computed(() => state().far);
19
+ const store = injectNgtStore();
20
+ const _gl = store.select('gl');
21
+ const _scene = store.select('scene');
22
+ const _fbo = computed(() => {
23
+ const renderTarget = new THREE.WebGLCubeRenderTarget(resolution());
24
+ renderTarget.texture.type = THREE.HalfFloatType;
25
+ return renderTarget;
26
+ });
27
+ effect((onCleanup) => {
28
+ const fbo = _fbo();
29
+ onCleanup(() => fbo.dispose());
30
+ });
31
+ const _camera = computed(() => new THREE.CubeCamera(near(), far(), _fbo()));
32
+ let originalFog;
33
+ let originalBackground;
34
+ const update = computed(() => {
35
+ const [scene, gl, camera, { envMap, fog }] = [_scene(), _gl(), _camera(), untracked(state)];
36
+ return () => {
37
+ originalFog = scene.fog;
38
+ originalBackground = scene.background;
39
+ scene.background = envMap || originalBackground;
40
+ scene.fog = fog || originalFog;
41
+ camera.update(gl, scene);
42
+ scene.fog = originalFog;
43
+ scene.background = originalBackground;
44
+ };
45
+ });
46
+ return { fbo: _fbo, camera: _camera, update };
47
+ });
48
+ }
49
+ extend({ Group });
50
+ export class NgtsCubeCameraContent {
51
+ static ngTemplateContextGuard(_, ctx) {
52
+ return true;
13
53
  }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsCubeCameraContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NgtsCubeCameraContent, isStandalone: true, selector: "ng-template[ngtsCubeCameraContent]", ngImport: i0 }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsCubeCameraContent, decorators: [{
58
+ type: Directive,
59
+ args: [{ selector: 'ng-template[ngtsCubeCameraContent]', standalone: true }]
60
+ }] });
61
+ export class NgtsCubeCamera {
14
62
  /** Resolution of the FBO, 256 */
15
- set resolution(resolution) {
16
- this.set({ resolution });
63
+ set _resolution(resolution) {
64
+ this.inputs.set({ resolution });
17
65
  }
18
66
  /** Camera near, 0.1 */
19
- set near(near) {
20
- this.set({ near });
67
+ set _near(near) {
68
+ this.inputs.set({ near });
21
69
  }
22
70
  /** Camera far, 1000 */
23
- set far(far) {
24
- this.set({ far });
71
+ set _far(far) {
72
+ this.inputs.set({ far });
25
73
  }
26
74
  /** Custom environment map that is temporarily set as the scenes background */
27
- set envMap(envMap) {
28
- this.set({ envMap });
75
+ set _envMap(envMap) {
76
+ this.inputs.set({ envMap });
29
77
  }
30
78
  /** Custom fog that is temporarily set as the scenes fog */
31
- set fog(fog) {
32
- this.set({ fog });
79
+ set _fog(fog) {
80
+ this.inputs.set({ fog });
33
81
  }
34
- #store;
35
- #resolution;
36
- #near;
37
- #far;
38
82
  constructor() {
39
- super({ frames: Infinity, resolution: 256, near: 0.1, far: 1000 });
83
+ this.inputs = signalStore({ frames: Infinity });
40
84
  this.cameraRef = injectNgtRef();
41
- this.#store = inject(NgtStore);
42
- this.#resolution = this.select('resolution');
43
- this.#near = this.select('near');
44
- this.#far = this.select('far');
45
- this.fbo = computed(() => {
46
- const resolution = this.#resolution();
47
- const fbo = new THREE.WebGLCubeRenderTarget(resolution);
48
- fbo.texture.encoding = this.#store.get('gl').outputEncoding;
49
- fbo.texture.type = THREE.HalfFloatType;
50
- return fbo;
85
+ this.cubeCamera = injectNgtsCubeCamera(this.inputs.state);
86
+ this.texture = computed(() => this.cubeCamera.fbo().texture);
87
+ this.beforeRender();
88
+ inject(DestroyRef).onDestroy(() => {
89
+ this.contentRef?.destroy();
51
90
  });
52
- this.cameraArgs = computed(() => [this.#near(), this.#far(), this.fbo()]);
91
+ }
92
+ ngOnInit() {
93
+ this.contentRef = this.anchor.createEmbeddedView(this.cameraContent, { texture: this.texture });
94
+ }
95
+ beforeRender() {
53
96
  let count = 0;
54
- let originalFog;
55
- let originalBackground;
56
- injectBeforeRender(({ scene, gl }) => {
57
- const { frames, envMap, fog } = this.get();
58
- if (envMap &&
59
- this.cameraRef.nativeElement &&
60
- this.groupRef.nativeElement &&
61
- (frames === Infinity || count < frames)) {
62
- this.groupRef.nativeElement.visible = false;
63
- originalFog = scene.fog;
64
- originalBackground = scene.background;
65
- scene.background = envMap || originalBackground;
66
- scene.fog = fog || originalFog;
67
- this.cameraRef.nativeElement.update(gl, scene);
68
- scene.fog = originalFog;
69
- scene.background = originalBackground;
70
- this.groupRef.nativeElement.visible = true;
97
+ injectBeforeRender(() => {
98
+ const camera = this.cameraRef.nativeElement;
99
+ if (!camera)
100
+ return;
101
+ const update = this.cubeCamera.update();
102
+ const frames = this.inputs.get('frames');
103
+ if (frames === Infinity || count < frames) {
104
+ camera.visible = false;
105
+ update();
106
+ camera.visible = true;
71
107
  count++;
72
108
  }
73
109
  });
74
110
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", frames: "frames", resolution: "resolution", near: "near", far: "far", envMap: "envMap", fog: "fog" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
77
- <ngt-group ngtCompound>
78
- <ngt-cube-camera [ref]="cameraRef" *args="cameraArgs()" />
79
- <ngt-group #group>
80
- <ng-container
81
- *ngIf="cameraContent && cameraContent.ngtsCameraContent && fbo()"
82
- [ngTemplateOutlet]="cameraContent.template"
83
- [ngTemplateOutletContext]="{ fbo: fbo(), group }"
84
- />
85
- </ngt-group>
86
- </ngt-group>
87
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsCubeCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsCubeCamera, isStandalone: true, selector: "ngts-cube-camera", inputs: { cameraRef: "cameraRef", _resolution: ["resolution", "_resolution"], _near: ["near", "_near"], _far: ["far", "_far"], _envMap: ["envMap", "_envMap"], _fog: ["fog", "_fog"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCubeCameraContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
113
+ <ngt-group ngtCompound>
114
+ <ngt-primitive *args="[cubeCamera.camera()]" />
115
+ <ngt-group [ref]="cameraRef">
116
+ <ng-container #anchor />
117
+ </ngt-group>
118
+ </ngt-group>
119
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
88
120
  }
89
- export { NgtsCubeCamera };
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsCubeCamera, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsCubeCamera, decorators: [{
91
122
  type: Component,
92
123
  args: [{
93
124
  selector: 'ngts-cube-camera',
94
125
  standalone: true,
95
126
  template: `
96
- <ngt-group ngtCompound>
97
- <ngt-cube-camera [ref]="cameraRef" *args="cameraArgs()" />
98
- <ngt-group #group>
99
- <ng-container
100
- *ngIf="cameraContent && cameraContent.ngtsCameraContent && fbo()"
101
- [ngTemplateOutlet]="cameraContent.template"
102
- [ngTemplateOutletContext]="{ fbo: fbo(), group }"
103
- />
104
- </ngt-group>
105
- </ngt-group>
106
- `,
107
- imports: [NgIf, NgTemplateOutlet, NgtArgs],
127
+ <ngt-group ngtCompound>
128
+ <ngt-primitive *args="[cubeCamera.camera()]" />
129
+ <ngt-group [ref]="cameraRef">
130
+ <ng-container #anchor />
131
+ </ngt-group>
132
+ </ngt-group>
133
+ `,
134
+ imports: [NgtArgs, NgTemplateOutlet],
108
135
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
109
136
  }]
110
- }], ctorParameters: function () { return []; }, propDecorators: { groupRef: [{
111
- type: ViewChild,
112
- args: ['group', { static: true }]
137
+ }], ctorParameters: function () { return []; }, propDecorators: { cameraRef: [{
138
+ type: Input
113
139
  }], cameraContent: [{
114
140
  type: ContentChild,
115
- args: [NgtsCameraContent]
116
- }], cameraRef: [{
117
- type: Input
118
- }], frames: [{
119
- type: Input
120
- }], resolution: [{
121
- type: Input
122
- }], near: [{
123
- type: Input
124
- }], far: [{
125
- type: Input
126
- }], envMap: [{
127
- type: Input
128
- }], fog: [{
129
- type: Input
141
+ args: [NgtsCubeCameraContent, { static: true, read: TemplateRef }]
142
+ }], anchor: [{
143
+ type: ViewChild,
144
+ args: ['anchor', { static: true, read: ViewContainerRef }]
145
+ }], _resolution: [{
146
+ type: Input,
147
+ args: [{ alias: 'resolution' }]
148
+ }], _near: [{
149
+ type: Input,
150
+ args: [{ alias: 'near' }]
151
+ }], _far: [{
152
+ type: Input,
153
+ args: [{ alias: 'far' }]
154
+ }], _envMap: [{
155
+ type: Input,
156
+ args: [{ alias: 'envMap' }]
157
+ }], _fog: [{
158
+ type: Input,
159
+ args: [{ alias: 'fog' }]
130
160
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1jYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvY3ViZS1jYW1lcmEvY3ViZS1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUU3RCxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQWlCOUIsTUFrQmEsY0FBZSxTQUFRLGNBQW1DO0lBTW5FLDJDQUEyQztJQUMzQyxJQUFhLE1BQU0sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsSUFBYSxVQUFVLENBQUMsVUFBa0I7UUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELHVCQUF1QjtJQUN2QixJQUFhLElBQUksQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFB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LFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDL0MsS0FBSyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQzNDLEtBQUssRUFBRSxDQUFDO2FBQ1g7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBekVRLGNBQWM7a0dBQWQsY0FBYywrUEFFVCxpQkFBaUIsd0xBakJyQjs7Ozs7Ozs7Ozs7S0FXVCw0REFDUyxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxPQUFPOztTQUdoQyxjQUFjOzJGQUFkLGNBQWM7a0JBbEIxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUV5QyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0gsYUFBYTtzQkFBN0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBRXRCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR08sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sR0FBRztzQkFBZixLQUFLO2dCQUlPLE1BQU07c0JBQWxCLEtBQUs7Z0JBSU8sR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0U2lnbmFsU3RvcmUsIE5ndFN0b3JlLCBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0Tmd0UmVmIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBDdWJlQ2FtZXJhLCBHcm91cCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNDYW1lcmFDb250ZW50IH0gZnJvbSAnLi4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgR3JvdXAsIEN1YmVDYW1lcmEgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c0N1YmVDYW1lcmFTdGF0ZSB7XG4gICAgLyoqIE51bWJlciBvZiBmcmFtZXMgdG8gcmVuZGVyLCBJbmZpbml0eSAqL1xuICAgIGZyYW1lczogbnVtYmVyO1xuICAgIC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBGQk8sIDI1NiAqL1xuICAgIHJlc29sdXRpb246IG51bWJlcjtcbiAgICAvKiogQ2FtZXJhIG5lYXIsIDAuMSAqL1xuICAgIG5lYXI6IG51bWJlcjtcbiAgICAvKiogQ2FtZXJhIGZhciwgMTAwMCAqL1xuICAgIGZhcjogbnVtYmVyO1xuICAgIC8qKiBDdXN0b20gZW52aXJvbm1lbnQgbWFwIHRoYXQgaXMgdGVtcG9yYXJpbHkgc2V0IGFzIHRoZSBzY2VuZXMgYmFja2dyb3VuZCAqL1xuICAgIGVudk1hcDogVEhSRUUuVGV4dHVyZTtcbiAgICAvKiogQ3VzdG9tIGZvZyB0aGF0IGlzIHRlbXBvcmFyaWx5IHNldCBhcyB0aGUgc2NlbmVzIGZvZyAqL1xuICAgIGZvZzogVEhSRUUuRm9nIHwgVEhSRUUuRm9nRXhwMjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLWN1YmUtY2FtZXJhJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtZ3JvdXAgbmd0Q29tcG91bmQ+XG4gICAgICAgICAgICA8bmd0LWN1YmUtY2FtZXJhIFtyZWZdPVwiY2FtZXJhUmVmXCIgKmFyZ3M9XCJjYW1lcmFBcmdzKClcIiAvPlxuICAgICAgICAgICAgPG5ndC1ncm91cCAjZ3JvdXA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudCAmJiBmYm8oKVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhbWVyYUNvbnRlbnQudGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmYm86IGZibygpLCBncm91cCB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9uZ3QtZ3JvdXA+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0N1YmVDYW1lcmEgZXh0ZW5kcyBOZ3RTaWduYWxTdG9yZTxOZ3RzQ3ViZUNhbWVyYVN0YXRlPiB7XG4gICAgQFZpZXdDaGlsZCgnZ3JvdXAnLCB7IHN0YXRpYzogdHJ1ZSB9KSBncm91cFJlZiE6IEVsZW1lbnRSZWY8VEhSRUUuR3JvdXA+O1xuICAgIEBDb250ZW50Q2hpbGQoTmd0c0NhbWVyYUNvbnRlbnQpIGNhbWVyYUNvbnRlbnQ/OiBOZ3RzQ2FtZXJhQ29udGVudDtcblxuICAgIEBJbnB1dCgpIGNhbWVyYVJlZiA9IGluamVjdE5ndFJlZjxUSFJFRS5DdWJlQ2FtZXJhPigpO1xuXG4gICAgLyoqIE51bWJlciBvZiBmcmFtZXMgdG8gcmVuZGVyLCBJbmZpbml0eSAqL1xuICAgIEBJbnB1dCgpIHNldCBmcmFtZXMoZnJhbWVzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmcmFtZXMgfSk7XG4gICAgfVxuICAgIC8qKiBSZXNvbHV0aW9uIG9mIHRoZSBGQk8sIDI1NiAqL1xuICAgIEBJbnB1dCgpIHNldCByZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJlc29sdXRpb24gfSk7XG4gICAgfVxuICAgIC8qKiBDYW1lcmEgbmVhciwgMC4xICovXG4gICAgQElucHV0KCkgc2V0IG5lYXIobmVhcjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbmVhciB9KTtcbiAgICB9XG4gICAgLyoqIENhbWVyYSBmYXIsIDEwMDAgKi9cbiAgICBASW5wdXQoKSBzZXQgZmFyKGZhcjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFyIH0pO1xuICAgIH1cbiAgICAvKiogQ3VzdG9tIGVudmlyb25tZW50IG1hcCB0aGF0IGlzIHRlbXBvcmFyaWx5IHNldCBhcyB0aGUgc2NlbmVzIGJhY2tncm91bmQgKi9cbiAgICBASW5wdXQoKSBzZXQgZW52TWFwKGVudk1hcDogVEhSRUUuVGV4dHVyZSkge1xuICAgICAgICB0aGlzLnNldCh7IGVudk1hcCB9KTtcbiAgICB9XG4gICAgLyoqIEN1c3RvbSBmb2cgdGhhdCBpcyB0ZW1wb3JhcmlseSBzZXQgYXMgdGhlIHNjZW5lcyBmb2cgKi9cbiAgICBASW5wdXQoKSBzZXQgZm9nKGZvZzogVEhSRUUuRm9nIHwgVEhSRUUuRm9nRXhwMikge1xuICAgICAgICB0aGlzLnNldCh7IGZvZyB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuXG4gICAgcmVhZG9ubHkgI3Jlc29sdXRpb24gPSB0aGlzLnNlbGVjdCgncmVzb2x1dGlvbicpO1xuICAgIHJlYWRvbmx5ICNuZWFyID0gdGhpcy5zZWxlY3QoJ25lYXInKTtcbiAgICByZWFkb25seSAjZmFyID0gdGhpcy5zZWxlY3QoJ2ZhcicpO1xuXG4gICAgcmVhZG9ubHkgZmJvID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXNvbHV0aW9uID0gdGhpcy4jcmVzb2x1dGlvbigpO1xuICAgICAgICBjb25zdCBmYm8gPSBuZXcgVEhSRUUuV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KHJlc29sdXRpb24pO1xuICAgICAgICBmYm8udGV4dHVyZS5lbmNvZGluZyA9IHRoaXMuI3N0b3JlLmdldCgnZ2wnKS5vdXRwdXRFbmNvZGluZztcbiAgICAgICAgZmJvLnRleHR1cmUudHlwZSA9IFRIUkVFLkhhbGZGbG9hdFR5cGU7XG4gICAgICAgIHJldHVybiBmYm87XG4gICAgfSk7XG5cbiAgICByZWFkb25seSBjYW1lcmFBcmdzID0gY29tcHV0ZWQoKCkgPT4gW3RoaXMuI25lYXIoKSwgdGhpcy4jZmFyKCksIHRoaXMuZmJvKCldKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7IGZyYW1lczogSW5maW5pdHksIHJlc29sdXRpb246IDI1NiwgbmVhcjogMC4xLCBmYXI6IDEwMDAgfSk7XG5cbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgbGV0IG9yaWdpbmFsRm9nOiBUSFJFRS5TY2VuZVsnZm9nJ107XG4gICAgICAgIGxldCBvcmlnaW5hbEJhY2tncm91bmQ6IFRIUkVFLlNjZW5lWydiYWNrZ3JvdW5kJ107XG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcigoeyBzY2VuZSwgZ2wgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBmcmFtZXMsIGVudk1hcCwgZm9nIH0gPSB0aGlzLmdldCgpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVudk1hcCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhUmVmLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwUmVmLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAoZnJhbWVzID09PSBJbmZpbml0eSB8fCBjb3VudCA8IGZyYW1lcylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBSZWYubmF0aXZlRWxlbWVudC52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxGb2cgPSBzY2VuZS5mb2c7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxCYWNrZ3JvdW5kID0gc2NlbmUuYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBzY2VuZS5iYWNrZ3JvdW5kID0gZW52TWFwIHx8IG9yaWdpbmFsQmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBzY2VuZS5mb2cgPSBmb2cgfHwgb3JpZ2luYWxGb2c7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW1lcmFSZWYubmF0aXZlRWxlbWVudC51cGRhdGUoZ2wsIHNjZW5lKTtcbiAgICAgICAgICAgICAgICBzY2VuZS5mb2cgPSBvcmlnaW5hbEZvZztcbiAgICAgICAgICAgICAgICBzY2VuZS5iYWNrZ3JvdW5kID0gb3JpZ2luYWxCYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBSZWYubmF0aXZlRWxlbWVudC52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1jYW1lcmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvY3ViZS1jYW1lcmEvY3ViZS1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBRVQsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLHFCQUFxQixFQUNyQixTQUFTLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNOLE9BQU8sRUFDUCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQWU5QixNQUFNLHNCQUFzQixHQUFHO0lBQzlCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsSUFBSSxFQUFFLEdBQUc7SUFDVCxHQUFHLEVBQUUsSUFBSTtDQUNxQixDQUFDO0FBRWhDLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbkMsZUFBbUQsRUFDbkQsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLHNCQUFzQixDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xFLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyxl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LFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7RUFPVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzswRUFJUyxTQUFTO3NCQUFqQixLQUFLO2dCQUdFLGFBQWE7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBSWhFLE1BQU07c0JBRGIsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFJekIsV0FBVztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBS0EsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBS0ssSUFBSTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBS1MsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBS0csSUFBSTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdENvbXBvbmVudCxcblx0Q29udGVudENoaWxkLFxuXHREZXN0cm95UmVmLFxuXHREaXJlY3RpdmUsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0SW5wdXQsXG5cdE9uSW5pdCxcblx0U2lnbmFsLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxuXHRjb21wdXRlZCxcblx0ZWZmZWN0LFxuXHRpbmplY3QsXG5cdHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcblx0dW50cmFja2VkLFxuXHR0eXBlIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdE5ndEFyZ3MsXG5cdGFzc2VydEluamVjdGlvbkNvbnRleHQsXG5cdGV4dGVuZCxcblx0aW5qZWN0QmVmb3JlUmVuZGVyLFxuXHRpbmplY3ROZ3RSZWYsXG5cdGluamVjdE5ndFN0b3JlLFxuXHRzaWduYWxTdG9yZSxcblx0dHlwZSBOZ3RHcm91cCxcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IHR5cGUgTmd0c0N1YmVDYW1lcmFTdGF0ZSA9IHtcblx0LyoqIFJlc29sdXRpb24gb2YgdGhlIEZCTywgMjU2ICovXG5cdHJlc29sdXRpb246IG51bWJlcjtcblx0LyoqIENhbWVyYSBuZWFyLCAwLjEgKi9cblx0bmVhcjogbnVtYmVyO1xuXHQvKiogQ2FtZXJhIGZhciwgMTAwMCAqL1xuXHRmYXI6IG51bWJlcjtcblx0LyoqIEN1c3RvbSBlbnZpcm9ubWVudCBtYXAgdGhhdCBpcyB0ZW1wb3JhcmlseSBzZXQgYXMgdGhlIHNjZW5lcyBiYWNrZ3JvdW5kICovXG5cdGVudk1hcD86IFRIUkVFLlRleHR1cmU7XG5cdC8qKiBDdXN0b20gZm9nIHRoYXQgaXMgdGVtcG9yYXJpbHkgc2V0IGFzIHRoZSBzY2VuZXMgZm9nICovXG5cdGZvZz86IFRIUkVFLkZvZyB8IFRIUkVFLkZvZ0V4cDI7XG59O1xuXG5jb25zdCBkZWZhdWx0Q3ViZUNhbWVyYVN0YXRlID0ge1xuXHRyZXNvbHV0aW9uOiAyNTYsXG5cdG5lYXI6IDAuMSxcblx0ZmFyOiAxMDAwLFxufSBzYXRpc2ZpZXMgTmd0c0N1YmVDYW1lcmFTdGF0ZTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNDdWJlQ2FtZXJhKFxuXHRjdWJlQ2FtZXJhU3RhdGU6ICgpID0+IFBhcnRpYWw8Tmd0c0N1YmVDYW1lcmFTdGF0ZT4sXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdGlvbkNvbnRleHQoaW5qZWN0Tmd0c0N1YmVDYW1lcmEsIGluamVjdG9yKTtcblx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHsgLi4uZGVmYXVsdEN1YmVDYW1lcmFTdGF0ZSwgLi4uY3ViZUNhbWVyYVN0YXRlKCkgfSkpO1xuXHRcdGNvbnN0IHJlc29sdXRpb24gPSBjb21wdXRlZCgoKSA9PiBzdGF0ZSgpLnJlc29sdXRpb24pO1xuXHRcdGNvbnN0IG5lYXIgPSBjb21wdXRlZCgoKSA9PiBzdGF0ZSgpLm5lYXIpO1xuXHRcdGNvbnN0IGZhciA9IGNvbXB1dGVkKCgpID0+IHN0YXRlKCkuZmFyKTtcblxuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblxuXHRcdGNvbnN0IF9nbCA9IHN0b3JlLnNlbGVjdCgnZ2wnKTtcblx0XHRjb25zdCBfc2NlbmUgPSBzdG9yZS5zZWxlY3QoJ3NjZW5lJyk7XG5cblx0XHRjb25zdCBfZmJvID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgcmVuZGVyVGFyZ2V0ID0gbmV3IFRIUkVFLldlYkdMQ3ViZVJlbmRlclRhcmdldChyZXNvbHV0aW9uKCkpO1xuXHRcdFx0cmVuZGVyVGFyZ2V0LnRleHR1cmUudHlwZSA9IFRIUkVFLkhhbGZGbG9hdFR5cGU7XG5cdFx0XHRyZXR1cm4gcmVuZGVyVGFyZ2V0O1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGZibyA9IF9mYm8oKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBmYm8uZGlzcG9zZSgpKTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IF9jYW1lcmEgPSBjb21wdXRlZCgoKSA9PiBuZXcgVEhSRUUuQ3ViZUNhbWVyYShuZWFyKCksIGZhcigpLCBfZmJvKCkpKTtcblxuXHRcdGxldCBvcmlnaW5hbEZvZzogVEhSRUUuU2NlbmVbJ2ZvZyddO1xuXHRcdGxldCBvcmlnaW5hbEJhY2tncm91bmQ6IFRIUkVFLlNjZW5lWydiYWNrZ3JvdW5kJ107XG5cblx0XHRjb25zdCB1cGRhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbc2NlbmUsIGdsLCBjYW1lcmEsIHsgZW52TWFwLCBmb2cgfV0gPSBbX3NjZW5lKCksIF9nbCgpLCBfY2FtZXJhKCksIHVudHJhY2tlZChzdGF0ZSldO1xuXG5cdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRvcmlnaW5hbEZvZyA9IHNjZW5lLmZvZztcblx0XHRcdFx0b3JpZ2luYWxCYWNrZ3JvdW5kID0gc2NlbmUuYmFja2dyb3VuZDtcblx0XHRcdFx0c2NlbmUuYmFja2dyb3VuZCA9IGVudk1hcCB8fCBvcmlnaW5hbEJhY2tncm91bmQ7XG5cdFx0XHRcdHNjZW5lLmZvZyA9IGZvZyB8fCBvcmlnaW5hbEZvZztcblx0XHRcdFx0Y2FtZXJhLnVwZGF0ZShnbCwgc2NlbmUpO1xuXHRcdFx0XHRzY2VuZS5mb2cgPSBvcmlnaW5hbEZvZztcblx0XHRcdFx0c2NlbmUuYmFja2dyb3VuZCA9IG9yaWdpbmFsQmFja2dyb3VuZDtcblx0XHRcdH07XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyBmYm86IF9mYm8sIGNhbWVyYTogX2NhbWVyYSwgdXBkYXRlIH07XG5cdH0pO1xufVxuXG5leHRlbmQoeyBHcm91cCB9KTtcblxuZXhwb3J0IHR5cGUgTmd0c0N1YmVDYW1lcmFDb21wb25lbnRTdGF0ZSA9IE5ndHNDdWJlQ2FtZXJhU3RhdGUgJiB7XG5cdGZyYW1lczogbnVtYmVyO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcblx0XHQvKipcblx0XHQgKiBAZXh0ZW5kcyBuZ3QtZ3JvdXBcblx0XHQgKi9cblx0XHQnbmd0cy1jdWJlLWNhbWVyYSc6IE5ndHNDdWJlQ2FtZXJhQ29tcG9uZW50U3RhdGUgJiBOZ3RHcm91cDtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtuZ3RzQ3ViZUNhbWVyYUNvbnRlbnRdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNDdWJlQ2FtZXJhQ29udGVudCB7XG5cdHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKFxuXHRcdF86IE5ndHNDdWJlQ2FtZXJhQ29udGVudCxcblx0XHRjdHg6IHVua25vd24sXG5cdCk6IGN0eCBpcyB7IHRleHR1cmU6IFNpZ25hbDxUSFJFRS5XZWJHTFJlbmRlclRhcmdldFsndGV4dHVyZSddPiB9IHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWN1YmUtY2FtZXJhJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbY3ViZUNhbWVyYS5jYW1lcmEoKV1cIiAvPlxuXHRcdFx0PG5ndC1ncm91cCBbcmVmXT1cImNhbWVyYVJlZlwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICNhbmNob3IgLz5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJncywgTmdUZW1wbGF0ZU91dGxldF0sXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0N1YmVDYW1lcmEgaW1wbGVtZW50cyBPbkluaXQge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNDdWJlQ2FtZXJhQ29tcG9uZW50U3RhdGU+KHsgZnJhbWVzOiBJbmZpbml0eSB9KTtcblxuXHRASW5wdXQoKSBjYW1lcmFSZWYgPSBpbmplY3ROZ3RSZWY8R3JvdXA+KCk7XG5cblx0QENvbnRlbnRDaGlsZChOZ3RzQ3ViZUNhbWVyYUNvbnRlbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuXHRwcml2YXRlIGNhbWVyYUNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx7IHRleHR1cmU6IFNpZ25hbDxUSFJFRS5XZWJHTFJlbmRlclRhcmdldFsndGV4dHVyZSddPiB9PjtcblxuXHRAVmlld0NoaWxkKCdhbmNob3InLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuXHRwcml2YXRlIGFuY2hvciE6IFZpZXdDb250YWluZXJSZWY7XG5cblx0LyoqIFJlc29sdXRpb24gb2YgdGhlIEZCTywgMjU2ICovXG5cdEBJbnB1dCh7IGFsaWFzOiAncmVzb2x1dGlvbicgfSkgc2V0IF9yZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHJlc29sdXRpb24gfSk7XG5cdH1cblxuXHQvKiogQ2FtZXJhIG5lYXIsIDAuMSAqL1xuXHRASW5wdXQoeyBhbGlhczogJ25lYXInIH0pIHNldCBfbmVhcihuZWFyOiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBuZWFyIH0pO1xuXHR9XG5cblx0LyoqIENhbWVyYSBmYXIsIDEwMDAgKi9cblx0QElucHV0KHsgYWxpYXM6ICdmYXInIH0pIHNldCBfZmFyKGZhcjogbnVtYmVyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZmFyIH0pO1xuXHR9XG5cblx0LyoqIEN1c3RvbSBlbnZpcm9ubWVudCBtYXAgdGhhdCBpcyB0ZW1wb3JhcmlseSBzZXQgYXMgdGhlIHNjZW5lcyBiYWNrZ3JvdW5kICovXG5cdEBJbnB1dCh7IGFsaWFzOiAnZW52TWFwJyB9KSBzZXQgX2Vudk1hcChlbnZNYXA6IFRIUkVFLlRleHR1cmUpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBlbnZNYXAgfSk7XG5cdH1cblxuXHQvKiogQ3VzdG9tIGZvZyB0aGF0IGlzIHRlbXBvcmFyaWx5IHNldCBhcyB0aGUgc2NlbmVzIGZvZyAqL1xuXHRASW5wdXQoeyBhbGlhczogJ2ZvZycgfSkgc2V0IF9mb2coZm9nOiBUSFJFRS5Gb2cgfCBUSFJFRS5Gb2dFeHAyKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZm9nIH0pO1xuXHR9XG5cblx0Y3ViZUNhbWVyYSA9IGluamVjdE5ndHNDdWJlQ2FtZXJhKHRoaXMuaW5wdXRzLnN0YXRlKTtcblx0cHJpdmF0ZSB0ZXh0dXJlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jdWJlQ2FtZXJhLmZibygpLnRleHR1cmUpO1xuXHRwcml2YXRlIGNvbnRlbnRSZWY/OiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcblx0XHRcdHRoaXMuY29udGVudFJlZj8uZGVzdHJveSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5jb250ZW50UmVmID0gdGhpcy5hbmNob3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY2FtZXJhQ29udGVudCwgeyB0ZXh0dXJlOiB0aGlzLnRleHR1cmUgfSk7XG5cdH1cblxuXHRwcml2YXRlIGJlZm9yZVJlbmRlcigpIHtcblx0XHRsZXQgY291bnQgPSAwO1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRjb25zdCBjYW1lcmEgPSB0aGlzLmNhbWVyYVJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0aWYgKCFjYW1lcmEpIHJldHVybjtcblx0XHRcdGNvbnN0IHVwZGF0ZSA9IHRoaXMuY3ViZUNhbWVyYS51cGRhdGUoKTtcblx0XHRcdGNvbnN0IGZyYW1lcyA9IHRoaXMuaW5wdXRzLmdldCgnZnJhbWVzJyk7XG5cdFx0XHRpZiAoZnJhbWVzID09PSBJbmZpbml0eSB8fCBjb3VudCA8IGZyYW1lcykge1xuXHRcdFx0XHRjYW1lcmEudmlzaWJsZSA9IGZhbHNlO1xuXHRcdFx0XHR1cGRhdGUoKTtcblx0XHRcdFx0Y2FtZXJhLnZpc2libGUgPSB0cnVlO1xuXHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
@@ -1,6 +1,5 @@
1
- export * from './camera/camera';
2
1
  export * from './camera/camera-content';
3
2
  export * from './cube-camera/cube-camera';
4
3
  export * from './orthographic-camera/orthographic-camera';
5
4
  export * from './perspective-camera/perspective-camera';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYW1lcmEvY2FtZXJhJztcbmV4cG9ydCAqIGZyb20gJy4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3ViZS1jYW1lcmEvY3ViZS1jYW1lcmEnO1xuZXhwb3J0ICogZnJvbSAnLi9vcnRob2dyYXBoaWMtY2FtZXJhL29ydGhvZ3JhcGhpYy1jYW1lcmEnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzcGVjdGl2ZS1jYW1lcmEvcGVyc3BlY3RpdmUtY2FtZXJhJztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvY2FtZXJhcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3ViZS1jYW1lcmEvY3ViZS1jYW1lcmEnO1xuZXhwb3J0ICogZnJvbSAnLi9vcnRob2dyYXBoaWMtY2FtZXJhL29ydGhvZ3JhcGhpYy1jYW1lcmEnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzcGVjdGl2ZS1jYW1lcmEvcGVyc3BlY3RpdmUtY2FtZXJhJztcbiJdfQ==
@@ -1,99 +1,102 @@
1
1
  import { NgIf, NgTemplateOutlet } from '@angular/common';
2
2
  import { CUSTOM_ELEMENTS_SCHEMA, Component, ContentChild, Input, computed } from '@angular/core';
3
- import { extend } from 'angular-three';
3
+ import { extend, signalStore } from 'angular-three';
4
4
  import { Group, OrthographicCamera } from 'three';
5
5
  import { NgtsCamera } from '../camera/camera';
6
6
  import { NgtsCameraContent } from '../camera/camera-content';
7
7
  import * as i0 from "@angular/core";
8
8
  extend({ OrthographicCamera, Group });
9
- class NgtsOrthographicCamera extends NgtsCamera {
10
- set left(left) {
11
- this.set({ left });
9
+ export class NgtsOrthographicCamera extends NgtsCamera {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.orthographicInputs = signalStore({
13
+ left: 0,
14
+ right: 0,
15
+ top: 0,
16
+ bottom: 0,
17
+ });
18
+ this.left = this.orthographicInputs.select('left');
19
+ this.right = this.orthographicInputs.select('right');
20
+ this.top = this.orthographicInputs.select('top');
21
+ this.bottom = this.orthographicInputs.select('bottom');
22
+ this.size = this.store.select('size');
23
+ this.cameraLeft = computed(() => this.left() || this.size().width / -2);
24
+ this.cameraRight = computed(() => this.right() || this.size().width / 2);
25
+ this.cameraTop = computed(() => this.top() || this.size().height / 2);
26
+ this.cameraBottom = computed(() => this.bottom() || this.size().height / -2);
12
27
  }
13
- set right(right) {
14
- this.set({ right });
28
+ set _left(left) {
29
+ this.orthographicInputs.set({ left });
15
30
  }
16
- set top(top) {
17
- this.set({ top });
31
+ set _right(right) {
32
+ this.orthographicInputs.set({ right });
18
33
  }
19
- set bottom(bottom) {
20
- this.set({ bottom });
34
+ set _top(top) {
35
+ this.orthographicInputs.set({ top });
21
36
  }
22
- #left;
23
- #right;
24
- #top;
25
- #bottom;
26
- #size;
27
- constructor() {
28
- super();
29
- this.#left = this.select('left');
30
- this.#right = this.select('right');
31
- this.#top = this.select('top');
32
- this.#bottom = this.select('bottom');
33
- this.#size = this.store.select('size');
34
- this.cameraLeft = computed(() => this.#left() || this.#size().width / -2);
35
- this.cameraRight = computed(() => this.#right() || this.#size().width / 2);
36
- this.cameraTop = computed(() => this.#top() || this.#size().height / 2);
37
- this.cameraBottom = computed(() => this.#bottom() || this.#size().height / -2);
38
- this.set({ left: 0, right: 0, top: 0, bottom: 0 });
37
+ set _bottom(bottom) {
38
+ this.orthographicInputs.set({ bottom });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsOrthographicCamera, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { left: "left", right: "right", top: "top", bottom: "bottom" }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
42
- <ngt-orthographic-camera
43
- ngtCompound
44
- [ref]="cameraRef"
45
- [left]="cameraLeft()"
46
- [right]="cameraRight()"
47
- [top]="cameraTop()"
48
- [bottom]="cameraBottom()"
49
- >
50
- <ng-container
51
- *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
52
- [ngTemplateOutlet]="cameraContent.template"
53
- />
54
- </ngt-orthographic-camera>
55
- <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
56
- <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef(), group }" />
57
- </ngt-group>
58
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsOrthographicCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsOrthographicCamera, isStandalone: true, selector: "ngts-orthographic-camera", inputs: { _left: ["left", "_left"], _right: ["right", "_right"], _top: ["top", "_top"], _bottom: ["bottom", "_bottom"] }, queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
42
+ <ngt-orthographic-camera
43
+ ngtCompound
44
+ [ref]="cameraRef"
45
+ [left]="cameraLeft()"
46
+ [right]="cameraRight()"
47
+ [top]="cameraTop()"
48
+ [bottom]="cameraBottom()"
49
+ >
50
+ <ng-container
51
+ *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
52
+ [ngTemplateOutlet]="cameraContent.template"
53
+ />
54
+ </ngt-orthographic-camera>
55
+ <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
56
+ <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
57
+ </ngt-group>
58
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
59
59
  }
60
- export { NgtsOrthographicCamera };
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsOrthographicCamera, decorators: [{
62
61
  type: Component,
63
62
  args: [{
64
63
  selector: 'ngts-orthographic-camera',
65
64
  standalone: true,
66
65
  template: `
67
- <ngt-orthographic-camera
68
- ngtCompound
69
- [ref]="cameraRef"
70
- [left]="cameraLeft()"
71
- [right]="cameraRight()"
72
- [top]="cameraTop()"
73
- [bottom]="cameraBottom()"
74
- >
75
- <ng-container
76
- *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
77
- [ngTemplateOutlet]="cameraContent.template"
78
- />
79
- </ngt-orthographic-camera>
80
- <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
81
- <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef(), group }" />
82
- </ngt-group>
83
- `,
66
+ <ngt-orthographic-camera
67
+ ngtCompound
68
+ [ref]="cameraRef"
69
+ [left]="cameraLeft()"
70
+ [right]="cameraRight()"
71
+ [top]="cameraTop()"
72
+ [bottom]="cameraBottom()"
73
+ >
74
+ <ng-container
75
+ *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
76
+ [ngTemplateOutlet]="cameraContent.template"
77
+ />
78
+ </ngt-orthographic-camera>
79
+ <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
80
+ <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
81
+ </ngt-group>
82
+ `,
84
83
  imports: [NgIf, NgTemplateOutlet],
85
84
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
86
85
  }]
87
- }], ctorParameters: function () { return []; }, propDecorators: { cameraContent: [{
86
+ }], propDecorators: { cameraContent: [{
88
87
  type: ContentChild,
89
88
  args: [NgtsCameraContent]
90
- }], left: [{
91
- type: Input
92
- }], right: [{
93
- type: Input
94
- }], top: [{
95
- type: Input
96
- }], bottom: [{
97
- type: Input
89
+ }], _left: [{
90
+ type: Input,
91
+ args: [{ alias: 'left' }]
92
+ }], _right: [{
93
+ type: Input,
94
+ args: [{ alias: 'right' }]
95
+ }], _top: [{
96
+ type: Input,
97
+ args: [{ alias: 'top' }]
98
+ }], _bottom: [{
99
+ type: Input,
100
+ args: [{ alias: 'bottom' }]
98
101
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3J0aG9ncmFwaGljLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9jYW1lcmFzL3NyYy9vcnRob2dyYXBoaWMtY2FtZXJhL29ydGhvZ3JhcGhpYy1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFN0QsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQVd0QyxNQXdCYSxzQkFBdUIsU0FBUSxVQUFvQztJQUc1RSxJQUFhLElBQUksQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLEdBQUcsQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUSxLQUFLLENBQXVCO0lBQzVCLE1BQU0sQ0FBd0I7SUFDOUIsSUFBSSxDQUFzQjtJQUMxQixPQUFPLENBQXlCO0lBQ2hDLEtBQUssQ0FBNkI7SUFPM0M7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQVpILFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBSS9FLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQWpDUSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1TUFDakIsaUJBQWlCLHVFQXRCckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJULDREQUNTLElBQUksNkZBQUUsZ0JBQWdCOztTQUd2QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkF4QmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7MEVBRW9DLGFBQWE7c0JBQTdDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUVsQixJQUFJO3NCQUFoQixLQUFLO2dCQUlPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sR0FBRztzQkFBZixLQUFLO2dCQUlPLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgR3JvdXAsIE9ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNDYW1lcmEgfSBmcm9tICcuLi9jYW1lcmEvY2FtZXJhJztcbmltcG9ydCB7IE5ndHNDYW1lcmFDb250ZW50IH0gZnJvbSAnLi4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgT3J0aG9ncmFwaGljQ2FtZXJhLCBHcm91cCB9KTtcblxuZGVjbGFyZSBtb2R1bGUgJy4uL2NhbWVyYS9jYW1lcmEnIHtcbiAgICBpbnRlcmZhY2UgTmd0c0NhbWVyYVN0YXRlIHtcbiAgICAgICAgbGVmdDogbnVtYmVyO1xuICAgICAgICB0b3A6IG51bWJlcjtcbiAgICAgICAgcmlnaHQ6IG51bWJlcjtcbiAgICAgICAgYm90dG9tOiBudW1iZXI7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtb3J0aG9ncmFwaGljLWNhbWVyYScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmFcbiAgICAgICAgICAgIG5ndENvbXBvdW5kXG4gICAgICAgICAgICBbcmVmXT1cImNhbWVyYVJlZlwiXG4gICAgICAgICAgICBbbGVmdF09XCJjYW1lcmFMZWZ0KClcIlxuICAgICAgICAgICAgW3JpZ2h0XT1cImNhbWVyYVJpZ2h0KClcIlxuICAgICAgICAgICAgW3RvcF09XCJjYW1lcmFUb3AoKVwiXG4gICAgICAgICAgICBbYm90dG9tXT1cImNhbWVyYUJvdHRvbSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FtZXJhQ29udGVudCAmJiAhY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FtZXJhQ29udGVudC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L25ndC1vcnRob2dyYXBoaWMtY2FtZXJhPlxuICAgICAgICA8bmd0LWdyb3VwICNncm91cCAqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhbWVyYUNvbnRlbnQudGVtcGxhdGU7IGNvbnRleHQ6IHsgZmJvOiBmYm9SZWYoKSwgZ3JvdXAgfVwiIC8+XG4gICAgICAgIDwvbmd0LWdyb3VwPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYSBleHRlbmRzIE5ndHNDYW1lcmE8VEhSRUUuT3J0aG9ncmFwaGljQ2FtZXJhPiB7XG4gICAgQENvbnRlbnRDaGlsZChOZ3RzQ2FtZXJhQ29udGVudCkgY2FtZXJhQ29udGVudD86IE5ndHNDYW1lcmFDb250ZW50O1xuXG4gICAgQElucHV0KCkgc2V0IGxlZnQobGVmdDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgbGVmdCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmlnaHQocmlnaHQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHJpZ2h0IH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB0b3AodG9wOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyB0b3AgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGJvdHRvbShib3R0b206IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IGJvdHRvbSB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSAjbGVmdCA9IHRoaXMuc2VsZWN0KCdsZWZ0Jyk7XG4gICAgcmVhZG9ubHkgI3JpZ2h0ID0gdGhpcy5zZWxlY3QoJ3JpZ2h0Jyk7XG4gICAgcmVhZG9ubHkgI3RvcCA9IHRoaXMuc2VsZWN0KCd0b3AnKTtcbiAgICByZWFkb25seSAjYm90dG9tID0gdGhpcy5zZWxlY3QoJ2JvdHRvbScpO1xuICAgIHJlYWRvbmx5ICNzaXplID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3NpemUnKTtcblxuICAgIHJlYWRvbmx5IGNhbWVyYUxlZnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNsZWZ0KCkgfHwgdGhpcy4jc2l6ZSgpLndpZHRoIC8gLTIpO1xuICAgIHJlYWRvbmx5IGNhbWVyYVJpZ2h0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jcmlnaHQoKSB8fCB0aGlzLiNzaXplKCkud2lkdGggLyAyKTtcbiAgICByZWFkb25seSBjYW1lcmFUb3AgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiN0b3AoKSB8fCB0aGlzLiNzaXplKCkuaGVpZ2h0IC8gMik7XG4gICAgcmVhZG9ubHkgY2FtZXJhQm90dG9tID0gY29tcHV0ZWQoKCkgPT4gdGhpcy4jYm90dG9tKCkgfHwgdGhpcy4jc2l6ZSgpLmhlaWdodCAvIC0yKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldCh7IGxlZnQ6IDAsIHJpZ2h0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCB9KTtcbiAgICB9XG59XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3J0aG9ncmFwaGljLWNhbWVyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9jYW1lcmFzL3NyYy9vcnRob2dyYXBoaWMtY2FtZXJhL29ydGhvZ3JhcGhpYy1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFN0QsTUFBTSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQTBDdEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQW9DO0lBeEJoRjs7UUF5QlMsdUJBQWtCLEdBQUcsV0FBVyxDQUE4QjtZQUNyRSxJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxFQUFFLENBQUM7WUFDTixNQUFNLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQztRQW9CSyxTQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxVQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxRQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN4RTtJQTFCQSxJQUE4QixLQUFLLENBQUMsSUFBWTtRQUMvQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBK0IsTUFBTSxDQUFDLEtBQWE7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQTZCLElBQUksQ0FBQyxHQUFXO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFnQyxPQUFPLENBQUMsTUFBYztRQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDOzhHQXhCVyxzQkFBc0I7a0dBQXRCLHNCQUFzQix5UEFRcEIsaUJBQWlCLHVFQTdCckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJULDREQUNTLElBQUksNkZBQUUsZ0JBQWdCOzsyRkFHcEIsc0JBQXNCO2tCQXhCbEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzs4QkFTaUMsYUFBYTtzQkFBN0MsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBRUQsS0FBSztzQkFBbEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBSU8sTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBSUksSUFBSTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBSVMsT0FBTztzQkFBdEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgc2lnbmFsU3RvcmUsIHR5cGUgTmd0T3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBHcm91cCwgT3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c0NhbWVyYSwgdHlwZSBOZ3RzQ2FtZXJhU3RhdGUgfSBmcm9tICcuLi9jYW1lcmEvY2FtZXJhJztcbmltcG9ydCB7IE5ndHNDYW1lcmFDb250ZW50IH0gZnJvbSAnLi4vY2FtZXJhL2NhbWVyYS1jb250ZW50JztcblxuZXh0ZW5kKHsgT3J0aG9ncmFwaGljQ2FtZXJhLCBHcm91cCB9KTtcblxuZXhwb3J0IHR5cGUgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYVN0YXRlID0ge1xuXHRsZWZ0OiBudW1iZXI7XG5cdHRvcDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmFcblx0XHQgKi9cblx0XHQnbmd0cy1vcnRob2dyYXBoaWMtY2FtZXJhJzogTmd0c0NhbWVyYVN0YXRlICYgTmd0c09ydGhvZ3JhcGhpY0NhbWVyYVN0YXRlICYgTmd0T3J0aG9ncmFwaGljQ2FtZXJhO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtb3J0aG9ncmFwaGljLWNhbWVyYScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1vcnRob2dyYXBoaWMtY2FtZXJhXG5cdFx0XHRuZ3RDb21wb3VuZFxuXHRcdFx0W3JlZl09XCJjYW1lcmFSZWZcIlxuXHRcdFx0W2xlZnRdPVwiY2FtZXJhTGVmdCgpXCJcblx0XHRcdFtyaWdodF09XCJjYW1lcmFSaWdodCgpXCJcblx0XHRcdFt0b3BdPVwiY2FtZXJhVG9wKClcIlxuXHRcdFx0W2JvdHRvbV09XCJjYW1lcmFCb3R0b20oKVwiXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHQqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgIWNhbWVyYUNvbnRlbnQubmd0c0NhbWVyYUNvbnRlbnRcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjYW1lcmFDb250ZW50LnRlbXBsYXRlXCJcblx0XHRcdC8+XG5cdFx0PC9uZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYT5cblx0XHQ8bmd0LWdyb3VwICNncm91cCAqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudFwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhbWVyYUNvbnRlbnQudGVtcGxhdGU7IGNvbnRleHQ6IHsgZmJvOiBmYm9SZWYubmF0aXZlRWxlbWVudCwgZ3JvdXAgfVwiIC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0XSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhIGV4dGVuZHMgTmd0c0NhbWVyYTxUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmE+IHtcblx0cHJpdmF0ZSBvcnRob2dyYXBoaWNJbnB1dHMgPSBzaWduYWxTdG9yZTxOZ3RzT3J0aG9ncmFwaGljQ2FtZXJhU3RhdGU+KHtcblx0XHRsZWZ0OiAwLFxuXHRcdHJpZ2h0OiAwLFxuXHRcdHRvcDogMCxcblx0XHRib3R0b206IDAsXG5cdH0pO1xuXG5cdEBDb250ZW50Q2hpbGQoTmd0c0NhbWVyYUNvbnRlbnQpIGNhbWVyYUNvbnRlbnQ/OiBOZ3RzQ2FtZXJhQ29udGVudDtcblxuXHRASW5wdXQoeyBhbGlhczogJ2xlZnQnIH0pIHNldCBfbGVmdChsZWZ0OiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyBsZWZ0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdyaWdodCcgfSkgc2V0IF9yaWdodChyaWdodDogbnVtYmVyKSB7XG5cdFx0dGhpcy5vcnRob2dyYXBoaWNJbnB1dHMuc2V0KHsgcmlnaHQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3RvcCcgfSkgc2V0IF90b3AodG9wOiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyB0b3AgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ2JvdHRvbScgfSkgc2V0IF9ib3R0b20oYm90dG9tOiBudW1iZXIpIHtcblx0XHR0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZXQoeyBib3R0b20gfSk7XG5cdH1cblxuXHRwcml2YXRlIGxlZnQgPSB0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZWxlY3QoJ2xlZnQnKTtcblx0cHJpdmF0ZSByaWdodCA9IHRoaXMub3J0aG9ncmFwaGljSW5wdXRzLnNlbGVjdCgncmlnaHQnKTtcblx0cHJpdmF0ZSB0b3AgPSB0aGlzLm9ydGhvZ3JhcGhpY0lucHV0cy5zZWxlY3QoJ3RvcCcpO1xuXHRwcml2YXRlIGJvdHRvbSA9IHRoaXMub3J0aG9ncmFwaGljSW5wdXRzLnNlbGVjdCgnYm90dG9tJyk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0Y2FtZXJhTGVmdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGVmdCgpIHx8IHRoaXMuc2l6ZSgpLndpZHRoIC8gLTIpO1xuXHRjYW1lcmFSaWdodCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmlnaHQoKSB8fCB0aGlzLnNpemUoKS53aWR0aCAvIDIpO1xuXHRjYW1lcmFUb3AgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRvcCgpIHx8IHRoaXMuc2l6ZSgpLmhlaWdodCAvIDIpO1xuXHRjYW1lcmFCb3R0b20gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJvdHRvbSgpIHx8IHRoaXMuc2l6ZSgpLmhlaWdodCAvIC0yKTtcbn1cbiJdfQ==
@@ -6,37 +6,36 @@ import { NgtsCamera } from '../camera/camera';
6
6
  import { NgtsCameraContent } from '../camera/camera-content';
7
7
  import * as i0 from "@angular/core";
8
8
  extend({ PerspectiveCamera, Group });
9
- class NgtsPerspectiveCamera extends NgtsCamera {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.3", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
12
- <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
13
- <ng-container
14
- *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
15
- [ngTemplateOutlet]="cameraContent.template"
16
- />
17
- </ngt-perspective-camera>
18
- <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
19
- <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef(), group }" />
20
- </ngt-group>
21
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
9
+ export class NgtsPerspectiveCamera extends NgtsCamera {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsPerspectiveCamera, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtsPerspectiveCamera, isStandalone: true, selector: "ngts-perspective-camera", queries: [{ propertyName: "cameraContent", first: true, predicate: NgtsCameraContent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
12
+ <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
13
+ <ng-container
14
+ *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
15
+ [ngTemplateOutlet]="cameraContent.template"
16
+ />
17
+ </ngt-perspective-camera>
18
+ <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
19
+ <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
20
+ </ngt-group>
21
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
22
22
  }
23
- export { NgtsPerspectiveCamera };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtsPerspectiveCamera, decorators: [{
25
24
  type: Component,
26
25
  args: [{
27
26
  selector: 'ngts-perspective-camera',
28
27
  standalone: true,
29
28
  template: `
30
- <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
31
- <ng-container
32
- *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
33
- [ngTemplateOutlet]="cameraContent.template"
34
- />
35
- </ngt-perspective-camera>
36
- <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
37
- <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef(), group }" />
38
- </ngt-group>
39
- `,
29
+ <ngt-perspective-camera [ref]="cameraRef" ngtCompound>
30
+ <ng-container
31
+ *ngIf="cameraContent && !cameraContent.ngtsCameraContent"
32
+ [ngTemplateOutlet]="cameraContent.template"
33
+ />
34
+ </ngt-perspective-camera>
35
+ <ngt-group #group *ngIf="cameraContent && cameraContent.ngtsCameraContent">
36
+ <ng-container *ngTemplateOutlet="cameraContent.template; context: { fbo: fboRef.nativeElement, group }" />
37
+ </ngt-group>
38
+ `,
40
39
  imports: [NgIf, NgTemplateOutlet],
41
40
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
42
41
  }]
@@ -44,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
44
43
  type: ContentChild,
45
44
  args: [NgtsCameraContent]
46
45
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc3BlY3RpdmUtY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2NhbWVyYXMvc3JjL3BlcnNwZWN0aXZlLWNhbWVyYS9wZXJzcGVjdGl2ZS1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRTdELE1BQU0sQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFFckMsTUFpQmEscUJBQXNCLFNBQVEsVUFBNkI7OEdBQTNELHFCQUFxQjtrR0FBckIscUJBQXFCLDhIQUNoQixpQkFBaUIsdUVBZnJCOzs7Ozs7Ozs7O0tBVVQsNERBQ1MsSUFBSSw2RkFBRSxnQkFBZ0I7O1NBR3ZCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQWpCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0tBVVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRW9DLGFBQWE7c0JBQTdDLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBHcm91cCwgUGVyc3BlY3RpdmVDYW1lcmEgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQ2FtZXJhIH0gZnJvbSAnLi4vY2FtZXJhL2NhbWVyYSc7XG5pbXBvcnQgeyBOZ3RzQ2FtZXJhQ29udGVudCB9IGZyb20gJy4uL2NhbWVyYS9jYW1lcmEtY29udGVudCc7XG5cbmV4dGVuZCh7IFBlcnNwZWN0aXZlQ2FtZXJhLCBHcm91cCB9KTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLXBlcnNwZWN0aXZlLWNhbWVyYScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmd0LXBlcnNwZWN0aXZlLWNhbWVyYSBbcmVmXT1cImNhbWVyYVJlZlwiIG5ndENvbXBvdW5kPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FtZXJhQ29udGVudCAmJiAhY2FtZXJhQ29udGVudC5uZ3RzQ2FtZXJhQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2FtZXJhQ29udGVudC50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L25ndC1wZXJzcGVjdGl2ZS1jYW1lcmE+XG4gICAgICAgIDxuZ3QtZ3JvdXAgI2dyb3VwICpuZ0lmPVwiY2FtZXJhQ29udGVudCAmJiBjYW1lcmFDb250ZW50Lm5ndHNDYW1lcmFDb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FtZXJhQ29udGVudC50ZW1wbGF0ZTsgY29udGV4dDogeyBmYm86IGZib1JlZigpLCBncm91cCB9XCIgLz5cbiAgICAgICAgPC9uZ3QtZ3JvdXA+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzUGVyc3BlY3RpdmVDYW1lcmEgZXh0ZW5kcyBOZ3RzQ2FtZXJhPFBlcnNwZWN0aXZlQ2FtZXJhPiB7XG4gICAgQENvbnRlbnRDaGlsZChOZ3RzQ2FtZXJhQ29udGVudCkgY2FtZXJhQ29udGVudD86IE5ndHNDYW1lcmFDb250ZW50O1xufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc3BlY3RpdmUtY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2NhbWVyYXMvc3JjL3BlcnNwZWN0aXZlLWNhbWVyYS9wZXJzcGVjdGl2ZS1jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFN0QsTUFBTSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQTRCckMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQTZCOzhHQUEzRCxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4SEFDbkIsaUJBQWlCLHVFQWZyQjs7Ozs7Ozs7OztFQVVULDREQUNTLElBQUksNkZBQUUsZ0JBQWdCOzsyRkFHcEIscUJBQXFCO2tCQWpCakMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0VBVVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7OEJBRWlDLGFBQWE7c0JBQTdDLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCB0eXBlIE5ndFBlcnNwZWN0aXZlQ2FtZXJhIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBHcm91cCwgUGVyc3BlY3RpdmVDYW1lcmEgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQ2FtZXJhLCB0eXBlIE5ndHNDYW1lcmFTdGF0ZSB9IGZyb20gJy4uL2NhbWVyYS9jYW1lcmEnO1xuaW1wb3J0IHsgTmd0c0NhbWVyYUNvbnRlbnQgfSBmcm9tICcuLi9jYW1lcmEvY2FtZXJhLWNvbnRlbnQnO1xuXG5leHRlbmQoeyBQZXJzcGVjdGl2ZUNhbWVyYSwgR3JvdXAgfSk7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LXBlcnNwZWN0aXZlLWNhbWVyYVxuXHRcdCAqL1xuXHRcdCduZ3RzLXBlcnNwZWN0aXZlLWNhbWVyYSc6IE5ndHNDYW1lcmFTdGF0ZSAmIE5ndFBlcnNwZWN0aXZlQ2FtZXJhO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtcGVyc3BlY3RpdmUtY2FtZXJhJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXBlcnNwZWN0aXZlLWNhbWVyYSBbcmVmXT1cImNhbWVyYVJlZlwiIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHQqbmdJZj1cImNhbWVyYUNvbnRlbnQgJiYgIWNhbWVyYUNvbnRlbnQubmd0c0NhbWVyYUNvbnRlbnRcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjYW1lcmFDb250ZW50LnRlbXBsYXRlXCJcblx0XHRcdC8+XG5cdFx0PC9uZ3QtcGVyc3BlY3RpdmUtY2FtZXJhPlxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwICpuZ0lmPVwiY2FtZXJhQ29udGVudCAmJiBjYW1lcmFDb250ZW50Lm5ndHNDYW1lcmFDb250ZW50XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FtZXJhQ29udGVudC50ZW1wbGF0ZTsgY29udGV4dDogeyBmYm86IGZib1JlZi5uYXRpdmVFbGVtZW50LCBncm91cCB9XCIgLz5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0aW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNQZXJzcGVjdGl2ZUNhbWVyYSBleHRlbmRzIE5ndHNDYW1lcmE8UGVyc3BlY3RpdmVDYW1lcmE+IHtcblx0QENvbnRlbnRDaGlsZChOZ3RzQ2FtZXJhQ29udGVudCkgY2FtZXJhQ29udGVudD86IE5ndHNDYW1lcmFDb250ZW50O1xufVxuIl19