@shapediver/viewer.data-engine.geometry-engine 2.10.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +18 -14
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +53 -49
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +98 -94
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +2 -2
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +67 -63
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +15 -11
- package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.js +10 -6
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js +5 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.js +19 -15
- package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +55 -51
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +20 -18
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/src/GeometryEngine.ts +29 -29
- package/src/gltfv1/GLTFLoader.ts +31 -31
- package/src/gltfv2/GLTFLoader.ts +66 -66
- package/src/gltfv2/loaders/BufferLoader.ts +10 -10
- package/src/gltfv2/loaders/TextureLoader.ts +24 -25
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,20 +8,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MaterialLoader = void 0;
|
|
13
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
14
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
15
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
16
|
+
const viewer_data_engine_material_engine_1 = require("@shapediver/viewer.data-engine.material-engine");
|
|
17
|
+
const GLTFLoader_1 = require("../GLTFLoader");
|
|
18
|
+
class MaterialLoader {
|
|
16
19
|
// #endregion Properties (4)
|
|
17
20
|
// #region Constructors (1)
|
|
18
21
|
constructor(_content, _textureLoader) {
|
|
19
22
|
this._content = _content;
|
|
20
23
|
this._textureLoader = _textureLoader;
|
|
21
24
|
// #region Properties (4)
|
|
22
|
-
this._converter = Converter.instance;
|
|
23
|
-
this._materialEngine = MaterialEngine.instance;
|
|
25
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
26
|
+
this._materialEngine = viewer_data_engine_material_engine_1.MaterialEngine.instance;
|
|
24
27
|
this._loaded = {};
|
|
25
28
|
}
|
|
26
29
|
// #endregion Constructors (1)
|
|
@@ -47,8 +50,8 @@ export class MaterialLoader {
|
|
|
47
50
|
const materialDataProperties = {};
|
|
48
51
|
if (material.name !== undefined)
|
|
49
52
|
materialDataProperties.name = material.name;
|
|
50
|
-
if (materialExtensions[GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET]) {
|
|
51
|
-
const materialPreset = materialExtensions[GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET];
|
|
53
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET]) {
|
|
54
|
+
const materialPreset = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET];
|
|
52
55
|
promises.push(new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
53
56
|
try {
|
|
54
57
|
const materialData = yield this._materialEngine.loadPresetMaterial(materialPreset.materialpreset);
|
|
@@ -63,8 +66,8 @@ export class MaterialLoader {
|
|
|
63
66
|
})));
|
|
64
67
|
continue;
|
|
65
68
|
}
|
|
66
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
67
|
-
const pbrSpecularGlossiness = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS];
|
|
69
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
70
|
+
const pbrSpecularGlossiness = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS];
|
|
68
71
|
const specularGlossinessMaterialDataProperties = materialDataProperties;
|
|
69
72
|
specularGlossinessMaterialDataProperties.color = '#ffffff';
|
|
70
73
|
specularGlossinessMaterialDataProperties.opacity = 1.0;
|
|
@@ -73,7 +76,7 @@ export class MaterialLoader {
|
|
|
73
76
|
specularGlossinessMaterialDataProperties.opacity = pbrSpecularGlossiness.diffuseFactor[3];
|
|
74
77
|
}
|
|
75
78
|
if (pbrSpecularGlossiness.diffuseTexture !== undefined) {
|
|
76
|
-
const diffuseTextureOptions = pbrSpecularGlossiness.diffuseTexture.extensions && pbrSpecularGlossiness.diffuseTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.diffuseTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
79
|
+
const diffuseTextureOptions = pbrSpecularGlossiness.diffuseTexture.extensions && pbrSpecularGlossiness.diffuseTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.diffuseTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
77
80
|
if (pbrSpecularGlossiness.diffuseTexture.texCoord !== undefined)
|
|
78
81
|
diffuseTextureOptions.texCoord = pbrSpecularGlossiness.diffuseTexture.texCoord;
|
|
79
82
|
specularGlossinessMaterialDataProperties.map = this.loadMap(pbrSpecularGlossiness.diffuseTexture.index, diffuseTextureOptions);
|
|
@@ -85,13 +88,13 @@ export class MaterialLoader {
|
|
|
85
88
|
specularGlossinessMaterialDataProperties.specular = [pbrSpecularGlossiness.specularFactor[0] * 255, pbrSpecularGlossiness.specularFactor[1] * 255, pbrSpecularGlossiness.specularFactor[2] * 255];
|
|
86
89
|
}
|
|
87
90
|
if (pbrSpecularGlossiness.specularGlossinessTexture !== undefined) {
|
|
88
|
-
const specularGlossinessTextureOptions = pbrSpecularGlossiness.specularGlossinessTexture.extensions && pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
91
|
+
const specularGlossinessTextureOptions = pbrSpecularGlossiness.specularGlossinessTexture.extensions && pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
89
92
|
if (pbrSpecularGlossiness.specularGlossinessTexture.texCoord !== undefined)
|
|
90
93
|
specularGlossinessTextureOptions.texCoord = pbrSpecularGlossiness.specularGlossinessTexture.texCoord;
|
|
91
94
|
specularGlossinessMaterialDataProperties.specularGlossinessMap = this.loadMap(pbrSpecularGlossiness.specularGlossinessTexture.index, specularGlossinessTextureOptions);
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
|
-
else if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
97
|
+
else if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
95
98
|
const unlitMaterialDataProperties = materialDataProperties;
|
|
96
99
|
unlitMaterialDataProperties.color = '#ffffff';
|
|
97
100
|
unlitMaterialDataProperties.opacity = 1.0;
|
|
@@ -101,7 +104,7 @@ export class MaterialLoader {
|
|
|
101
104
|
unlitMaterialDataProperties.opacity = material.pbrMetallicRoughness.baseColorFactor[3];
|
|
102
105
|
}
|
|
103
106
|
if (material.pbrMetallicRoughness.baseColorTexture !== undefined) {
|
|
104
|
-
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
107
|
+
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
105
108
|
if (material.pbrMetallicRoughness.baseColorTexture.texCoord !== undefined)
|
|
106
109
|
baseColorTextureOptions.texCoord = material.pbrMetallicRoughness.baseColorTexture.texCoord;
|
|
107
110
|
unlitMaterialDataProperties.map = this.loadMap(material.pbrMetallicRoughness.baseColorTexture.index, baseColorTextureOptions);
|
|
@@ -117,7 +120,7 @@ export class MaterialLoader {
|
|
|
117
120
|
standardMaterialDataProperties.opacity = material.pbrMetallicRoughness.baseColorFactor[3];
|
|
118
121
|
}
|
|
119
122
|
if (material.pbrMetallicRoughness.baseColorTexture !== undefined) {
|
|
120
|
-
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
123
|
+
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
121
124
|
if (material.pbrMetallicRoughness.baseColorTexture.texCoord !== undefined)
|
|
122
125
|
baseColorTextureOptions.texCoord = material.pbrMetallicRoughness.baseColorTexture.texCoord;
|
|
123
126
|
standardMaterialDataProperties.map = this.loadMap(material.pbrMetallicRoughness.baseColorTexture.index, baseColorTextureOptions);
|
|
@@ -129,7 +132,7 @@ export class MaterialLoader {
|
|
|
129
132
|
standardMaterialDataProperties.roughness = material.pbrMetallicRoughness.roughnessFactor;
|
|
130
133
|
}
|
|
131
134
|
if (material.pbrMetallicRoughness.metallicRoughnessTexture !== undefined) {
|
|
132
|
-
const metallicRoughnessTextureOptions = material.pbrMetallicRoughness.metallicRoughnessTexture.extensions && material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
135
|
+
const metallicRoughnessTextureOptions = material.pbrMetallicRoughness.metallicRoughnessTexture.extensions && material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
133
136
|
if (material.pbrMetallicRoughness.metallicRoughnessTexture.texCoord !== undefined)
|
|
134
137
|
metallicRoughnessTextureOptions.texCoord = material.pbrMetallicRoughness.metallicRoughnessTexture.texCoord;
|
|
135
138
|
standardMaterialDataProperties.metalnessRoughnessMap = this.loadMap(material.pbrMetallicRoughness.metallicRoughnessTexture.index, metallicRoughnessTextureOptions);
|
|
@@ -140,7 +143,7 @@ export class MaterialLoader {
|
|
|
140
143
|
* Loading of the general properties
|
|
141
144
|
*/
|
|
142
145
|
if (material.normalTexture !== undefined) {
|
|
143
|
-
const normalTextureOptions = material.normalTexture.extensions && material.normalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.normalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
146
|
+
const normalTextureOptions = material.normalTexture.extensions && material.normalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.normalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
144
147
|
if (material.normalTexture.texCoord !== undefined)
|
|
145
148
|
normalTextureOptions.texCoord = material.normalTexture.texCoord;
|
|
146
149
|
materialDataProperties.normalMap = this.loadMap(material.normalTexture.index, normalTextureOptions);
|
|
@@ -150,7 +153,7 @@ export class MaterialLoader {
|
|
|
150
153
|
}
|
|
151
154
|
}
|
|
152
155
|
if (material.occlusionTexture !== undefined) {
|
|
153
|
-
const occlusionTextureOptions = material.occlusionTexture.extensions && material.occlusionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.occlusionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
156
|
+
const occlusionTextureOptions = material.occlusionTexture.extensions && material.occlusionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.occlusionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
154
157
|
if (material.occlusionTexture.texCoord !== undefined)
|
|
155
158
|
occlusionTextureOptions.texCoord = material.occlusionTexture.texCoord;
|
|
156
159
|
materialDataProperties.aoMap = this.loadMap(material.occlusionTexture.index, occlusionTextureOptions);
|
|
@@ -159,7 +162,7 @@ export class MaterialLoader {
|
|
|
159
162
|
}
|
|
160
163
|
}
|
|
161
164
|
if (material.emissiveTexture !== undefined) {
|
|
162
|
-
const emissiveTextureOptions = material.emissiveTexture.extensions && material.emissiveTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.emissiveTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
165
|
+
const emissiveTextureOptions = material.emissiveTexture.extensions && material.emissiveTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.emissiveTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
163
166
|
if (material.emissiveTexture.texCoord !== undefined)
|
|
164
167
|
emissiveTextureOptions.texCoord = material.emissiveTexture.texCoord;
|
|
165
168
|
materialDataProperties.emissiveMap = this.loadMap(material.emissiveTexture.index, emissiveTextureOptions);
|
|
@@ -168,8 +171,8 @@ export class MaterialLoader {
|
|
|
168
171
|
materialDataProperties.emissiveness = [material.emissiveFactor[0] * 255, material.emissiveFactor[1] * 255, material.emissiveFactor[2] * 255];
|
|
169
172
|
}
|
|
170
173
|
if (material.alphaMode !== undefined) {
|
|
171
|
-
materialDataProperties.alphaMode = material.alphaMode.toLowerCase() === MATERIAL_ALPHA.MASK ? MATERIAL_ALPHA.MASK : material.alphaMode.toLowerCase() === MATERIAL_ALPHA.BLEND ? MATERIAL_ALPHA.BLEND : MATERIAL_ALPHA.OPAQUE;
|
|
172
|
-
if (materialDataProperties.alphaMode === MATERIAL_ALPHA.MASK) {
|
|
174
|
+
materialDataProperties.alphaMode = material.alphaMode.toLowerCase() === viewer_shared_types_1.MATERIAL_ALPHA.MASK ? viewer_shared_types_1.MATERIAL_ALPHA.MASK : material.alphaMode.toLowerCase() === viewer_shared_types_1.MATERIAL_ALPHA.BLEND ? viewer_shared_types_1.MATERIAL_ALPHA.BLEND : viewer_shared_types_1.MATERIAL_ALPHA.OPAQUE;
|
|
175
|
+
if (materialDataProperties.alphaMode === viewer_shared_types_1.MATERIAL_ALPHA.MASK) {
|
|
173
176
|
materialDataProperties.alphaCutoff = material.alphaCutoff !== undefined ? material.alphaCutoff : 0.5;
|
|
174
177
|
}
|
|
175
178
|
}
|
|
@@ -177,31 +180,31 @@ export class MaterialLoader {
|
|
|
177
180
|
materialDataProperties.alphaCutoff = material.alphaCutoff;
|
|
178
181
|
}
|
|
179
182
|
if (material.doubleSided !== undefined) {
|
|
180
|
-
materialDataProperties.side = material.doubleSided ? MATERIAL_SIDE.DOUBLE : MATERIAL_SIDE.FRONT;
|
|
183
|
+
materialDataProperties.side = material.doubleSided ? viewer_shared_types_1.MATERIAL_SIDE.DOUBLE : viewer_shared_types_1.MATERIAL_SIDE.FRONT;
|
|
181
184
|
}
|
|
182
185
|
/**
|
|
183
186
|
* Early exit for specular glossiness and unlit materials
|
|
184
187
|
*/
|
|
185
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
188
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
186
189
|
const specularGlossinessMaterialDataProperties = materialDataProperties;
|
|
187
|
-
const materialData = new MaterialSpecularGlossinessData(specularGlossinessMaterialDataProperties);
|
|
190
|
+
const materialData = new viewer_shared_types_1.MaterialSpecularGlossinessData(specularGlossinessMaterialDataProperties);
|
|
188
191
|
this._loaded[materialId] = materialData;
|
|
189
192
|
continue;
|
|
190
193
|
}
|
|
191
|
-
else if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
194
|
+
else if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
192
195
|
const unlitMaterialDataProperties = materialDataProperties;
|
|
193
|
-
const materialData = new MaterialUnlitData(unlitMaterialDataProperties);
|
|
196
|
+
const materialData = new viewer_shared_types_1.MaterialUnlitData(unlitMaterialDataProperties);
|
|
194
197
|
this._loaded[materialId] = materialData;
|
|
195
198
|
continue;
|
|
196
199
|
}
|
|
197
200
|
const standardMaterialDataProperties = materialDataProperties;
|
|
198
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT]) {
|
|
199
|
-
const clearcoatExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT];
|
|
201
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT]) {
|
|
202
|
+
const clearcoatExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT];
|
|
200
203
|
if (clearcoatExtension.clearcoatFactor !== undefined) {
|
|
201
204
|
standardMaterialDataProperties.clearcoat = clearcoatExtension.clearcoatFactor;
|
|
202
205
|
}
|
|
203
206
|
if (clearcoatExtension.clearcoatTexture !== undefined) {
|
|
204
|
-
const clearcoatTextureOptions = clearcoatExtension.clearcoatTexture.extensions && clearcoatExtension.clearcoatTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
207
|
+
const clearcoatTextureOptions = clearcoatExtension.clearcoatTexture.extensions && clearcoatExtension.clearcoatTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
205
208
|
if (clearcoatExtension.clearcoatTexture.texCoord !== undefined)
|
|
206
209
|
clearcoatTextureOptions.texCoord = clearcoatExtension.clearcoatTexture.texCoord;
|
|
207
210
|
standardMaterialDataProperties.clearcoatMap = this.loadMap(clearcoatExtension.clearcoatTexture.index, clearcoatTextureOptions);
|
|
@@ -210,43 +213,43 @@ export class MaterialLoader {
|
|
|
210
213
|
standardMaterialDataProperties.clearcoatRoughness = clearcoatExtension.clearcoatRoughnessFactor;
|
|
211
214
|
}
|
|
212
215
|
if (clearcoatExtension.clearcoatRoughnessTexture !== undefined) {
|
|
213
|
-
const clearcoatRoughnessTextureOptions = clearcoatExtension.clearcoatRoughnessTexture.extensions && clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
216
|
+
const clearcoatRoughnessTextureOptions = clearcoatExtension.clearcoatRoughnessTexture.extensions && clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
214
217
|
if (clearcoatExtension.clearcoatRoughnessTexture.texCoord !== undefined)
|
|
215
218
|
clearcoatRoughnessTextureOptions.texCoord = clearcoatExtension.clearcoatRoughnessTexture.texCoord;
|
|
216
219
|
standardMaterialDataProperties.clearcoatRoughnessMap = this.loadMap(clearcoatExtension.clearcoatRoughnessTexture.index, clearcoatRoughnessTextureOptions);
|
|
217
220
|
}
|
|
218
221
|
if (clearcoatExtension.clearcoatNormalTexture !== undefined) {
|
|
219
|
-
const clearcoatNormalTextureOptions = clearcoatExtension.clearcoatNormalTexture.extensions && clearcoatExtension.clearcoatNormalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatNormalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
222
|
+
const clearcoatNormalTextureOptions = clearcoatExtension.clearcoatNormalTexture.extensions && clearcoatExtension.clearcoatNormalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatNormalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
220
223
|
if (clearcoatExtension.clearcoatNormalTexture.texCoord !== undefined)
|
|
221
224
|
clearcoatNormalTextureOptions.texCoord = clearcoatExtension.clearcoatNormalTexture.texCoord;
|
|
222
225
|
standardMaterialDataProperties.clearcoatNormalMap = this.loadMap(clearcoatExtension.clearcoatNormalTexture.index, clearcoatNormalTextureOptions);
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_IOR]) {
|
|
226
|
-
const iorExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_IOR];
|
|
228
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_IOR]) {
|
|
229
|
+
const iorExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_IOR];
|
|
227
230
|
if (iorExtension.ior !== undefined) {
|
|
228
231
|
standardMaterialDataProperties.ior = iorExtension.ior;
|
|
229
232
|
}
|
|
230
233
|
}
|
|
231
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION]) {
|
|
232
|
-
const transmissionExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION];
|
|
234
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION]) {
|
|
235
|
+
const transmissionExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION];
|
|
233
236
|
if (transmissionExtension.transmissionFactor !== undefined) {
|
|
234
237
|
standardMaterialDataProperties.transmission = transmissionExtension.transmissionFactor;
|
|
235
238
|
}
|
|
236
239
|
if (transmissionExtension.transmissionTexture !== undefined) {
|
|
237
|
-
const transmissionTextureOptions = transmissionExtension.transmissionTexture.extensions && transmissionExtension.transmissionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? transmissionExtension.transmissionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
240
|
+
const transmissionTextureOptions = transmissionExtension.transmissionTexture.extensions && transmissionExtension.transmissionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? transmissionExtension.transmissionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
238
241
|
if (transmissionExtension.transmissionTexture.texCoord !== undefined)
|
|
239
242
|
transmissionTextureOptions.texCoord = transmissionExtension.transmissionTexture.texCoord;
|
|
240
243
|
standardMaterialDataProperties.transmissionMap = this.loadMap(transmissionExtension.transmissionTexture.index, transmissionTextureOptions);
|
|
241
244
|
}
|
|
242
245
|
}
|
|
243
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME]) {
|
|
244
|
-
const volumeExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME];
|
|
246
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME]) {
|
|
247
|
+
const volumeExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME];
|
|
245
248
|
if (volumeExtension.thicknessFactor !== undefined) {
|
|
246
249
|
standardMaterialDataProperties.thickness = volumeExtension.thicknessFactor;
|
|
247
250
|
}
|
|
248
251
|
if (volumeExtension.thicknessTexture !== undefined) {
|
|
249
|
-
const thicknessTextureOptions = volumeExtension.thicknessTexture.extensions && volumeExtension.thicknessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? volumeExtension.thicknessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
252
|
+
const thicknessTextureOptions = volumeExtension.thicknessTexture.extensions && volumeExtension.thicknessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? volumeExtension.thicknessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
250
253
|
if (volumeExtension.thicknessTexture.texCoord !== undefined)
|
|
251
254
|
thicknessTextureOptions.texCoord = volumeExtension.thicknessTexture.texCoord;
|
|
252
255
|
standardMaterialDataProperties.thicknessMap = this.loadMap(volumeExtension.thicknessTexture.index, thicknessTextureOptions);
|
|
@@ -258,8 +261,8 @@ export class MaterialLoader {
|
|
|
258
261
|
standardMaterialDataProperties.attenuationColor = [volumeExtension.attenuationColor[0] * 255, volumeExtension.attenuationColor[1] * 255, volumeExtension.attenuationColor[2] * 255];
|
|
259
262
|
}
|
|
260
263
|
}
|
|
261
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN]) {
|
|
262
|
-
const sheenExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN];
|
|
264
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN]) {
|
|
265
|
+
const sheenExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN];
|
|
263
266
|
standardMaterialDataProperties.sheen = 1.0;
|
|
264
267
|
if (sheenExtension.sheenColorFactor !== undefined) {
|
|
265
268
|
standardMaterialDataProperties.sheenColor = [sheenExtension.sheenColorFactor[0] * 255, sheenExtension.sheenColorFactor[1] * 255, sheenExtension.sheenColorFactor[2] * 255];
|
|
@@ -268,20 +271,20 @@ export class MaterialLoader {
|
|
|
268
271
|
standardMaterialDataProperties.sheenRoughness = sheenExtension.sheenRoughnessFactor;
|
|
269
272
|
}
|
|
270
273
|
if (sheenExtension.sheenColorTexture !== undefined) {
|
|
271
|
-
const sheenColorTextureOptions = sheenExtension.sheenColorTexture.extensions && sheenExtension.sheenColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
274
|
+
const sheenColorTextureOptions = sheenExtension.sheenColorTexture.extensions && sheenExtension.sheenColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
272
275
|
if (sheenExtension.sheenColorTexture.texCoord !== undefined)
|
|
273
276
|
sheenColorTextureOptions.texCoord = sheenExtension.sheenColorTexture.texCoord;
|
|
274
277
|
standardMaterialDataProperties.sheenColorMap = this.loadMap(sheenExtension.sheenColorTexture.index, sheenColorTextureOptions);
|
|
275
278
|
}
|
|
276
279
|
if (sheenExtension.sheenRoughnessTexture !== undefined) {
|
|
277
|
-
const sheenRoughnessTextureOptions = sheenExtension.sheenRoughnessTexture.extensions && sheenExtension.sheenRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
280
|
+
const sheenRoughnessTextureOptions = sheenExtension.sheenRoughnessTexture.extensions && sheenExtension.sheenRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
278
281
|
if (sheenExtension.sheenRoughnessTexture.texCoord !== undefined)
|
|
279
282
|
sheenRoughnessTextureOptions.texCoord = sheenExtension.sheenRoughnessTexture.texCoord;
|
|
280
283
|
standardMaterialDataProperties.sheenRoughnessMap = this.loadMap(sheenExtension.sheenRoughnessTexture.index, sheenRoughnessTextureOptions);
|
|
281
284
|
}
|
|
282
285
|
}
|
|
283
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR]) {
|
|
284
|
-
const specularExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR];
|
|
286
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR]) {
|
|
287
|
+
const specularExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR];
|
|
285
288
|
if (specularExtension.specularFactor !== undefined) {
|
|
286
289
|
standardMaterialDataProperties.specularIntensity = specularExtension.specularFactor;
|
|
287
290
|
}
|
|
@@ -289,19 +292,19 @@ export class MaterialLoader {
|
|
|
289
292
|
standardMaterialDataProperties.specularColor = [specularExtension.specularColorFactor[0] * 255, specularExtension.specularColorFactor[1] * 255, specularExtension.specularColorFactor[2] * 255];
|
|
290
293
|
}
|
|
291
294
|
if (specularExtension.specularColorTexture !== undefined) {
|
|
292
|
-
const specularColorTextureOptions = specularExtension.specularColorTexture.extensions && specularExtension.specularColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
295
|
+
const specularColorTextureOptions = specularExtension.specularColorTexture.extensions && specularExtension.specularColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
293
296
|
if (specularExtension.specularColorTexture.texCoord !== undefined)
|
|
294
297
|
specularColorTextureOptions.texCoord = specularExtension.specularColorTexture.texCoord;
|
|
295
298
|
standardMaterialDataProperties.specularColorMap = this.loadMap(specularExtension.specularColorTexture.index, specularColorTextureOptions);
|
|
296
299
|
}
|
|
297
300
|
if (specularExtension.specularTexture !== undefined) {
|
|
298
|
-
const specularTextureOptions = specularExtension.specularTexture.extensions && specularExtension.specularTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
301
|
+
const specularTextureOptions = specularExtension.specularTexture.extensions && specularExtension.specularTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
299
302
|
if (specularExtension.specularTexture.texCoord !== undefined)
|
|
300
303
|
specularTextureOptions.texCoord = specularExtension.specularTexture.texCoord;
|
|
301
304
|
standardMaterialDataProperties.specularIntensityMap = this.loadMap(specularExtension.specularTexture.index, specularTextureOptions);
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
|
-
const materialData = new MaterialStandardData(standardMaterialDataProperties);
|
|
307
|
+
const materialData = new viewer_shared_types_1.MaterialStandardData(standardMaterialDataProperties);
|
|
305
308
|
this._loaded[materialId] = materialData;
|
|
306
309
|
}
|
|
307
310
|
yield Promise.all(promises);
|
|
@@ -317,7 +320,8 @@ export class MaterialLoader {
|
|
|
317
320
|
throw new Error('Images not available.');
|
|
318
321
|
const sampler = this._content.samplers && texture.sampler && this._content.samplers[texture.sampler] ? this._content.samplers[texture.sampler] : {};
|
|
319
322
|
const htmlImage = this._textureLoader.getTexture(textureId);
|
|
320
|
-
return new MapData(htmlImage, sampler.wrapS, sampler.wrapT, sampler.minFilter, sampler.magFilter, undefined, undefined, properties && properties.offset ? vec2.fromValues(properties.offset[0], properties.offset[1]) : undefined, properties && properties.scale ? vec2.fromValues(properties.scale[0], properties.scale[1]) : undefined, properties && properties.rotation !== undefined ? properties.rotation : 0, properties === null || properties === void 0 ? void 0 : properties.texCoord, false);
|
|
323
|
+
return new viewer_shared_types_1.MapData(htmlImage, sampler.wrapS, sampler.wrapT, sampler.minFilter, sampler.magFilter, undefined, undefined, properties && properties.offset ? gl_matrix_1.vec2.fromValues(properties.offset[0], properties.offset[1]) : undefined, properties && properties.scale ? gl_matrix_1.vec2.fromValues(properties.scale[0], properties.scale[1]) : undefined, properties && properties.rotation !== undefined ? properties.rotation : 0, properties === null || properties === void 0 ? void 0 : properties.texCoord, false);
|
|
321
324
|
}
|
|
322
325
|
}
|
|
326
|
+
exports.MaterialLoader = MaterialLoader;
|
|
323
327
|
//# sourceMappingURL=MaterialLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,oCAAoC,CAAA;AAO1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,cAAc,EACd,aAAa,EACb,8BAA8B,EAC9B,oBAAoB,EACpB,iBAAiB,EAMjB,OAAO,GAER,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG/C,MAAM,OAAO,cAAc;IAQvB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,QAAkB,EAAmB,cAA6B;QAAlE,aAAQ,GAAR,QAAQ,CAAU;QAAmB,mBAAc,GAAd,cAAc,CAAe;QAX/F,yBAAyB;QAER,eAAU,GAAc,SAAS,CAAC,QAAQ,CAAC;QAC3C,oBAAe,GAAmB,cAAc,CAAC,QAAQ,CAAC;QAEnE,YAAO,GAA6C,EAAE,CAAC;IAMoC,CAAC;IAEpG,8BAA8B;IAE9B,6BAA6B;IAEtB,WAAW,CAAC,UAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACrG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAChH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEY,IAAI;;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO;YAErC,IAAI,QAAQ,GAAoB,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAG,CAAC,CAAC;gBACrB,MAAM,QAAQ,GAAsB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;gBAErD,MAAM,sBAAsB,GAAoC,EAAE,CAAC;gBACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAAE,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE7E,IAAI,kBAAkB,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE;oBACjE,MAAM,cAAc,GAAiC,kBAAkB,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;oBACrH,QAAQ,CAAC,IAAI,CACT,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,IAAI;4BACA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BAClG,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;4BAClC,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;4BAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;4BACxC,OAAO,EAAE,CAAC;yBACb;wBAAC,OAAO,CAAC,EAAE;4BACR,MAAM,CAAC,CAAC,CAAC,CAAC;yBACb;oBACL,CAAC,CAAA,CAAC,CACL,CAAA;oBACD,SAAS;iBACZ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,qBAAqB,GAA0D,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;oBAC7J,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBAEnH,wCAAwC,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC3D,wCAAwC,CAAC,OAAO,GAAG,GAAG,CAAC;oBAEvD,IAAI,qBAAqB,CAAC,aAAa,KAAK,SAAS,EAAE;wBACnD,wCAAwC,CAAC,KAAK,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;wBAC5L,wCAAwC,CAAC,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC7F;oBAED,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,cAAc,CAAC,UAAU,IAAI,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtQ,IAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,KAAK,SAAS;4BAAE,qBAAqB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC;wBAC/I,wCAAwC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;qBAClI;oBACD,wCAAwC,CAAC,YAAY,GAAG,SAAS,CAAC;oBAClE,wCAAwC,CAAC,UAAU,GAAG,qBAAqB,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1J,wCAAwC,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAE9D,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,wCAAwC,CAAC,QAAQ,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACrM;oBAED,IAAI,qBAAqB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC/D,MAAM,gCAAgC,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,IAAI,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClT,IAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAChL,wCAAwC,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC1K;iBACJ;qBAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,2BAA2B,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC9C,2BAA2B,CAAC,OAAO,GAAG,GAAG,CAAC;oBAE1C,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,2BAA2B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC7M,2BAA2B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC1F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,2BAA2B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACjI;qBACJ;iBACJ;qBAAM;oBACH,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;oBAC/F,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,8BAA8B,CAAC,KAAK,GAAG,SAAS,CAAC;wBACjD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAChN,8BAA8B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC7F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,8BAA8B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACpI;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,cAAc,KAAK,SAAS,EAAE;4BAC5D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC;yBAC3F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC;yBAC5F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,KAAK,SAAS,EAAE;4BACtE,MAAM,+BAA+B,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtU,IAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,KAAK,SAAS;gCAAE,+BAA+B,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,CAAC;4BAC7L,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;yBACtK;qBACJ;iBACJ;gBAED;;mBAEG;gBAEH,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE;oBACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3N,IAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,SAAS;wBAAE,oBAAoB,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAElH,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACpG,sBAAsB,CAAC,WAAW,GAAG,CAAC,CAAC;oBACvC,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC5C,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;qBACrE;iBACJ;gBACD,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE;oBACzC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvO,IAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;wBAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBAE3H,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;oBACtG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE;wBAClD,sBAAsB,CAAC,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;qBAC9E;iBACJ;gBACD,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;oBACxC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnO,IAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;wBAAE,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;oBACxH,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;iBAC7G;gBAED,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE;oBACvC,sBAAsB,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;iBAChJ;gBACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE;oBAClC,sBAAsB,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;oBAC7N,IAAI,sBAAsB,CAAC,SAAS,KAAK,cAAc,CAAC,IAAI,EAAE;wBAC1D,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;qBACxG;iBACJ;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;iBAC7D;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;iBACnG;gBAED;;mBAEG;gBACH,IAAI,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBACnH,MAAM,YAAY,GAAG,IAAI,8BAA8B,CAAC,wCAAwC,CAAC,CAAC;oBAClG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;qBAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;gBAED,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;gBAE/F,IAAI,kBAAkB,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;oBACvF,IAAI,kBAAkB,CAAC,eAAe,KAAK,SAAS,EAAE;wBAClD,8BAA8B,CAAC,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC;qBACjF;oBAED,IAAI,kBAAkB,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBACnD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrQ,IAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBAC/I,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAClI;oBAED,IAAI,kBAAkB,CAAC,wBAAwB,KAAK,SAAS,EAAE;wBAC3D,8BAA8B,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC;qBACnG;oBAED,IAAI,kBAAkB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC5D,MAAM,gCAAgC,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzS,IAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAC1K,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC7J;oBAED,IAAI,kBAAkB,CAAC,sBAAsB,KAAK,SAAS,EAAE;wBACzD,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7R,IAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,KAAK,SAAS;4BAAE,6BAA6B,CAAC,QAAQ,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,CAAC;wBACjK,8BAA8B,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;qBACpJ;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;oBACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;oBAC3E,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE;wBAChC,8BAA8B,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;qBACzD;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,0BAA0B,CAAC,EAAE;oBAChE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;oBAC7F,IAAI,qBAAqB,CAAC,kBAAkB,KAAK,SAAS,EAAE;wBACxD,8BAA8B,CAAC,YAAY,GAAG,qBAAqB,CAAC,kBAAkB,CAAC;qBAC1F;oBAED,IAAI,qBAAqB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACzD,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1R,IAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,KAAK,SAAS;4BAAE,0BAA0B,CAAC,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,CAAC;wBAC9J,8BAA8B,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;qBAC9I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE;oBAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACjF,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,SAAS,GAAG,eAAe,CAAC,eAAe,CAAC;qBAC9E;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,MAAM,uBAAuB,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,IAAI,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5P,IAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBACzI,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAC/H;oBAED,IAAI,eAAe,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,CAAC;qBAC5F;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,gBAAgB,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACvL;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;oBAC/E,8BAA8B,CAAC,KAAK,GAAG,GAAG,CAAC;oBAC3C,IAAI,cAAc,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC9K;oBAED,IAAI,cAAc,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC;qBACvF;oBAED,IAAI,cAAc,CAAC,iBAAiB,KAAK,SAAS,EAAE;wBAChD,MAAM,wBAAwB,GAAG,cAAc,CAAC,iBAAiB,CAAC,UAAU,IAAI,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7P,IAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,KAAK,SAAS;4BAAE,wBAAwB,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;qBACjI;oBAED,IAAI,cAAc,CAAC,qBAAqB,KAAK,SAAS,EAAE;wBACpD,MAAM,4BAA4B,GAAG,cAAc,CAAC,qBAAqB,CAAC,UAAU,IAAI,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7Q,IAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,KAAK,SAAS;4BAAE,4BAA4B,CAAC,QAAQ,GAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC;wBACtJ,8BAA8B,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;qBAC7I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE;oBAC5D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;oBAErF,IAAI,iBAAiB,CAAC,cAAc,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,cAAc,CAAC;qBACvF;oBAED,IAAI,iBAAiB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACrD,8BAA8B,CAAC,aAAa,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACnM;oBAED,IAAI,iBAAiB,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACtD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClR,IAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS;4BAAE,2BAA2B,CAAC,QAAQ,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,CAAC;wBACzJ,8BAA8B,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;qBAC7I;oBAED,IAAI,iBAAiB,CAAC,eAAe,KAAK,SAAS,EAAE;wBACjD,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,eAAe,CAAC,UAAU,IAAI,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9P,IAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;4BAAE,sBAAsB,CAAC,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;qBACvI;iBACJ;gBAED,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;aAC3C;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,OAAO,CAAC,SAAiB,EAAE,UAA0F;QACzH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpJ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE5D,OAAO,IAAI,OAAO,CACd,SAAS,EACT,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,SAAS,EACT,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACzG,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACtG,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EACpB,KAAK,CACR,CAAC;IACN,CAAC;CAGJ"}
|
|
1
|
+
{"version":3,"file":"MaterialLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA0E;AAO1E,yCAAgC;AAChC,yEAawC;AACxC,uGAA+E;AAE/E,8CAA+C;AAG/C,MAAa,cAAc;IAQvB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,QAAkB,EAAmB,cAA6B;QAAlE,aAAQ,GAAR,QAAQ,CAAU;QAAmB,mBAAc,GAAd,cAAc,CAAe;QAX/F,yBAAyB;QAER,eAAU,GAAc,kCAAS,CAAC,QAAQ,CAAC;QAC3C,oBAAe,GAAmB,mDAAc,CAAC,QAAQ,CAAC;QAEnE,YAAO,GAA6C,EAAE,CAAC;IAMoC,CAAC;IAEpG,8BAA8B;IAE9B,6BAA6B;IAEtB,WAAW,CAAC,UAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACrG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAChH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEY,IAAI;;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO;YAErC,IAAI,QAAQ,GAAoB,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAG,CAAC,CAAC;gBACrB,MAAM,QAAQ,GAAsB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;gBAErD,MAAM,sBAAsB,GAAoC,EAAE,CAAC;gBACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAAE,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE7E,IAAI,kBAAkB,CAAC,4BAAe,CAAC,2BAA2B,CAAC,EAAE;oBACjE,MAAM,cAAc,GAAiC,kBAAkB,CAAC,4BAAe,CAAC,2BAA2B,CAAC,CAAC;oBACrH,QAAQ,CAAC,IAAI,CACT,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,IAAI;4BACA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BAClG,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;4BAClC,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;4BAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;4BACxC,OAAO,EAAE,CAAC;yBACb;wBAAC,OAAO,CAAC,EAAE;4BACR,MAAM,CAAC,CAAC,CAAC,CAAC;yBACb;oBACL,CAAC,CAAA,CAAC,CACL,CAAA;oBACD,SAAS;iBACZ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,qBAAqB,GAA0D,kBAAkB,CAAC,4BAAe,CAAC,mCAAmC,CAAC,CAAC;oBAC7J,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBAEnH,wCAAwC,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC3D,wCAAwC,CAAC,OAAO,GAAG,GAAG,CAAC;oBAEvD,IAAI,qBAAqB,CAAC,aAAa,KAAK,SAAS,EAAE;wBACnD,wCAAwC,CAAC,KAAK,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;wBAC5L,wCAAwC,CAAC,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC7F;oBAED,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,cAAc,CAAC,UAAU,IAAI,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtQ,IAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,KAAK,SAAS;4BAAE,qBAAqB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC;wBAC/I,wCAAwC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;qBAClI;oBACD,wCAAwC,CAAC,YAAY,GAAG,SAAS,CAAC;oBAClE,wCAAwC,CAAC,UAAU,GAAG,qBAAqB,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1J,wCAAwC,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAE9D,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,wCAAwC,CAAC,QAAQ,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACrM;oBAED,IAAI,qBAAqB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC/D,MAAM,gCAAgC,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,IAAI,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClT,IAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAChL,wCAAwC,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC1K;iBACJ;qBAAM,IAAI,kBAAkB,CAAC,4BAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,2BAA2B,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC9C,2BAA2B,CAAC,OAAO,GAAG,GAAG,CAAC;oBAE1C,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,2BAA2B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC7M,2BAA2B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC1F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,2BAA2B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACjI;qBACJ;iBACJ;qBAAM;oBACH,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;oBAC/F,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,8BAA8B,CAAC,KAAK,GAAG,SAAS,CAAC;wBACjD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAChN,8BAA8B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC7F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,8BAA8B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACpI;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,cAAc,KAAK,SAAS,EAAE;4BAC5D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC;yBAC3F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC;yBAC5F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,KAAK,SAAS,EAAE;4BACtE,MAAM,+BAA+B,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtU,IAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,KAAK,SAAS;gCAAE,+BAA+B,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,CAAC;4BAC7L,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;yBACtK;qBACJ;iBACJ;gBAED;;mBAEG;gBAEH,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE;oBACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3N,IAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,SAAS;wBAAE,oBAAoB,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAElH,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACpG,sBAAsB,CAAC,WAAW,GAAG,CAAC,CAAC;oBACvC,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC5C,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;qBACrE;iBACJ;gBACD,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE;oBACzC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvO,IAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;wBAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBAE3H,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;oBACtG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE;wBAClD,sBAAsB,CAAC,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;qBAC9E;iBACJ;gBACD,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;oBACxC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnO,IAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;wBAAE,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;oBACxH,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;iBAC7G;gBAED,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE;oBACvC,sBAAsB,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;iBAChJ;gBACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE;oBAClC,sBAAsB,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,oCAAc,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,oCAAc,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAc,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAc,CAAC,MAAM,CAAC;oBAC7N,IAAI,sBAAsB,CAAC,SAAS,KAAK,oCAAc,CAAC,IAAI,EAAE;wBAC1D,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;qBACxG;iBACJ;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;iBAC7D;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAa,CAAC,MAAM,CAAC,CAAC,CAAC,mCAAa,CAAC,KAAK,CAAC;iBACnG;gBAED;;mBAEG;gBACH,IAAI,kBAAkB,CAAC,4BAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBACnH,MAAM,YAAY,GAAG,IAAI,oDAA8B,CAAC,wCAAwC,CAAC,CAAC;oBAClG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;qBAAM,IAAI,kBAAkB,CAAC,4BAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,MAAM,YAAY,GAAG,IAAI,uCAAiB,CAAC,2BAA2B,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;gBAED,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;gBAE/F,IAAI,kBAAkB,CAAC,4BAAe,CAAC,uBAAuB,CAAC,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,4BAAe,CAAC,uBAAuB,CAAC,CAAC;oBACvF,IAAI,kBAAkB,CAAC,eAAe,KAAK,SAAS,EAAE;wBAClD,8BAA8B,CAAC,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC;qBACjF;oBAED,IAAI,kBAAkB,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBACnD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrQ,IAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBAC/I,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAClI;oBAED,IAAI,kBAAkB,CAAC,wBAAwB,KAAK,SAAS,EAAE;wBAC3D,8BAA8B,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC;qBACnG;oBAED,IAAI,kBAAkB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC5D,MAAM,gCAAgC,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzS,IAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAC1K,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC7J;oBAED,IAAI,kBAAkB,CAAC,sBAAsB,KAAK,SAAS,EAAE;wBACzD,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7R,IAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,KAAK,SAAS;4BAAE,6BAA6B,CAAC,QAAQ,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,CAAC;wBACjK,8BAA8B,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;qBACpJ;iBACJ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,iBAAiB,CAAC,EAAE;oBACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,4BAAe,CAAC,iBAAiB,CAAC,CAAC;oBAC3E,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE;wBAChC,8BAA8B,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;qBACzD;iBACJ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,0BAA0B,CAAC,EAAE;oBAChE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,4BAAe,CAAC,0BAA0B,CAAC,CAAC;oBAC7F,IAAI,qBAAqB,CAAC,kBAAkB,KAAK,SAAS,EAAE;wBACxD,8BAA8B,CAAC,YAAY,GAAG,qBAAqB,CAAC,kBAAkB,CAAC;qBAC1F;oBAED,IAAI,qBAAqB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACzD,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1R,IAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,KAAK,SAAS;4BAAE,0BAA0B,CAAC,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,CAAC;wBAC9J,8BAA8B,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;qBAC9I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,oBAAoB,CAAC,EAAE;oBAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,4BAAe,CAAC,oBAAoB,CAAC,CAAC;oBACjF,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,SAAS,GAAG,eAAe,CAAC,eAAe,CAAC;qBAC9E;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,MAAM,uBAAuB,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,IAAI,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5P,IAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBACzI,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAC/H;oBAED,IAAI,eAAe,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,CAAC;qBAC5F;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,gBAAgB,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACvL;iBACJ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,mBAAmB,CAAC,EAAE;oBACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,4BAAe,CAAC,mBAAmB,CAAC,CAAC;oBAC/E,8BAA8B,CAAC,KAAK,GAAG,GAAG,CAAC;oBAC3C,IAAI,cAAc,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC9K;oBAED,IAAI,cAAc,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC;qBACvF;oBAED,IAAI,cAAc,CAAC,iBAAiB,KAAK,SAAS,EAAE;wBAChD,MAAM,wBAAwB,GAAG,cAAc,CAAC,iBAAiB,CAAC,UAAU,IAAI,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7P,IAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,KAAK,SAAS;4BAAE,wBAAwB,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;qBACjI;oBAED,IAAI,cAAc,CAAC,qBAAqB,KAAK,SAAS,EAAE;wBACpD,MAAM,4BAA4B,GAAG,cAAc,CAAC,qBAAqB,CAAC,UAAU,IAAI,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7Q,IAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,KAAK,SAAS;4BAAE,4BAA4B,CAAC,QAAQ,GAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC;wBACtJ,8BAA8B,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;qBAC7I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,4BAAe,CAAC,sBAAsB,CAAC,EAAE;oBAC5D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,4BAAe,CAAC,sBAAsB,CAAC,CAAC;oBAErF,IAAI,iBAAiB,CAAC,cAAc,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,cAAc,CAAC;qBACvF;oBAED,IAAI,iBAAiB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACrD,8BAA8B,CAAC,aAAa,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACnM;oBAED,IAAI,iBAAiB,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACtD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClR,IAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS;4BAAE,2BAA2B,CAAC,QAAQ,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,CAAC;wBACzJ,8BAA8B,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;qBAC7I;oBAED,IAAI,iBAAiB,CAAC,eAAe,KAAK,SAAS,EAAE;wBACjD,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,eAAe,CAAC,UAAU,IAAI,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,4BAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9P,IAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;4BAAE,sBAAsB,CAAC,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;qBACvI;iBACJ;gBAED,MAAM,YAAY,GAAG,IAAI,0CAAoB,CAAC,8BAA8B,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;aAC3C;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,OAAO,CAAC,SAAiB,EAAE,UAA0F;QACzH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpJ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE5D,OAAO,IAAI,6BAAO,CACd,SAAS,EACT,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,SAAS,EACT,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACzG,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACtG,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EACpB,KAAK,CACR,CAAC;IACN,CAAC;CAGJ;AAvVD,wCAuVC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,
|
|
1
|
+
{"version":3,"file":"TextureLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,aAAa;IAcV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAY,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAAoB,OAAO,CAAC,QAAQ,CAAC;IAXxH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAER;gBAMsB,QAAQ,EAAE,QAAQ,EAAmB,iBAAiB,EAAE,gBAAgB,EAAU,QAAQ,CAAC,oBAAQ;IAMzH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAOzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAsDrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,17 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TextureLoader = void 0;
|
|
13
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
14
|
+
class TextureLoader {
|
|
15
|
+
// #endregion Properties (3)
|
|
13
16
|
// #region Constructors (1)
|
|
14
17
|
constructor(_content, _bufferViewLoader, _baseUri) {
|
|
15
18
|
this._content = _content;
|
|
16
19
|
this._bufferViewLoader = _bufferViewLoader;
|
|
17
20
|
this._baseUri = _baseUri;
|
|
18
|
-
// #region Properties (
|
|
19
|
-
this._converter = Converter.instance;
|
|
20
|
-
this._httpClient = HttpClient.instance;
|
|
21
|
+
// #region Properties (3)
|
|
22
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
23
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
21
24
|
this._loaded = {};
|
|
22
25
|
}
|
|
23
26
|
// #endregion Constructors (1)
|
|
@@ -35,7 +38,7 @@ export class TextureLoader {
|
|
|
35
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
39
|
if (!this._content.textures)
|
|
37
40
|
return;
|
|
38
|
-
|
|
41
|
+
const promises = [];
|
|
39
42
|
for (let i = 0; i < this._content.textures.length; i++) {
|
|
40
43
|
const textureId = i;
|
|
41
44
|
const texture = this._content.textures[textureId];
|
|
@@ -55,12 +58,11 @@ export class TextureLoader {
|
|
|
55
58
|
promises.push(new Promise((resolve, reject) => {
|
|
56
59
|
this._httpClient.loadTexture(dataUri)
|
|
57
60
|
.then(response => {
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
61
|
+
this._loaded[textureId] = response.data;
|
|
62
|
+
URL.revokeObjectURL(dataUri);
|
|
63
|
+
resolve();
|
|
64
|
+
})
|
|
65
|
+
.catch(e => reject(e));
|
|
64
66
|
}));
|
|
65
67
|
}
|
|
66
68
|
else {
|
|
@@ -68,11 +70,10 @@ export class TextureLoader {
|
|
|
68
70
|
promises.push(new Promise((resolve, reject) => {
|
|
69
71
|
this._httpClient.loadTexture(url)
|
|
70
72
|
.then(response => {
|
|
71
|
-
this.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}).catch(e => reject(e));
|
|
73
|
+
this._loaded[textureId] = response.data;
|
|
74
|
+
resolve();
|
|
75
|
+
})
|
|
76
|
+
.catch(e => reject(e));
|
|
76
77
|
}));
|
|
77
78
|
}
|
|
78
79
|
}
|
|
@@ -80,4 +81,5 @@ export class TextureLoader {
|
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
}
|
|
84
|
+
exports.TextureLoader = TextureLoader;
|
|
83
85
|
//# sourceMappingURL=TextureLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextureLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeometryEngine = void 0;
|
|
4
|
+
const GeometryEngine_1 = require("./GeometryEngine");
|
|
5
|
+
Object.defineProperty(exports, "GeometryEngine", { enumerable: true, get: function () { return GeometryEngine_1.GeometryEngine; } });
|
|
3
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAG/C,+FAHO,+BAAc,OAGP"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/viewer.data-engine.geometry-engine",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michael Oppitz <michael@shapediver.com>",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@shapediver/sdk.geometry-api-sdk-v2": "1.6.0",
|
|
43
|
-
"@shapediver/viewer.data-engine.material-engine": "2.
|
|
44
|
-
"@shapediver/viewer.data-engine.shared-types": "2.
|
|
45
|
-
"@shapediver/viewer.rendering-engine.camera-engine": "2.
|
|
46
|
-
"@shapediver/viewer.rendering-engine.light-engine": "2.
|
|
47
|
-
"@shapediver/viewer.shared.build-data": "2.
|
|
48
|
-
"@shapediver/viewer.shared.node-tree": "2.
|
|
49
|
-
"@shapediver/viewer.shared.services": "2.
|
|
50
|
-
"@shapediver/viewer.shared.types": "2.
|
|
43
|
+
"@shapediver/viewer.data-engine.material-engine": "2.11.0",
|
|
44
|
+
"@shapediver/viewer.data-engine.shared-types": "2.11.0",
|
|
45
|
+
"@shapediver/viewer.rendering-engine.camera-engine": "2.11.0",
|
|
46
|
+
"@shapediver/viewer.rendering-engine.light-engine": "2.11.0",
|
|
47
|
+
"@shapediver/viewer.shared.build-data": "2.11.0",
|
|
48
|
+
"@shapediver/viewer.shared.node-tree": "2.11.0",
|
|
49
|
+
"@shapediver/viewer.shared.services": "2.11.0",
|
|
50
|
+
"@shapediver/viewer.shared.types": "2.11.0",
|
|
51
51
|
"axios": "^1.2.6",
|
|
52
52
|
"gl-matrix": "3.3.0"
|
|
53
53
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"path": false,
|
|
57
57
|
"os": false
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "abc828ee5f772bc79b737c994716b8ec372503ef"
|
|
60
60
|
}
|