@anov/3d 0.0.313 → 0.0.315

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.
@@ -376,11 +376,11 @@ var FileParse = /*#__PURE__*/function () {
376
376
  if (this.scene.modelCount > 0 || this.loadCity) {
377
377
  var modelProgress = 0; // 模型整体进度 0~1
378
378
  var cityProgress = 0; // 城市整体进度 0~1
379
- var total = 0; // 整体进度
379
+ var total = 0; //
380
380
 
381
381
  var calcTotalProgress = function calcTotalProgress() {
382
382
  // 城市进度:50% 映射为 100%
383
- var cityNormalized = _this5.loadCity ? Math.min(1, cityProgress * 2) : 1;
383
+ var cityNormalized = _this5.loadCity ? Math.min(1, cityProgress * 1.25) : 1;
384
384
  var modelNormalized = _this5.scene.modelCount > 0 ? modelProgress : 1;
385
385
  if (_this5.loadCity && _this5.scene.modelCount > 0) total = (cityNormalized + modelNormalized) / 2;else if (_this5.loadCity) total = cityNormalized;else total = modelNormalized;
386
386
  return total;
@@ -402,9 +402,11 @@ var FileParse = /*#__PURE__*/function () {
402
402
  progress = data.progress;
403
403
  if (!_this5.modelProgress.has(id)) return;
404
404
  _this5.modelProgress.set(id, progress);
405
- var progressValue = Array.from(_this5.modelProgress.values()).reduce(function (sum, cur) {
406
- return sum + cur;
405
+ // 更新累积进度
406
+ var progressValue = Array.from(_this5.modelProgress.values()).reduce(function (sum, currentProgress) {
407
+ return sum + currentProgress;
407
408
  }, 0);
409
+ // 计算进度
408
410
  modelProgress = progressValue / _this5.scene.modelCount;
409
411
  sendProgress(calcTotalProgress());
410
412
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","_","FogExp2","Vector3","use","utils","Geo3D","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","WeatherMode","StaticType","emitter","FileParse","app","modelProgress","Map","_parseScene","_callee","json","action","_ref","_ref$scene","index","scenes","nodes","layers","sceneNode","_this$parseNode","modelCount","parsedNodes","_callee$","_context","off","clear","scene","console","parseNode","nodeIndex","Boolean","addLayers","addListener","environment","setEnvironment","addNodes","t0","parseScene","_x","_x2","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee2","_this2","_callee2$","_context2","map","addSingelNode","all","_x3","params","_params$mode","mode","dynamic","source","static","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","hdr","color","setMode","exposure","_use$useScene","useScene","renderer","toneMappingExposure","_addLayers","_callee4","_this3","_this$scene","layerIndex","_use$useScene2","orbitControls","_callee4$","_context4","_ref2","_callee3","sccData","_sccData","panelAttribute","offsetPosition","_Geo3D$CoordUtil$thre","lon","lat","alt","water","_layers$index","density","_callee3$","_context3","loadCity","private","position","_construct","_toConsumableArray","num","isFinite","CoordUtil","threeDXYZToLonLat2","center","load","control","addEventListener","MapEventType","onProgress","emit","update","add","fog","_x4","_addSingelNode","_callee5","_this4","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee5$","_context5","isEnumValue","entity","clone","childIndex","child","asyncTask","_x5","_this5","cityProgress","total","calcTotalProgress","cityNormalized","Math","min","modelNormalized","sendProgress","messageType","Event","messageName","status","Success","global","progress","state","on","data","has","progressValue","Array","from","reduce","sum","cur","setMaterialParams","_this6","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee7","_this$scene$nodes","_this7","_callee7$","_context7","_ref3","_callee6","_callee6$","_context6","delete","_x6"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, Vector3, use, utils } from '@anov/3d-core'\nimport * as Geo3D from '@anov/geo-3d'\nimport { Water } from '@anov/3d-ability'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nenum WeatherMode {\n dynamic = 'dynamic',\n static = 'static',\n}\nexport enum StaticType {\n hdr = 'hdr',\n color = 'color',\n none = 'none',\n}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n loadCity = false\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n async parseScene(json, action) {\n this.json = json\n this.action = action\n emitter.off('model-loading-progress')\n this.modelProgress.clear()\n const { scene: index = 0, scenes, nodes, layers } = json || {}\n const sceneNode = scenes && scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n try {\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n layers,\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n await this.addLayers()\n this.addListener()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model') {\n this.modelProgress.set(node.id, 0)\n result.modelCount++\n }\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { mode = WeatherMode.dynamic, static: source, time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n if (mode === WeatherMode.dynamic) { // 动态天空\n let hour = 12\n const currentTime = time?.value || time?.time\n if (currentTime) {\n environmentManage.setTime({ time: currentTime })\n const timeRange = this.timeToRange2400(currentTime)\n if (timeRange)\n hour = timeRange.hour\n }\n if (weather?.weather)\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n }\n else if (mode === WeatherMode.static && source) { // 静态天空:HDR、颜色\n const { type, hdr, color } = source\n switch (type) {\n case StaticType.hdr:\n environmentManage.setMode({ mode: StaticType.hdr, ...hdr })\n break\n case StaticType.color:\n environmentManage.setMode({ mode: StaticType.color, color: color.value })\n break\n }\n }\n const { exposure } = this.scene // 曝光度\n if (exposure !== undefined) {\n const { renderer } = use.useScene()\n renderer.toneMappingExposure = exposure\n }\n }\n\n async addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = use.useScene()\n layerIndex && layerIndex.forEach(async (index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n this.loadCity = true\n let sccData = layers[index]\n const { private: panelAttribute, scene: sceneNode } = sccData\n // 中心点偏移\n if (panelAttribute?.position) {\n const offsetPosition = new Vector3(...panelAttribute.position.map(num => Number.isFinite(num) ? num : 0))\n const { lon, lat, alt } = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, { lon: sceneNode.center[0], lat: sceneNode.center[1], alt: sceneNode.center[2] })\n sccData = { ...sccData, scene: { ...sccData.scene, center: [lon, lat, alt] } }\n }\n const map = await Geo3D.Map.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData,\n })\n map?.addEventListener(Geo3D.MapEventType.onProgress, (v) => {\n emitter.emit('city-loaded-progress', v)\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index])\n water.update()\n scene.add(water)\n break\n }\n case 'fog':{\n const { color, density } = layers[index]\n scene.fog = new FogExp2(color, density)\n break\n }\n }\n })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n if (this.scene.modelCount > 0 || this.loadCity) {\n let modelProgress = 0 // 模型整体进度 0~1\n let cityProgress = 0 // 城市整体进度 0~1\n let total = 0 // 整体进度\n\n const calcTotalProgress = () => {\n // 城市进度:50% 映射为 100%\n const cityNormalized = this.loadCity ? Math.min(1, cityProgress * 2) : 1\n const modelNormalized = this.scene.modelCount > 0 ? modelProgress : 1\n\n if (this.loadCity && this.scene.modelCount > 0)\n total = (cityNormalized + modelNormalized) / 2\n else if (this.loadCity)\n total = cityNormalized\n else\n total = modelNormalized\n\n return total\n }\n\n const sendProgress = (total: number) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: total, state: this.action },\n )\n }\n\n if (this.scene.modelCount > 0) {\n emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n if (!this.modelProgress.has(id))\n return\n this.modelProgress.set(id, progress)\n\n const progressValue = Array.from(this.modelProgress.values())\n .reduce((sum, cur) => sum + cur, 0)\n modelProgress = progressValue / this.scene.modelCount\n\n sendProgress(calcTotalProgress())\n })\n }\n\n if (this.loadCity) {\n emitter.on('city-loaded-progress', (data: any) => {\n cityProgress = data.progress\n total < 1 && sendProgress(calcTotalProgress())\n })\n }\n }\n else {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action },\n )\n }\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n // 清除场景所有对象\n async clear() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","_","FogExp2","Vector3","use","utils","Geo3D","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","WeatherMode","StaticType","emitter","FileParse","app","modelProgress","Map","_parseScene","_callee","json","action","_ref","_ref$scene","index","scenes","nodes","layers","sceneNode","_this$parseNode","modelCount","parsedNodes","_callee$","_context","off","clear","scene","console","parseNode","nodeIndex","Boolean","addLayers","addListener","environment","setEnvironment","addNodes","t0","parseScene","_x","_x2","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee2","_this2","_callee2$","_context2","map","addSingelNode","all","_x3","params","_params$mode","mode","dynamic","source","static","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","hdr","color","setMode","exposure","_use$useScene","useScene","renderer","toneMappingExposure","_addLayers","_callee4","_this3","_this$scene","layerIndex","_use$useScene2","orbitControls","_callee4$","_context4","_ref2","_callee3","sccData","_sccData","panelAttribute","offsetPosition","_Geo3D$CoordUtil$thre","lon","lat","alt","water","_layers$index","density","_callee3$","_context3","loadCity","private","position","_construct","_toConsumableArray","num","isFinite","CoordUtil","threeDXYZToLonLat2","center","load","control","addEventListener","MapEventType","onProgress","emit","update","add","fog","_x4","_addSingelNode","_callee5","_this4","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee5$","_context5","isEnumValue","entity","clone","childIndex","child","asyncTask","_x5","_this5","cityProgress","total","calcTotalProgress","cityNormalized","Math","min","modelNormalized","sendProgress","messageType","Event","messageName","status","Success","global","progress","state","on","data","has","progressValue","Array","from","reduce","sum","currentProgress","setMaterialParams","_this6","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee7","_this$scene$nodes","_this7","_callee7$","_context7","_ref3","_callee6","_callee6$","_context6","delete","_x6"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, Vector3, use, utils } from '@anov/3d-core'\nimport * as Geo3D from '@anov/geo-3d'\nimport { Water } from '@anov/3d-ability'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nenum WeatherMode {\n dynamic = 'dynamic',\n static = 'static',\n}\nexport enum StaticType {\n hdr = 'hdr',\n color = 'color',\n none = 'none',\n}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n loadCity = false\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n async parseScene(json, action) {\n this.json = json\n this.action = action\n emitter.off('model-loading-progress')\n this.modelProgress.clear()\n const { scene: index = 0, scenes, nodes, layers } = json || {}\n const sceneNode = scenes && scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n try {\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n layers,\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n await this.addLayers()\n this.addListener()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model') {\n this.modelProgress.set(node.id, 0)\n result.modelCount++\n }\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { mode = WeatherMode.dynamic, static: source, time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n if (mode === WeatherMode.dynamic) { // 动态天空\n let hour = 12\n const currentTime = time?.value || time?.time\n if (currentTime) {\n environmentManage.setTime({ time: currentTime })\n const timeRange = this.timeToRange2400(currentTime)\n if (timeRange)\n hour = timeRange.hour\n }\n if (weather?.weather)\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n }\n else if (mode === WeatherMode.static && source) { // 静态天空:HDR、颜色\n const { type, hdr, color } = source\n switch (type) {\n case StaticType.hdr:\n environmentManage.setMode({ mode: StaticType.hdr, ...hdr })\n break\n case StaticType.color:\n environmentManage.setMode({ mode: StaticType.color, color: color.value })\n break\n }\n }\n const { exposure } = this.scene // 曝光度\n if (exposure !== undefined) {\n const { renderer } = use.useScene()\n renderer.toneMappingExposure = exposure\n }\n }\n\n async addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = use.useScene()\n layerIndex && layerIndex.forEach(async (index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n this.loadCity = true\n let sccData = layers[index]\n const { private: panelAttribute, scene: sceneNode } = sccData\n // 中心点偏移\n if (panelAttribute?.position) {\n const offsetPosition = new Vector3(...panelAttribute.position.map(num => Number.isFinite(num) ? num : 0))\n const { lon, lat, alt } = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, { lon: sceneNode.center[0], lat: sceneNode.center[1], alt: sceneNode.center[2] })\n sccData = { ...sccData, scene: { ...sccData.scene, center: [lon, lat, alt] } }\n }\n const map = await Geo3D.Map.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData,\n })\n map?.addEventListener(Geo3D.MapEventType.onProgress, (v) => {\n emitter.emit('city-loaded-progress', v)\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index])\n water.update()\n scene.add(water)\n break\n }\n case 'fog':{\n const { color, density } = layers[index]\n scene.fog = new FogExp2(color, density)\n break\n }\n }\n })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n if (this.scene.modelCount > 0 || this.loadCity) {\n let modelProgress = 0 // 模型整体进度 0~1\n let cityProgress = 0 // 城市整体进度 0~1\n let total = 0 //\n\n const calcTotalProgress = () => {\n // 城市进度:50% 映射为 100%\n const cityNormalized = this.loadCity ? Math.min(1, cityProgress * 1.25) : 1\n const modelNormalized = this.scene.modelCount > 0 ? modelProgress : 1\n\n if (this.loadCity && this.scene.modelCount > 0)\n total = (cityNormalized + modelNormalized) / 2\n else if (this.loadCity)\n total = cityNormalized\n else\n total = modelNormalized\n\n return total\n }\n\n const sendProgress = (total: number) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: total, state: this.action },\n )\n }\n\n if (this.scene.modelCount > 0) {\n emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n if (!this.modelProgress.has(id))\n return\n this.modelProgress.set(id, progress)\n // 更新累积进度\n const progressValue = Array.from(this.modelProgress.values()).reduce((sum, currentProgress) => sum + currentProgress, 0)\n // 计算进度\n modelProgress = progressValue / this.scene.modelCount\n sendProgress(calcTotalProgress())\n })\n }\n\n if (this.loadCity) {\n emitter.on('city-loaded-progress', (data: any) => {\n cityProgress = data.progress\n total < 1 && sendProgress(calcTotalProgress())\n })\n }\n }\n else {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action },\n )\n }\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n // 清除场景所有对象\n async clear() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse"],"mappings":";;;;;;;;;;;;;;+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,QAAAxG,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAE,MAAA,CAAAuF,IAAA,CAAA1F,CAAA,OAAAG,MAAA,CAAAsG,qBAAA,QAAAlG,CAAA,GAAAJ,MAAA,CAAAsG,qBAAA,CAAAzG,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAmG,MAAA,WAAAxG,CAAA,WAAAC,MAAA,CAAAwG,wBAAA,CAAA3G,CAAA,EAAAE,CAAA,EAAAiB,UAAA,OAAAlB,CAAA,CAAAyE,IAAA,CAAAkC,KAAA,CAAA3G,CAAA,EAAAM,CAAA,YAAAN,CAAA;AAAA,SAAA4G,cAAA7G,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4G,SAAA,CAAA/B,MAAA,EAAA7E,CAAA,UAAAD,CAAA,WAAA6G,SAAA,CAAA5G,CAAA,IAAA4G,SAAA,CAAA5G,CAAA,QAAAA,CAAA,OAAAsG,OAAA,CAAArG,MAAA,CAAAF,CAAA,OAAA4C,OAAA,WAAA3C,CAAA,IAAA6G,eAAA,CAAA/G,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAA6G,yBAAA,GAAA7G,MAAA,CAAA8G,gBAAA,CAAAjH,CAAA,EAAAG,MAAA,CAAA6G,yBAAA,CAAA/G,CAAA,KAAAuG,OAAA,CAAArG,MAAA,CAAAF,CAAA,GAAA4C,OAAA,WAAA3C,CAAA,IAAAC,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,EAAAC,MAAA,CAAAwG,wBAAA,CAAA1G,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAkH,mBAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAA1F,GAAA,cAAA2F,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAA1F,GAAA,OAAApB,KAAA,GAAA+G,IAAA,CAAA/G,KAAA,WAAAgH,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAjE,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAiE,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAf,SAAA,aAAArB,OAAA,WAAAvC,OAAA,EAAAkE,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAf,KAAA,CAAAgB,IAAA,EAAAC,IAAA,YAAAR,MAAA5G,KAAA,IAAAyG,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAA7G,KAAA,cAAA6G,OAAAQ,GAAA,IAAAZ,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAQ,GAAA,KAAAT,KAAA,CAAAU,SAAA;AAAA,SAAAC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAlE,SAAA;AAAA,SAAAmE,kBAAAC,MAAA,EAAAC,KAAA,aAAA3H,CAAA,MAAAA,CAAA,GAAA2H,KAAA,CAAAtD,MAAA,EAAArE,CAAA,UAAA4H,UAAA,GAAAD,KAAA,CAAA3H,CAAA,GAAA4H,UAAA,CAAAnH,UAAA,GAAAmH,UAAA,CAAAnH,UAAA,WAAAmH,UAAA,CAAAlH,YAAA,wBAAAkH,UAAA,EAAAA,UAAA,CAAAjH,QAAA,SAAAlB,MAAA,CAAAK,cAAA,CAAA4H,MAAA,EAAAG,cAAA,CAAAD,UAAA,CAAAf,GAAA,GAAAe,UAAA;AAAA,SAAAE,aAAAN,WAAA,EAAAO,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAN,iBAAA,CAAAD,WAAA,CAAA9H,SAAA,EAAAqI,UAAA,OAAAC,WAAA,EAAAP,iBAAA,CAAAD,WAAA,EAAAQ,WAAA,GAAAvI,MAAA,CAAAK,cAAA,CAAA0H,WAAA,iBAAA7G,QAAA,mBAAA6G,WAAA;AAAA,SAAAnB,gBAAA4B,GAAA,EAAApB,GAAA,EAAA9G,KAAA,IAAA8G,GAAA,GAAAgB,cAAA,CAAAhB,GAAA,OAAAA,GAAA,IAAAoB,GAAA,IAAAxI,MAAA,CAAAK,cAAA,CAAAmI,GAAA,EAAApB,GAAA,IAAA9G,KAAA,EAAAA,KAAA,EAAAU,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAsH,GAAA,CAAApB,GAAA,IAAA9G,KAAA,WAAAkI,GAAA;AAAA,SAAAJ,eAAAtI,CAAA,QAAAS,CAAA,GAAAkI,YAAA,CAAA3I,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAmI,MAAA,CAAAnI,CAAA;AAAA,SAAAkI,aAAA3I,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAmI,WAAA,kBAAA9I,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAsD,SAAA,yEAAA9D,CAAA,GAAA2I,MAAA,GAAAE,MAAA,EAAA9I,CAAA;AADA,OAAO+I,CAAC,MAAM,QAAQ;AACtB,SAASC,OAAO,EAAEC,OAAO,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAC5D,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,KAAK,QAAQ,kBAAkB;AAExC,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AAA6B,IAE/CC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA,EAAXA,WAAW;AAAA,IAQXC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA,EAAXA,WAAW;AAIhB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAKtB,IAAQC,OAAO,GAAKT,KAAK,CAAjBS,OAAO;AAAU,IAEnBC,SAAS;EAOb,SAAAA,UAAYC,GAAW,EAAE;IAAA/B,eAAA,OAAA8B,SAAA;IAAA/C,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBADd,KAAK;IAEd,IAAI,CAACgD,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,aAAa,GAAG,IAAIC,GAAG,CAAC,CAAC;EAChC;;EAEA;EAAAzB,YAAA,CAAAsB,SAAA;IAAAvC,GAAA;IAAA9G,KAAA;MAAA,IAAAyJ,WAAA,GAAAxC,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CACA,SAAA+E,QAAiBC,IAAI,EAAEC,MAAM;QAAA,IAAAC,IAAA,EAAAC,UAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,eAAA,EAAAC,UAAA,EAAAC,WAAA;QAAA,OAAAhL,mBAAA,GAAAuB,IAAA,UAAA0J,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAApF,IAAA,GAAAoF,QAAA,CAAA/G,IAAA;YAAA;cAC3B,IAAI,CAACkG,IAAI,GAAGA,IAAI;cAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;cACpBR,OAAO,CAACqB,GAAG,CAAC,wBAAwB,CAAC;cACrC,IAAI,CAAClB,aAAa,CAACmB,KAAK,CAAC,CAAC;cAAAb,IAAA,GAC0BF,IAAI,IAAI,CAAC,CAAC,EAAAG,UAAA,GAAAD,IAAA,CAAtDc,KAAK,EAAEZ,KAAK,GAAAD,UAAA,cAAG,CAAC,GAAAA,UAAA,EAAEE,MAAM,GAAAH,IAAA,CAANG,MAAM,EAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK,EAAEC,MAAM,GAAAL,IAAA,CAANK,MAAM;cACzCC,SAAS,GAAGH,MAAM,IAAIA,MAAM,CAACD,KAAK,CAAC;cAAA,IACpCI,SAAS;gBAAAK,QAAA,CAAA/G,IAAA;gBAAA;cAAA;cACZmH,OAAO,CAAC5D,KAAK,CAAC,6BAA6B,CAAC;cAAA,OAAAwD,QAAA,CAAAnH,MAAA;YAAA;cAAAmH,QAAA,CAAApF,IAAA;cAI5C;cAAAgF,eAAA,GAC2C,IAAI,CAACS,SAAS,CAACV,SAAS,CAACW,SAAS,EAAEb,KAAK,EAAE,CAAC,CAAC,EAAhFI,UAAU,GAAAD,eAAA,CAAVC,UAAU,EAASC,WAAW,GAAAF,eAAA,CAAlBH,KAAK;cACzB,IAAI,CAACU,KAAK,GAAAvE,aAAA,CAAAA,aAAA;gBACR2D,KAAK,EAALA;cAAK,GACFI,SAAS;gBACZF,KAAK,EAAEK,WAAW,CAACrE,MAAM,CAAC8E,OAAO,CAAC;gBAClCb,MAAM,EAANA,MAAM;gBACNG,UAAU,EAAVA,UAAU,CAAE;cAAA,EACb;cAAAG,QAAA,CAAA/G,IAAA;cAAA,OACK,IAAI,CAACuH,SAAS,CAAC,CAAC;YAAA;cACtB,IAAI,CAACC,WAAW,CAAC,CAAC;cAClB,IAAI,CAACN,KAAK,CAACO,WAAW,IAAI,IAAI,CAACC,cAAc,CAAC,IAAI,CAACR,KAAK,CAACO,WAAW,CAAC;cAAA,OAAAV,QAAA,CAAAnH,MAAA,WAC9D,IAAI,CAAC+H,QAAQ,CAAC,IAAI,CAACT,KAAK,CAACV,KAAK,CAAC;YAAA;cAAAO,QAAA,CAAApF,IAAA;cAAAoF,QAAA,CAAAa,EAAA,GAAAb,QAAA;cAAA,OAAAA,QAAA,CAAAnH,MAAA,WAG/B,KAAK;YAAA;YAAA;cAAA,OAAAmH,QAAA,CAAAjF,IAAA;UAAA;QAAA,GAAAmE,OAAA;MAAA,CAEf;MAAA,SAAA4B,WAAAC,EAAA,EAAAC,GAAA;QAAA,OAAA/B,WAAA,CAAAtD,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAiF,UAAA;IAAA,IAED;EAAA;IAAAxE,GAAA;IAAA9G,KAAA,EACA,SAAA6K,UAAUY,OAAO,EAAExB,KAAK,EAAEI,UAAU,EAAE;MAAA,IAAAqB,KAAA;MACpC,IAAMC,MAAM,GAAG;QACbtB,UAAU,EAAVA,UAAU;QACVJ,KAAK,EAAE;MACT,CAAC;MAEDwB,OAAO,CAACrJ,OAAO,CAAC,UAAC2H,KAAK,EAAK;QACzB,IAAM6B,IAAI,GAAG3B,KAAK,CAACF,KAAK,CAAC;QACzB,IAAI,CAAC6B,IAAI,EAAE;UACThB,OAAO,CAACiB,IAAI,oBAAAC,MAAA,CAAoB/B,KAAK,gBAAa,CAAC;UACnD;QACF;QAEA,IAAI6B,IAAI,CAACzK,IAAI,KAAK8H,WAAW,CAAC8C,MAAM,EAClC;;QAEF;QACA,IAAIH,IAAI,CAACzK,IAAI,KAAK,OAAO,EAAE;UACzBuK,KAAI,CAACnC,aAAa,CAACyC,GAAG,CAACJ,IAAI,CAACK,EAAE,EAAE,CAAC,CAAC;UAClCN,MAAM,CAACtB,UAAU,EAAE;QACrB;;QAEA;QACA,IAAM6B,eAAe,GAAGP,MAAM,CAACtB,UAAU;QACzC,IAAIuB,IAAI,CAACO,QAAQ,EAAE;UACjB,IAAMC,WAAW,GAAGV,KAAI,CAACb,SAAS,CAACe,IAAI,CAACO,QAAQ,EAAElC,KAAK,EAAEiC,eAAe,CAAC;UACzEP,MAAM,CAACtB,UAAU,GAAG+B,WAAW,CAAC/B,UAAU;UAC1CsB,MAAM,CAAC1B,KAAK,CAAChG,IAAI,CAAAmC,aAAA,CAAAA,aAAA,KAAMwF,IAAI;YAAEO,QAAQ,EAAEC,WAAW,CAACnC,KAAK,CAAChE,MAAM,CAAC8E,OAAO;UAAC,EAAE,CAAC;QAC7E,CAAC,MACI;UACHY,MAAM,CAAC1B,KAAK,CAAChG,IAAI,CAAC2H,IAAI,CAAC;QACzB;MACF,CAAC,CAAC;MAEF,OAAOD,MAAM;IACf;EAAC;IAAA7E,GAAA;IAAA9G,KAAA;MAAA,IAAAqM,SAAA,GAAApF,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAA2H,SAAerC,KAAK;QAAA,IAAAsC,MAAA;QAAA,IAAAZ,MAAA;QAAA,OAAArM,mBAAA,GAAAuB,IAAA,UAAA2L,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArH,IAAA,GAAAqH,SAAA,CAAAhJ,IAAA;YAAA;cACZkI,MAAM,GAAG1B,KAAK,CAACyC,GAAG,CAAC,UAACd,IAAI,EAAK;gBACjC,OAAOW,MAAI,CAACI,aAAa,CAACf,IAAI,CAAC;cACjC,CAAC,CAAC;cAAA,OAAAa,SAAA,CAAApJ,MAAA,WAEK2B,OAAO,CAAC4H,GAAG,CAACjB,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAc,SAAA,CAAAlH,IAAA;UAAA;QAAA,GAAA+G,QAAA;MAAA,CAC3B;MAAA,SAAAlB,SAAAyB,GAAA;QAAA,OAAAR,SAAA,CAAAlG,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA+E,QAAA;IAAA,IAED;EAAA;IAAAtE,GAAA;IAAA9G,KAAA,EACA,SAAAmL,eAAe2B,MAAM,EAAE;MACrB,IAAAC,YAAA,GAAsED,MAAM,CAApEE,IAAI;QAAJA,IAAI,GAAAD,YAAA,cAAG7D,WAAW,CAAC+D,OAAO,GAAAF,YAAA;QAAUG,MAAM,GAAoBJ,MAAM,CAAxCK,MAAM;QAAUC,IAAI,GAAcN,MAAM,CAAxBM,IAAI;QAAEC,OAAO,GAAKP,MAAM,CAAlBO,OAAO;MACjE,IAAMC,iBAAiB,GAAG,IAAI,CAAChE,GAAG,CAACL,WAAW,CAACiC,WAAW,CAAC;MAC3D,IAAI8B,IAAI,KAAK9D,WAAW,CAAC+D,OAAO,EAAE;QAAE;QAClC,IAAIM,IAAI,GAAG,EAAE;QACb,IAAMC,WAAW,GAAG,CAAAJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEpN,KAAK,MAAIoN,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEA,IAAI;QAC7C,IAAII,WAAW,EAAE;UACfF,iBAAiB,CAACG,OAAO,CAAC;YAAEL,IAAI,EAAEI;UAAY,CAAC,CAAC;UAChD,IAAME,SAAS,GAAG,IAAI,CAACC,eAAe,CAACH,WAAW,CAAC;UACnD,IAAIE,SAAS,EACXH,IAAI,GAAGG,SAAS,CAACH,IAAI;QACzB;QACA,IAAIF,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEA,OAAO,EAClBC,iBAAiB,CAACM,UAAU,CAAC;UAAEP,OAAO,EAAEA,OAAO,CAACA,OAAO;UAAED,IAAI,EAAEG;QAAK,CAAC,CAAC;MAC1E,CAAC,MACI,IAAIP,IAAI,KAAK9D,WAAW,CAACiE,MAAM,IAAID,MAAM,EAAE;QAAE;QAChD,IAAQ/L,IAAI,GAAiB+L,MAAM,CAA3B/L,IAAI;UAAE0M,GAAG,GAAYX,MAAM,CAArBW,GAAG;UAAEC,KAAK,GAAKZ,MAAM,CAAhBY,KAAK;QACxB,QAAQ3M,IAAI;UACV,KAAKgI,UAAU,CAAC0E,GAAG;YACjBP,iBAAiB,CAACS,OAAO,CAAA3H,aAAA;cAAG4G,IAAI,EAAE7D,UAAU,CAAC0E;YAAG,GAAKA,GAAG,CAAE,CAAC;YAC3D;UACF,KAAK1E,UAAU,CAAC2E,KAAK;YACnBR,iBAAiB,CAACS,OAAO,CAAC;cAAEf,IAAI,EAAE7D,UAAU,CAAC2E,KAAK;cAAEA,KAAK,EAAEA,KAAK,CAAC9N;YAAM,CAAC,CAAC;YACzE;QACJ;MACF;MACA,IAAQgO,QAAQ,GAAK,IAAI,CAACrD,KAAK,CAAvBqD,QAAQ,CAAe,CAAC;MAChC,IAAIA,QAAQ,KAAK1G,SAAS,EAAE;QAC1B,IAAA2G,aAAA,GAAqBvF,GAAG,CAACwF,QAAQ,CAAC,CAAC;UAA3BC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAChBA,QAAQ,CAACC,mBAAmB,GAAGJ,QAAQ;MACzC;IACF;EAAC;IAAAlH,GAAA;IAAA9G,KAAA;MAAA,IAAAqO,UAAA,GAAApH,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAA2J,SAAA;QAAA,IAAAC,MAAA;QAAA,IAAAC,WAAA,EAAAtE,MAAA,EAAAuE,UAAA,EAAAC,cAAA,EAAA/D,KAAA,EAAAoB,MAAA,EAAAoC,QAAA,EAAAQ,aAAA;QAAA,OAAArP,mBAAA,GAAAuB,IAAA,UAAA+N,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzJ,IAAA,GAAAyJ,SAAA,CAAApL,IAAA;YAAA;cAAA+K,WAAA,GACiC,IAAI,CAAC7D,KAAK,EAAjCT,MAAM,GAAAsE,WAAA,CAANtE,MAAM,EAAEuE,UAAU,GAAAD,WAAA,CAAVC,UAAU;cAAAC,cAAA,GACyBhG,GAAG,CAACwF,QAAQ,CAAC,CAAC,EAAzDvD,KAAK,GAAA+D,cAAA,CAAL/D,KAAK,EAAEoB,MAAM,GAAA2C,cAAA,CAAN3C,MAAM,EAAEoC,QAAQ,GAAAO,cAAA,CAARP,QAAQ,EAAEQ,aAAa,GAAAD,cAAA,CAAbC,aAAa;cAC9CF,UAAU,IAAIA,UAAU,CAACrM,OAAO;gBAAA,IAAA0M,KAAA,GAAA7H,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAAoK,SAAOhF,KAAK;kBAAA,IAAA5I,IAAA,EAAA6N,OAAA,EAAAC,QAAA,EAAAC,cAAA,EAAA/E,SAAA,EAAAgF,cAAA,EAAAC,qBAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA7C,GAAA,EAAA8C,KAAA,EAAAC,aAAA,EAAA3B,KAAA,EAAA4B,OAAA;kBAAA,OAAApQ,mBAAA,GAAAuB,IAAA,UAAA8O,UAAAC,SAAA;oBAAA,kBAAAA,SAAA,CAAAxK,IAAA,GAAAwK,SAAA,CAAAnM,IAAA;sBAAA;wBAAA,MACvCsG,KAAK,IAAIG,MAAM,CAAC5F,MAAM;0BAAAsL,SAAA,CAAAnM,IAAA;0BAAA;wBAAA;wBAAA,OAAAmM,SAAA,CAAAvM,MAAA;sBAAA;wBAEpBlC,IAAI,GAAG+I,MAAM,CAACH,KAAK,CAAC,CAAC5I,IAAI;wBAAAyO,SAAA,CAAAvE,EAAA,GACvBlK,IAAI;wBAAAyO,SAAA,CAAAnM,IAAA,GAAAmM,SAAA,CAAAvE,EAAA,KACL,MAAM,OAAAuE,SAAA,CAAAvE,EAAA,KAsBN,OAAO,QAAAuE,SAAA,CAAAvE,EAAA,KAMP,KAAK;wBAAA;sBAAA;wBA3BRkD,MAAI,CAACsB,QAAQ,GAAG,IAAI;wBAChBb,OAAO,GAAG9E,MAAM,CAACH,KAAK,CAAC;wBAAAkF,QAAA,GAC2BD,OAAO,EAA5CE,cAAc,GAAAD,QAAA,CAAvBa,OAAO,EAAyB3F,SAAS,GAAA8E,QAAA,CAAhBtE,KAAK,EACtC;wBACA,IAAIuE,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEa,QAAQ,EAAE;0BACtBZ,cAAc,GAAAa,UAAA,CAAOvH,OAAO,EAAAwH,kBAAA,CAAIf,cAAc,CAACa,QAAQ,CAACrD,GAAG,CAAC,UAAAwD,GAAG;4BAAA,OAAI5H,MAAM,CAAC6H,QAAQ,CAACD,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC;0BAAA,EAAC;0BAAAd,qBAAA,GAC9ExG,KAAK,CAACwH,SAAS,CAACC,kBAAkB,CAAClB,cAAc,EAAE;4BAAEE,GAAG,EAAElF,SAAS,CAACmG,MAAM,CAAC,CAAC,CAAC;4BAAEhB,GAAG,EAAEnF,SAAS,CAACmG,MAAM,CAAC,CAAC,CAAC;4BAAEf,GAAG,EAAEpF,SAAS,CAACmG,MAAM,CAAC,CAAC;0BAAE,CAAC,CAAC,EAAtJjB,GAAG,GAAAD,qBAAA,CAAHC,GAAG,EAAEC,GAAG,GAAAF,qBAAA,CAAHE,GAAG,EAAEC,GAAG,GAAAH,qBAAA,CAAHG,GAAG;0BACrBP,OAAO,GAAA5I,aAAA,CAAAA,aAAA,KAAQ4I,OAAO;4BAAErE,KAAK,EAAAvE,aAAA,CAAAA,aAAA,KAAO4I,OAAO,CAACrE,KAAK;8BAAE2F,MAAM,EAAE,CAACjB,GAAG,EAAEC,GAAG,EAAEC,GAAG;4BAAC;0BAAE,EAAE;wBAChF;wBAACK,SAAA,CAAAnM,IAAA;wBAAA,OACiBmF,KAAK,CAACY,GAAG,CAAC+G,IAAI,CAAC;0BAC/B5F,KAAK,EAALA,KAAK;0BACLoB,MAAM,EAANA,MAAM;0BACNoC,QAAQ,EAARA,QAAQ;0BACRqC,OAAO,EAAE7B,aAAa;0BACtBK,OAAO,EAAPA;wBACF,CAAC,CAAC;sBAAA;wBANItC,GAAG,GAAAkD,SAAA,CAAA1M,IAAA;wBAOTwJ,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAE+D,gBAAgB,CAAC7H,KAAK,CAAC8H,YAAY,CAACC,UAAU,EAAE,UAAC3O,CAAC,EAAK;0BAC1DoH,OAAO,CAACwH,IAAI,CAAC,sBAAsB,EAAE5O,CAAC,CAAC;wBACzC,CAAC,CAAC;wBAAA,OAAA4N,SAAA,CAAAvM,MAAA;sBAAA;wBAIImM,KAAK,GAAG,IAAI3G,KAAK,CAACqB,MAAM,CAACH,KAAK,CAAC,CAAC;wBACtCyF,KAAK,CAACqB,MAAM,CAAC,CAAC;wBACdlG,KAAK,CAACmG,GAAG,CAACtB,KAAK,CAAC;wBAAA,OAAAI,SAAA,CAAAvM,MAAA;sBAAA;wBAAAoM,aAAA,GAIWvF,MAAM,CAACH,KAAK,CAAC,EAAhC+D,KAAK,GAAA2B,aAAA,CAAL3B,KAAK,EAAE4B,OAAO,GAAAD,aAAA,CAAPC,OAAO;wBACtB/E,KAAK,CAACoG,GAAG,GAAG,IAAIvI,OAAO,CAACsF,KAAK,EAAE4B,OAAO,CAAC;wBAAA,OAAAE,SAAA,CAAAvM,MAAA;sBAAA;sBAAA;wBAAA,OAAAuM,SAAA,CAAArK,IAAA;oBAAA;kBAAA,GAAAwJ,QAAA;gBAAA,CAI5C;gBAAA,iBAAAiC,GAAA;kBAAA,OAAAlC,KAAA,CAAA3I,KAAA,OAAAE,SAAA;gBAAA;cAAA,IAAC;YAAA;YAAA;cAAA,OAAAwI,SAAA,CAAAtJ,IAAA;UAAA;QAAA,GAAA+I,QAAA;MAAA,CACH;MAAA,SAAAtD,UAAA;QAAA,OAAAqD,UAAA,CAAAlI,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA2E,SAAA;IAAA,IAED;EAAA;IAAAlE,GAAA;IAAA9G,KAAA;MAAA,IAAAiR,cAAA,GAAAhK,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CACA,SAAAuM,SAAoBtF,IAAI;QAAA,IAAAuF,MAAA;QAAA,IAAAC,YAAA,EAAAC,UAAA,EAAAvE,MAAA,EAAAwE,aAAA,EAAAC,UAAA,EAAAC,aAAA;QAAA,OAAAlS,mBAAA,GAAAuB,IAAA,UAAA4Q,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtM,IAAA,GAAAsM,SAAA,CAAAjO,IAAA;YAAA;cAChB2N,YAAY,GAAG,IAAI,CAACO,WAAW,CAAC1I,WAAW,EAAE2C,IAAI,CAACzK,IAAI,CAAC;cACvDkQ,UAAU,GAAGD,YAAY,GAAG,IAAI,CAAC9H,GAAG,CAACsC,IAAI,CAACzK,IAAI,CAAC,GAAG,IAAI,CAACmI,GAAG,CAACL,WAAW,CAAC2I,MAAM,CAAC;cAAA,IAE/EP,UAAU;gBAAAK,SAAA,CAAAjO,IAAA;gBAAA;cAAA;cACbmH,OAAO,CAAC5D,KAAK,uBAAA8E,MAAA,CAAuBF,IAAI,CAACzK,IAAI,CAAE,CAAC;cAAA,OAAAuQ,SAAA,CAAArO,MAAA;YAAA;cAG5CyJ,MAAM,GAAGvE,CAAC,CAACsJ,KAAK,CAACjG,IAAI,CAAC;cAAA,MACxBA,IAAI,CAACzK,IAAI,KAAK,OAAO,IAAIyK,IAAI,CAACO,QAAQ;gBAAAuF,SAAA,CAAAjO,IAAA;gBAAA;cAAA;cAClC6N,aAAa,GAAG1F,IAAI,CAACO,QAAQ,CAACO,GAAG,CAAC,UAAAoF,UAAU;gBAAA,OAAIX,MAAI,CAACxE,aAAa,CAACmF,UAAU,CAAC;cAAA,EAAC;cAAAJ,SAAA,CAAAjO,IAAA;cAAA,OAC5DuB,OAAO,CAAC4H,GAAG,CAAC0E,aAAa,CAAC;YAAA;cAA7CC,UAAU,GAAAG,SAAA,CAAAxO,IAAA;cAChB4J,MAAM,CAACX,QAAQ,GAAGoF,UAAU,CAAC7E,GAAG,CAAC,UAAAqF,KAAK;gBAAA,OAAIA,KAAK,CAAC9F,EAAE;cAAA,EAAC;YAAA;cAAAyF,SAAA,CAAAjO,IAAA;cAAA,OAIzB4N,UAAU,CAACtQ,MAAM,CAAC+L,MAAM,CAAC;YAAA;cAA/C0E,aAAa,GAAAE,SAAA,CAAAxO,IAAA;cAAAwO,SAAA,CAAAjO,IAAA;cAAA,OACb+N,aAAa,CAACQ,SAAS;YAAA;cAAA,OAAAN,SAAA,CAAArO,MAAA,WACtBuI,IAAI;YAAA;YAAA;cAAA,OAAA8F,SAAA,CAAAnM,IAAA;UAAA;QAAA,GAAA2L,QAAA;MAAA,CACZ;MAAA,SAAAvE,cAAAsF,GAAA;QAAA,OAAAhB,cAAA,CAAA9K,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAsG,aAAA;IAAA;EAAA;IAAA7F,GAAA;IAAA9G,KAAA,EAED,SAAAiL,YAAA,EAAc;MAAA,IAAAiH,MAAA;MACZ,IAAI,IAAI,CAACvH,KAAK,CAACN,UAAU,GAAG,CAAC,IAAI,IAAI,CAACwF,QAAQ,EAAE;QAC9C,IAAItG,aAAa,GAAG,CAAC,EAAC;QACtB,IAAI4I,YAAY,GAAG,CAAC,EAAC;QACrB,IAAIC,KAAK,GAAG,CAAC,EAAC;;QAEd,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA,EAAS;UAChC;UACE,IAAMC,cAAc,GAAGJ,MAAI,CAACrC,QAAQ,GAAG0C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEL,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;UAC3E,IAAMM,eAAe,GAAGP,MAAI,CAACvH,KAAK,CAACN,UAAU,GAAG,CAAC,GAAGd,aAAa,GAAG,CAAC;UAErE,IAAI2I,MAAI,CAACrC,QAAQ,IAAIqC,MAAI,CAACvH,KAAK,CAACN,UAAU,GAAG,CAAC,EAC5C+H,KAAK,GAAG,CAACE,cAAc,GAAGG,eAAe,IAAI,CAAC,MAC3C,IAAIP,MAAI,CAACrC,QAAQ,EACpBuC,KAAK,GAAGE,cAAc,MAEtBF,KAAK,GAAGK,eAAe;UAEzB,OAAOL,KAAK;QACd,CAAC;QAED,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAIN,KAAa,EAAK;UACtCrJ,aAAa,CACX;YACE4J,WAAW,EAAE7J,WAAW,CAAC8J,KAAK;YAC9BC,WAAW,EAAE,YAAY;YACzBC,MAAM,EAAE9J,cAAc,CAAC+J,OAAO;YAC9BC,MAAM,EAAE;UACV,CAAC,EACD;YAAEC,QAAQ,EAAEb,KAAK;YAAEc,KAAK,EAAEhB,MAAI,CAACtI;UAAO,CACxC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAACe,KAAK,CAACN,UAAU,GAAG,CAAC,EAAE;UAC7BjB,OAAO,CAAC+J,EAAE,CAAC,wBAAwB,EAAE,UAACC,IAAS,EAAK;YAClD,IAAQnH,EAAE,GAAemH,IAAI,CAArBnH,EAAE;cAAEgH,QAAQ,GAAKG,IAAI,CAAjBH,QAAQ;YACpB,IAAI,CAACf,MAAI,CAAC3I,aAAa,CAAC8J,GAAG,CAACpH,EAAE,CAAC,EAC7B;YACFiG,MAAI,CAAC3I,aAAa,CAACyC,GAAG,CAACC,EAAE,EAAEgH,QAAQ,CAAC;YACpC;YACA,IAAMK,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACtB,MAAI,CAAC3I,aAAa,CAACtH,MAAM,CAAC,CAAC,CAAC,CAACwR,MAAM,CAAC,UAACC,GAAG,EAAEC,eAAe;cAAA,OAAKD,GAAG,GAAGC,eAAe;YAAA,GAAE,CAAC,CAAC;YACxH;YACApK,aAAa,GAAG+J,aAAa,GAAGpB,MAAI,CAACvH,KAAK,CAACN,UAAU;YACrDqI,YAAY,CAACL,iBAAiB,CAAC,CAAC,CAAC;UACnC,CAAC,CAAC;QACJ;QAEA,IAAI,IAAI,CAACxC,QAAQ,EAAE;UACjBzG,OAAO,CAAC+J,EAAE,CAAC,sBAAsB,EAAE,UAACC,IAAS,EAAK;YAChDjB,YAAY,GAAGiB,IAAI,CAACH,QAAQ;YAC5Bb,KAAK,GAAG,CAAC,IAAIM,YAAY,CAACL,iBAAiB,CAAC,CAAC,CAAC;UAChD,CAAC,CAAC;QACJ;MACF,CAAC,MACI;QACHtJ,aAAa,CACX;UACE4J,WAAW,EAAE7J,WAAW,CAAC8J,KAAK;UAC9BC,WAAW,EAAE,YAAY;UACzBC,MAAM,EAAE9J,cAAc,CAAC+J,OAAO;UAC9BC,MAAM,EAAE;QACV,CAAC,EACD;UAAEC,QAAQ,EAAE,CAAC;UAAEC,KAAK,EAAE,IAAI,CAACtJ;QAAO,CACpC,CAAC;MACH;IACF;;IAEA;EAAA;IAAA9C,GAAA;IAAA9G,KAAA,EACA,SAAA4T,kBAAkBhI,IAAI,EAAE;MAAA,IAAAiI,MAAA;MACtB,IAAQC,SAAS,GAAKlI,IAAI,CAAlBkI,SAAS;MACjB;MACA,IAAIA,SAAS,EAAE;QACb,IAAMC,gBAAgB,GAAGD,SAAS,CAACpH,GAAG,CAAC,UAACsH,IAAI,EAAK;UAC/C,IAAMC,QAAQ,GAAGJ,MAAI,CAACK,eAAe,CAACF,IAAI,CAACC,QAAQ,CAAC;UACpD,IAAIA,QAAQ,EACV,OAAA7N,aAAA,CAAAA,aAAA,KAAY4N,IAAI;YAAEG,UAAU,EAAEF,QAAQ,CAACE;UAAU;QACrD,CAAC,CAAC,CAAClO,MAAM,CAAC8E,OAAO,CAAC;QAClBa,IAAI,CAACwI,QAAQ,GAAG;UAAEN,SAAS,EAAEC;QAAiB,CAAC;MACjD;IACF;EAAC;IAAAjN,GAAA;IAAA9G,KAAA,EAED,SAAAkU,gBAAgBnK,KAAK,EAAE;MACrB,IAAM+J,SAAS,GAAG,IAAI,CAACnK,IAAI,CAACmK,SAAS;MACrC,OAAQA,SAAS,IAAIA,SAAS,CAACxP,MAAM,GAAGyF,KAAK,GAAI+J,SAAS,CAAC/J,KAAK,CAAC,GAAG,IAAI;IAC1E;EAAC;IAAAjD,GAAA;IAAA9G,KAAA,EAED,SAAA2R,YAAY0C,OAAO,EAAErU,KAAK,EAAE;MAC1B,OAAON,MAAM,CAACuC,MAAM,CAACoS,OAAO,CAAC,CAACC,QAAQ,CAACtU,KAAK,CAAC;IAC/C;EAAC;IAAA8G,GAAA;IAAA9G,KAAA,EAED,SAAA2N,gBAAgBP,IAAI,EAAE;MACpB;MACA,IAAMmH,WAAW,GAAG,wCAAwC;MAC5D,IAAI,CAACA,WAAW,CAACC,IAAI,CAACpH,IAAI,CAAC,EAAE;QAC3BxC,OAAO,CAAC5D,KAAK,CAAC,iDAAiD,CAAC;QAChE,OAAO,IAAI;MACb;;MAEA;MACA,IAAAyN,eAAA,GAAuBrH,IAAI,CAACsH,KAAK,CAAC,GAAG,CAAC,CAAChI,GAAG,CAACpE,MAAM,CAAC;QAAAqM,gBAAA,GAAAC,cAAA,CAAAH,eAAA;QAA3ClH,IAAI,GAAAoH,gBAAA;QAAEE,MAAM,GAAAF,gBAAA;;MAEnB;MACA,IAAIpH,IAAI,KAAK,EAAE,IAAIsH,MAAM,KAAK,CAAC,EAC7B,OAAO;QAAEtH,IAAI,EAAJA,IAAI;QAAEsH,MAAM,EAANA,MAAM;QAAEC,QAAQ,EAAE;MAAK,CAAC;;MAEzC;MACA,IAAMA,QAAQ,GAAGvH,IAAI,GAAG,GAAG,GAAIsH,MAAM,GAAG,EAAE,GAAI,GAAG;MAEjD,OAAO;QAAEtH,IAAI,EAAJA,IAAI;QAAEsH,MAAM,EAANA,MAAM;QAAEC,QAAQ,EAARA;MAAS,CAAC;IACnC;;IAEA;EAAA;IAAAhO,GAAA;IAAA9G,KAAA;MAAA,IAAA+U,MAAA,GAAA9N,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CACA,SAAAqQ,SAAA;QAAA,IAAAC,iBAAA;UAAAC,MAAA;QAAA,IAAAvJ,MAAA;QAAA,OAAArM,mBAAA,GAAAuB,IAAA,UAAAsU,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhQ,IAAA,GAAAgQ,SAAA,CAAA3R,IAAA;YAAA;cACQkI,MAAM,IAAAsJ,iBAAA,GAAG,IAAI,CAACtK,KAAK,CAACV,KAAK,cAAAgL,iBAAA,uBAAhBA,iBAAA,CAAkBvI,GAAG;gBAAA,IAAA2I,KAAA,GAAApO,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA2Q,SAAO1J,IAAI;kBAAA,IAAAwF,YAAA,EAAAC,UAAA;kBAAA,OAAA/R,mBAAA,GAAAuB,IAAA,UAAA0U,UAAAC,SAAA;oBAAA,kBAAAA,SAAA,CAAApQ,IAAA,GAAAoQ,SAAA,CAAA/R,IAAA;sBAAA;wBACxC2N,YAAY,GAAG8D,MAAI,CAACvD,WAAW,CAAC1I,WAAW,EAAE2C,IAAI,CAACzK,IAAI,CAAC;wBACvDkQ,UAAU,GAAGD,YAAY,GAAG8D,MAAI,CAAC5L,GAAG,CAACsC,IAAI,CAACzK,IAAI,CAAC,GAAG+T,MAAI,CAAC5L,GAAG,CAACL,WAAW,CAAC2I,MAAM,CAAC;wBAAA,OAAA4D,SAAA,CAAAnS,MAAA,WAC7EgO,UAAU,CAACoE,MAAM,CAAC7J,IAAI,CAAC;sBAAA;sBAAA;wBAAA,OAAA4J,SAAA,CAAAjQ,IAAA;oBAAA;kBAAA,GAAA+P,QAAA;gBAAA,CAC/B;gBAAA,iBAAAI,GAAA;kBAAA,OAAAL,KAAA,CAAAlP,KAAA,OAAAE,SAAA;gBAAA;cAAA,IAAC;cACF,IAAI,CAAC8E,cAAc,CAAC;gBAClBkC,OAAO,EAAE;kBACPlM,IAAI,EAAE;gBACR,CAAC;gBACDiM,IAAI,EAAE;kBACJpN,KAAK,EAAE;gBACT;cACF,CAAC,CAAC;cACF,IAAI,CAACuJ,aAAa,CAACmB,KAAK,CAAC,CAAC;cAAA,OAAA0K,SAAA,CAAA/R,MAAA,WAEnB2B,OAAO,CAAC4H,GAAG,CAACjB,MAAM,CAAC;YAAA;YAAA;cAAA,OAAAyJ,SAAA,CAAA7P,IAAA;UAAA;QAAA,GAAAyP,QAAA;MAAA,CAC3B;MAAA,SAAAtK,MAAA;QAAA,OAAAqK,MAAA,CAAA5O,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAqE,KAAA;IAAA;EAAA;EAAA,OAAArB,SAAA;AAAA;AAGH,eAAeA,SAAS"}
@@ -0,0 +1,498 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
5
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
7
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
8
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
13
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
16
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
23
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
25
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
+ import _ from 'lodash';
27
+ import { FogExp2, Vector3, use, utils } from '@anov/3d-core';
28
+ import * as Geo3D from '@anov/geo-3d';
29
+ import { Water } from '@anov/3d-ability';
30
+ import { MessageType, sendToMessage } from "../../utils/messageFn";
31
+ import { EMessageStatus } from "../../messageStatus";
32
+ var EObjectType = /*#__PURE__*/function (EObjectType) {
33
+ EObjectType["camera"] = "camera";
34
+ EObjectType["environment"] = "environment";
35
+ EObjectType["scene"] = "scene";
36
+ EObjectType["animation"] = "animation";
37
+ EObjectType["material"] = "material";
38
+ EObjectType["entity"] = "entity";
39
+ return EObjectType;
40
+ }(EObjectType || {});
41
+ var WeatherMode = /*#__PURE__*/function (WeatherMode) {
42
+ WeatherMode["dynamic"] = "dynamic";
43
+ WeatherMode["static"] = "static";
44
+ return WeatherMode;
45
+ }(WeatherMode || {});
46
+ export var StaticType = /*#__PURE__*/function (StaticType) {
47
+ StaticType["hdr"] = "hdr";
48
+ StaticType["color"] = "color";
49
+ StaticType["none"] = "none";
50
+ return StaticType;
51
+ }({});
52
+ var emitter = utils.emitter;
53
+ var FileParse = /*#__PURE__*/function () {
54
+ function FileParse(app) {
55
+ _classCallCheck(this, FileParse);
56
+ _defineProperty(this, "app", void 0);
57
+ _defineProperty(this, "json", void 0);
58
+ _defineProperty(this, "scene", void 0);
59
+ _defineProperty(this, "modelProgress", void 0);
60
+ _defineProperty(this, "action", void 0);
61
+ this.app = app;
62
+ this.modelProgress = new Map();
63
+ }
64
+
65
+ // 解析场景
66
+ _createClass(FileParse, [{
67
+ key: "parseScene",
68
+ value: function parseScene(json, action) {
69
+ this.json = json;
70
+ this.action = action;
71
+ emitter.off('model-loading-progress');
72
+ this.modelProgress.clear();
73
+ var _ref = json || {},
74
+ _ref$scene = _ref.scene,
75
+ index = _ref$scene === void 0 ? 0 : _ref$scene,
76
+ scenes = _ref.scenes,
77
+ nodes = _ref.nodes,
78
+ layers = _ref.layers;
79
+ var sceneNode = scenes && scenes[index];
80
+ if (!sceneNode) {
81
+ console.error('Invalid scene or nodeIndex.');
82
+ return;
83
+ }
84
+ try {
85
+ // 递归解析节点并计算模型节点的数量
86
+ var _this$parseNode = this.parseNode(sceneNode.nodeIndex, nodes, 0),
87
+ modelCount = _this$parseNode.modelCount,
88
+ parsedNodes = _this$parseNode.nodes;
89
+ this.scene = _objectSpread(_objectSpread({
90
+ index: index
91
+ }, sceneNode), {}, {
92
+ nodes: parsedNodes.filter(Boolean),
93
+ layers: layers,
94
+ modelCount: modelCount // 计算模型节点数量并放到 scene 对象中
95
+ });
96
+ this.addListener();
97
+ this.addLayers();
98
+ this.scene.environment && this.setEnvironment(this.scene.environment);
99
+ return this.addNodes(this.scene.nodes);
100
+ } catch (error) {
101
+ return false;
102
+ }
103
+ }
104
+
105
+ // 递归解析节点,并计算模型节点数量
106
+ }, {
107
+ key: "parseNode",
108
+ value: function parseNode(indexes, nodes, modelCount) {
109
+ var _this = this;
110
+ var result = {
111
+ modelCount: modelCount,
112
+ nodes: []
113
+ };
114
+ indexes.forEach(function (index) {
115
+ var node = nodes[index];
116
+ if (!node) {
117
+ console.warn("Node with index ".concat(index, " not found."));
118
+ return;
119
+ }
120
+ if (node.type === EObjectType.camera) return;
121
+
122
+ // 如果是 'model' 类型的节点,增加计数
123
+ if (node.type === 'model') {
124
+ _this.modelProgress.set(node.id, 0);
125
+ result.modelCount++;
126
+ }
127
+
128
+ // 如果节点有子节点,递归处理
129
+ var childModelCount = result.modelCount;
130
+ if (node.children) {
131
+ var childResult = _this.parseNode(node.children, nodes, childModelCount);
132
+ result.modelCount = childResult.modelCount;
133
+ result.nodes.push(_objectSpread(_objectSpread({}, node), {}, {
134
+ children: childResult.nodes.filter(Boolean)
135
+ }));
136
+ } else {
137
+ result.nodes.push(node);
138
+ }
139
+ });
140
+ return result;
141
+ }
142
+ }, {
143
+ key: "addNodes",
144
+ value: function () {
145
+ var _addNodes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(nodes) {
146
+ var _this2 = this;
147
+ var result;
148
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
149
+ while (1) switch (_context.prev = _context.next) {
150
+ case 0:
151
+ result = nodes.map(function (node) {
152
+ return _this2.addSingelNode(node);
153
+ });
154
+ return _context.abrupt("return", Promise.all(result));
155
+ case 2:
156
+ case "end":
157
+ return _context.stop();
158
+ }
159
+ }, _callee);
160
+ }));
161
+ function addNodes(_x) {
162
+ return _addNodes.apply(this, arguments);
163
+ }
164
+ return addNodes;
165
+ }() // 解析环境
166
+ }, {
167
+ key: "setEnvironment",
168
+ value: function setEnvironment(params) {
169
+ var _params$mode = params.mode,
170
+ mode = _params$mode === void 0 ? WeatherMode.dynamic : _params$mode,
171
+ source = params.static,
172
+ time = params.time,
173
+ weather = params.weather;
174
+ var environmentManage = this.app[EObjectType.environment];
175
+ if (mode === WeatherMode.dynamic) {
176
+ // 动态天空
177
+ var hour = 12;
178
+ var currentTime = (time === null || time === void 0 ? void 0 : time.value) || (time === null || time === void 0 ? void 0 : time.time);
179
+ if (currentTime) {
180
+ environmentManage.setTime({
181
+ time: currentTime
182
+ });
183
+ var timeRange = this.timeToRange2400(currentTime);
184
+ if (timeRange) hour = timeRange.hour;
185
+ }
186
+ if (weather !== null && weather !== void 0 && weather.weather) environmentManage.setWeather({
187
+ weather: weather.weather,
188
+ time: hour
189
+ });
190
+ } else if (mode === WeatherMode.static && source) {
191
+ // 静态天空:HDR、颜色
192
+ var type = source.type,
193
+ hdr = source.hdr,
194
+ color = source.color;
195
+ switch (type) {
196
+ case StaticType.hdr:
197
+ environmentManage.setMode(_objectSpread({
198
+ mode: StaticType.hdr
199
+ }, hdr));
200
+ break;
201
+ case StaticType.color:
202
+ environmentManage.setMode({
203
+ mode: StaticType.color,
204
+ color: color.value
205
+ });
206
+ break;
207
+ }
208
+ }
209
+ var exposure = this.scene.exposure; // 曝光度
210
+ if (exposure !== undefined) {
211
+ var _use$useScene = use.useScene(),
212
+ renderer = _use$useScene.renderer;
213
+ renderer.toneMappingExposure = exposure;
214
+ }
215
+ }
216
+ }, {
217
+ key: "addLayers",
218
+ value: function addLayers() {
219
+ var _this$scene = this.scene,
220
+ layers = _this$scene.layers,
221
+ layerIndex = _this$scene.layerIndex;
222
+ var _use$useScene2 = use.useScene(),
223
+ scene = _use$useScene2.scene,
224
+ camera = _use$useScene2.camera,
225
+ renderer = _use$useScene2.renderer,
226
+ orbitControls = _use$useScene2.orbitControls;
227
+ layerIndex && layerIndex.forEach(function (index) {
228
+ if (index >= layers.length) return;
229
+ var type = layers[index].type;
230
+ switch (type) {
231
+ case 'city':
232
+ {
233
+ var sccData = layers[index];
234
+ var _sccData = sccData,
235
+ panelAttribute = _sccData.private,
236
+ sceneNode = _sccData.scene;
237
+ // 中心点偏移
238
+ if (panelAttribute !== null && panelAttribute !== void 0 && panelAttribute.position) {
239
+ var offsetPosition = _construct(Vector3, _toConsumableArray(panelAttribute.position.map(function (num) {
240
+ return Number.isFinite(num) ? num : 0;
241
+ })));
242
+ var _Geo3D$CoordUtil$thre = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, {
243
+ lon: sceneNode.center[0],
244
+ lat: sceneNode.center[1],
245
+ alt: sceneNode.center[2]
246
+ }),
247
+ lon = _Geo3D$CoordUtil$thre.lon,
248
+ lat = _Geo3D$CoordUtil$thre.lat,
249
+ alt = _Geo3D$CoordUtil$thre.alt;
250
+ sccData = _objectSpread(_objectSpread({}, sccData), {}, {
251
+ scene: _objectSpread(_objectSpread({}, sccData.scene), {}, {
252
+ center: [lon, lat, alt]
253
+ })
254
+ });
255
+ }
256
+ Geo3D.Map.load({
257
+ scene: scene,
258
+ camera: camera,
259
+ renderer: renderer,
260
+ control: orbitControls,
261
+ sccData: sccData
262
+ });
263
+ break;
264
+ }
265
+ case 'water':
266
+ {
267
+ var water = new Water(layers[index]);
268
+ water.update();
269
+ scene.add(water);
270
+ break;
271
+ }
272
+ case 'fog':
273
+ {
274
+ var _layers$index = layers[index],
275
+ color = _layers$index.color,
276
+ density = _layers$index.density;
277
+ scene.fog = new FogExp2(color, density);
278
+ break;
279
+ }
280
+ }
281
+ });
282
+ }
283
+
284
+ // 解析单个节点
285
+ }, {
286
+ key: "addSingelNode",
287
+ value: function () {
288
+ var _addSingelNode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(node) {
289
+ var _this3 = this;
290
+ var isDefineType, nodeObject, params, childPromises, childNodes, initialResult;
291
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
292
+ while (1) switch (_context2.prev = _context2.next) {
293
+ case 0:
294
+ isDefineType = this.isEnumValue(EObjectType, node.type);
295
+ nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity];
296
+ if (nodeObject) {
297
+ _context2.next = 5;
298
+ break;
299
+ }
300
+ console.error("Unknown node type: ".concat(node.type));
301
+ return _context2.abrupt("return");
302
+ case 5:
303
+ params = _.clone(node);
304
+ if (!(node.type === 'group' && node.children)) {
305
+ _context2.next = 12;
306
+ break;
307
+ }
308
+ childPromises = node.children.map(function (childIndex) {
309
+ return _this3.addSingelNode(childIndex);
310
+ });
311
+ _context2.next = 10;
312
+ return Promise.all(childPromises);
313
+ case 10:
314
+ childNodes = _context2.sent;
315
+ params.children = childNodes.map(function (child) {
316
+ return child.id;
317
+ });
318
+ case 12:
319
+ _context2.next = 14;
320
+ return nodeObject.create(params);
321
+ case 14:
322
+ initialResult = _context2.sent;
323
+ _context2.next = 17;
324
+ return initialResult.asyncTask;
325
+ case 17:
326
+ return _context2.abrupt("return", node);
327
+ case 18:
328
+ case "end":
329
+ return _context2.stop();
330
+ }
331
+ }, _callee2, this);
332
+ }));
333
+ function addSingelNode(_x2) {
334
+ return _addSingelNode.apply(this, arguments);
335
+ }
336
+ return addSingelNode;
337
+ }()
338
+ }, {
339
+ key: "addListener",
340
+ value: function addListener() {
341
+ var _this4 = this;
342
+ if (this.scene.modelCount > 0) {
343
+ emitter.on('model-loading-progress', function (data) {
344
+ var id = data.id,
345
+ progress = data.progress;
346
+ if (!_this4.modelProgress.has(id)) return;
347
+ _this4.modelProgress.set(id, progress);
348
+ // 更新累积进度
349
+ var progressValue = Array.from(_this4.modelProgress.values()).reduce(function (sum, currentProgress) {
350
+ return sum + currentProgress;
351
+ }, 0);
352
+ // 计算进度
353
+ var totalProgress = progressValue / _this4.scene.modelCount;
354
+ console.log('progressValue:', progressValue);
355
+ console.log('totalProgress:', totalProgress);
356
+ console.log('this.scene.modelCount:', _this4.scene.modelCount);
357
+ console.log('modelProgress:', _this4.modelProgress.size);
358
+ sendToMessage({
359
+ messageType: MessageType.Event,
360
+ messageName: 'onProgress',
361
+ status: EMessageStatus.Success,
362
+ global: false
363
+ }, {
364
+ progress: totalProgress,
365
+ state: _this4.action
366
+ });
367
+ });
368
+ } else {
369
+ sendToMessage({
370
+ messageType: MessageType.Event,
371
+ messageName: 'onProgress',
372
+ status: EMessageStatus.Success,
373
+ global: false
374
+ }, {
375
+ progress: 1,
376
+ state: this.action
377
+ });
378
+ }
379
+ }
380
+
381
+ // 获取节点参数
382
+ }, {
383
+ key: "setMaterialParams",
384
+ value: function setMaterialParams(node) {
385
+ var _this5 = this;
386
+ var materials = node.materials;
387
+ // 处理材质节点
388
+ if (materials) {
389
+ var updatedMaterials = materials.map(function (item) {
390
+ var material = _this5.getMaterialNode(item.material);
391
+ if (material) return _objectSpread(_objectSpread({}, item), {}, {
392
+ materialId: material.materialId
393
+ });
394
+ }).filter(Boolean);
395
+ node.override = {
396
+ materials: updatedMaterials
397
+ };
398
+ }
399
+ }
400
+ }, {
401
+ key: "getMaterialNode",
402
+ value: function getMaterialNode(index) {
403
+ var materials = this.json.materials;
404
+ return materials && materials.length > index ? materials[index] : null;
405
+ }
406
+ }, {
407
+ key: "isEnumValue",
408
+ value: function isEnumValue(enumObj, value) {
409
+ return Object.values(enumObj).includes(value);
410
+ }
411
+ }, {
412
+ key: "timeToRange2400",
413
+ value: function timeToRange2400(time) {
414
+ // 检查输入时间格式是否正确,包括 24:00
415
+ var timePattern = /^(?:([01]?\d|2[0-3]):([0-5]\d)|24:00)$/;
416
+ if (!timePattern.test(time)) {
417
+ console.error('Invalid time format. Please use "HH:MM" format.');
418
+ return null;
419
+ }
420
+
421
+ // 分离小时和分钟
422
+ var _time$split$map = time.split(':').map(Number),
423
+ _time$split$map2 = _slicedToArray(_time$split$map, 2),
424
+ hour = _time$split$map2[0],
425
+ minute = _time$split$map2[1];
426
+
427
+ // 特殊处理 24:00
428
+ if (hour === 24 && minute === 0) return {
429
+ hour: hour,
430
+ minute: minute,
431
+ dateTime: 2400
432
+ };
433
+
434
+ // 计算转换后的值
435
+ var dateTime = hour * 100 + minute / 60 * 100;
436
+ return {
437
+ hour: hour,
438
+ minute: minute,
439
+ dateTime: dateTime
440
+ };
441
+ }
442
+
443
+ // 清除场景所有对象
444
+ }, {
445
+ key: "clear",
446
+ value: function () {
447
+ var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
448
+ var _this$scene$nodes,
449
+ _this6 = this;
450
+ var result;
451
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
452
+ while (1) switch (_context4.prev = _context4.next) {
453
+ case 0:
454
+ result = (_this$scene$nodes = this.scene.nodes) === null || _this$scene$nodes === void 0 ? void 0 : _this$scene$nodes.map( /*#__PURE__*/function () {
455
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {
456
+ var isDefineType, nodeObject;
457
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
458
+ while (1) switch (_context3.prev = _context3.next) {
459
+ case 0:
460
+ isDefineType = _this6.isEnumValue(EObjectType, node.type);
461
+ nodeObject = isDefineType ? _this6.app[node.type] : _this6.app[EObjectType.entity];
462
+ return _context3.abrupt("return", nodeObject.delete(node));
463
+ case 3:
464
+ case "end":
465
+ return _context3.stop();
466
+ }
467
+ }, _callee3);
468
+ }));
469
+ return function (_x3) {
470
+ return _ref2.apply(this, arguments);
471
+ };
472
+ }());
473
+ this.setEnvironment({
474
+ weather: {
475
+ type: 'Sunny'
476
+ },
477
+ time: {
478
+ value: '12:00'
479
+ }
480
+ });
481
+ this.modelProgress.clear();
482
+ return _context4.abrupt("return", Promise.all(result));
483
+ case 4:
484
+ case "end":
485
+ return _context4.stop();
486
+ }
487
+ }, _callee4, this);
488
+ }));
489
+ function clear() {
490
+ return _clear.apply(this, arguments);
491
+ }
492
+ return clear;
493
+ }()
494
+ }]);
495
+ return FileParse;
496
+ }();
497
+ export default FileParse;
498
+ //# sourceMappingURL=fileParse1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","_","FogExp2","Vector3","use","utils","Geo3D","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","WeatherMode","StaticType","emitter","FileParse","app","modelProgress","Map","parseScene","json","action","off","clear","_ref","_ref$scene","scene","index","scenes","nodes","layers","sceneNode","console","_this$parseNode","parseNode","nodeIndex","modelCount","parsedNodes","Boolean","addListener","addLayers","environment","setEnvironment","addNodes","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee","_this2","_callee$","_context","map","addSingelNode","all","_x","params","_params$mode","mode","dynamic","source","static","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","hdr","color","setMode","exposure","_use$useScene","useScene","renderer","toneMappingExposure","_this$scene","layerIndex","_use$useScene2","orbitControls","sccData","_sccData","panelAttribute","private","position","offsetPosition","_construct","_toConsumableArray","num","isFinite","_Geo3D$CoordUtil$thre","CoordUtil","threeDXYZToLonLat2","lon","center","lat","alt","load","control","water","update","add","_layers$index","density","fog","_addSingelNode","_callee2","_this3","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee2$","_context2","isEnumValue","entity","clone","childIndex","child","asyncTask","_x2","_this4","on","data","progress","has","progressValue","Array","from","reduce","sum","currentProgress","totalProgress","log","size","messageType","Event","messageName","status","Success","global","state","setMaterialParams","_this5","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee4","_this$scene$nodes","_this6","_callee4$","_context4","_ref2","_callee3","_callee3$","_context3","delete","_x3"],"sources":["../../../src/module/scene/fileParse1.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, Vector3, use, utils } from '@anov/3d-core'\nimport * as Geo3D from '@anov/geo-3d'\nimport { Water } from '@anov/3d-ability'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nenum WeatherMode {\n dynamic = 'dynamic',\n static = 'static',\n}\nexport enum StaticType {\n hdr = 'hdr',\n color = 'color',\n none = 'none',\n}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n parseScene(json, action) {\n this.json = json\n this.action = action\n emitter.off('model-loading-progress')\n this.modelProgress.clear()\n const { scene: index = 0, scenes, nodes, layers } = json || {}\n const sceneNode = scenes && scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n try {\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n layers,\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n this.addListener()\n this.addLayers()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model') {\n this.modelProgress.set(node.id, 0)\n result.modelCount++\n }\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { mode = WeatherMode.dynamic, static: source, time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n if (mode === WeatherMode.dynamic) { // 动态天空\n let hour = 12\n const currentTime = time?.value || time?.time\n if (currentTime) {\n environmentManage.setTime({ time: currentTime })\n const timeRange = this.timeToRange2400(currentTime)\n if (timeRange)\n hour = timeRange.hour\n }\n if (weather?.weather)\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n }\n else if (mode === WeatherMode.static && source) { // 静态天空:HDR、颜色\n const { type, hdr, color } = source\n switch (type) {\n case StaticType.hdr:\n environmentManage.setMode({ mode: StaticType.hdr, ...hdr })\n break\n case StaticType.color:\n environmentManage.setMode({ mode: StaticType.color, color: color.value })\n break\n }\n }\n const { exposure } = this.scene // 曝光度\n if (exposure !== undefined) {\n const { renderer } = use.useScene()\n renderer.toneMappingExposure = exposure\n }\n }\n\n addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = use.useScene()\n layerIndex && layerIndex.forEach((index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n let sccData = layers[index]\n const { private: panelAttribute, scene: sceneNode } = sccData\n // 中心点偏移\n if (panelAttribute?.position) {\n const offsetPosition = new Vector3(...panelAttribute.position.map(num => Number.isFinite(num) ? num : 0))\n const { lon, lat, alt } = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, { lon: sceneNode.center[0], lat: sceneNode.center[1], alt: sceneNode.center[2] })\n sccData = { ...sccData, scene: { ...sccData.scene, center: [lon, lat, alt] } }\n }\n Geo3D.Map.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData,\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index])\n water.update()\n scene.add(water)\n break\n }\n case 'fog':{\n const { color, density } = layers[index]\n scene.fog = new FogExp2(color, density)\n break\n }\n }\n })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n if (this.scene.modelCount > 0) {\n emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n if (!this.modelProgress.has(id))\n return\n this.modelProgress.set(id, progress)\n // 更新累积进度\n const progressValue = Array.from(this.modelProgress.values()).reduce((sum, currentProgress) => sum + currentProgress, 0)\n // 计算进度\n const totalProgress = progressValue / this.scene.modelCount\n console.log('progressValue:', progressValue)\n console.log('totalProgress:', totalProgress)\n console.log('this.scene.modelCount:', this.scene.modelCount)\n console.log('modelProgress:', this.modelProgress.size)\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: totalProgress, state: this.action })\n })\n }\n else {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action })\n }\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n // 清除场景所有对象\n async clear() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.313",
3
+ "version": "0.0.315",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -29,8 +29,8 @@
29
29
  "rxjs": "7.8.1",
30
30
  "three-mesh-bvh": "^0.9.0",
31
31
  "uuid": "^9.0.1",
32
- "@anov/3d-core": "^0.0.98",
33
- "@anov/3d-ability": "^0.0.161"
32
+ "@anov/3d-ability": "^0.0.162",
33
+ "@anov/3d-core": "^0.0.99"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/uuid": "^9.0.7",