/dports/cad/meshlab/meshlab-Meshlab-2020.05/src/meshlabplugins/render_gdp/ |
H A D | shaderDialog.cpp | 48 shaderInfo = sInfo; in ShaderDialog() 69 for (i = shaderInfo->uniformVars.begin(); i != shaderInfo->uniformVars.end(); ++i) { in ShaderDialog() 157 …for (textIter = shaderInfo->textureInfo.begin(); textIter != shaderInfo->textureInfo.end(); ++text… in ShaderDialog() 191 …for (glIterator = shaderInfo->glStatus.begin(); glIterator != shaderInfo->glStatus.end(); ++glIter… in ShaderDialog() 228 qf.setFileName(shaderInfo->vpFile); in ShaderDialog() 234 qf.setFileName(shaderInfo->fpFile); in ShaderDialog() 252 …old.setRgbF(shaderInfo->uniformVars[varName].fval[0], shaderInfo->uniformVars[varName].fval[1], sh… in setColorValue() 254 …setRgbF(shaderInfo->uniformVars[varName].fval[0], shaderInfo->uniformVars[varName].fval[1], shader… in setColorValue() 360 glBindTexture( shaderInfo->textureInfo[i].Target, shaderInfo->textureInfo[i].tId ); in reloadTexture() 364 …glTexParameteri( shaderInfo->textureInfo[i].Target, GL_TEXTURE_WRAP_S, shaderInfo->textureInfo[i].… in reloadTexture() [all …]
|
/dports/cad/meshlab/meshlab-Meshlab-2020.05/src/plugins_experimental/render_splatpyramid/ |
H A D | dialog.cpp | 147 shaderInfo->textureInfo[i].path = newPath.at(0); in browseTexturePath() 154 glDeleteTextures( 1, &shaderInfo->textureInfo[i].tId); in reloadTexture() 156 glEnable(shaderInfo->textureInfo[i].Target); in reloadTexture() 158 img.load(shaderInfo->textureInfo[i].path); in reloadTexture() 165 glGenTextures( 1, &(shaderInfo->textureInfo[i].tId) ); in reloadTexture() 166 glBindTexture( shaderInfo->textureInfo[i].Target, shaderInfo->textureInfo[i].tId ); in reloadTexture() 168 …glTexParameteri( shaderInfo->textureInfo[i].Target, GL_TEXTURE_MIN_FILTER, shaderInfo->textureInfo… in reloadTexture() 169 …glTexParameteri( shaderInfo->textureInfo[i].Target, GL_TEXTURE_MAG_FILTER, shaderInfo->textureInfo… in reloadTexture() 170 …glTexParameteri( shaderInfo->textureInfo[i].Target, GL_TEXTURE_WRAP_S, shaderInfo->textureInfo[i].… in reloadTexture() 171 …glTexParameteri( shaderInfo->textureInfo[i].Target, GL_TEXTURE_WRAP_T, shaderInfo->textureInfo[i].… in reloadTexture() [all …]
|
/dports/emulators/ppsspp-qt5/ppsspp-1.12.3/GPU/Common/ |
H A D | PostShader.cpp | 52 shaderInfo.clear(); in LoadPostShaderInfo() 64 shaderInfo.push_back(off); in LoadPostShaderInfo() 73 auto beginErase = std::remove(shaderInfo.begin(), shaderInfo.end(), info.name); in LoadPostShaderInfo() 75 shaderInfo.erase(beginErase, shaderInfo.end()); in LoadPostShaderInfo() 77 shaderInfo.push_back(info); in LoadPostShaderInfo() 237 return &shaderInfo[i]; in GetPostShaderInfo() 245 while (shaderInfo) { in GetPostShaderChain() 249 shaderInfo = GetPostShaderInfo(shaderInfo->parent); in GetPostShaderChain() 251 shaderInfo = nullptr; in GetPostShaderChain() 276 for (auto shaderInfo : chain) { in PostShaderChainRequires60FPS() local [all …]
|
H A D | PresentationCommon.cpp | 219 std::vector<const ShaderInfo *> shaderInfo; in UpdatePostShader() local 226 if (shaderInfo.empty()) in UpdatePostShader() 232 const ShaderInfo *next = i + 1 < shaderInfo.size() ? shaderInfo[i + 1] : nullptr; in UpdatePostShader() 237 if (shaderInfo[i]->usePreviousFrame) { in UpdatePostShader() 335 postShaderInfo_.push_back(*shaderInfo); in BuildPostShader() 667 if (shaderInfo->usePreviousFrame) in CopyToOutput() 684 if (shaderInfo->usePreviousFrame) in CopyToOutput() 817 bool firstIsUpscalingFilter = shaderInfo.empty() ? false : shaderInfo.front()->isUpscalingFilter; in CalculateRenderResolution() 818 int firstSSAAFilterLevel = shaderInfo.empty() ? 0 : shaderInfo.front()->SSAAFilterLevel; in CalculateRenderResolution() 838 for (auto &info : shaderInfo) { in CalculateRenderResolution() [all …]
|
/dports/emulators/ppsspp/ppsspp-1.12.3/GPU/Common/ |
H A D | PostShader.cpp | 52 shaderInfo.clear(); in LoadPostShaderInfo() 64 shaderInfo.push_back(off); in LoadPostShaderInfo() 73 auto beginErase = std::remove(shaderInfo.begin(), shaderInfo.end(), info.name); in LoadPostShaderInfo() 75 shaderInfo.erase(beginErase, shaderInfo.end()); in LoadPostShaderInfo() 77 shaderInfo.push_back(info); in LoadPostShaderInfo() 237 return &shaderInfo[i]; in GetPostShaderInfo() 245 while (shaderInfo) { in GetPostShaderChain() 249 shaderInfo = GetPostShaderInfo(shaderInfo->parent); in GetPostShaderChain() 251 shaderInfo = nullptr; in GetPostShaderChain() 276 for (auto shaderInfo : chain) { in PostShaderChainRequires60FPS() local [all …]
|
H A D | PresentationCommon.cpp | 219 std::vector<const ShaderInfo *> shaderInfo; in UpdatePostShader() local 226 if (shaderInfo.empty()) in UpdatePostShader() 232 const ShaderInfo *next = i + 1 < shaderInfo.size() ? shaderInfo[i + 1] : nullptr; in UpdatePostShader() 237 if (shaderInfo[i]->usePreviousFrame) { in UpdatePostShader() 335 postShaderInfo_.push_back(*shaderInfo); in BuildPostShader() 667 if (shaderInfo->usePreviousFrame) in CopyToOutput() 684 if (shaderInfo->usePreviousFrame) in CopyToOutput() 817 bool firstIsUpscalingFilter = shaderInfo.empty() ? false : shaderInfo.front()->isUpscalingFilter; in CalculateRenderResolution() 818 int firstSSAAFilterLevel = shaderInfo.empty() ? 0 : shaderInfo.front()->SSAAFilterLevel; in CalculateRenderResolution() 838 for (auto &info : shaderInfo) { in CalculateRenderResolution() [all …]
|
/dports/emulators/libretro-ppsspp/ppsspp-1.12.3/GPU/Common/ |
H A D | PostShader.cpp | 52 shaderInfo.clear(); in LoadPostShaderInfo() 64 shaderInfo.push_back(off); in LoadPostShaderInfo() 73 auto beginErase = std::remove(shaderInfo.begin(), shaderInfo.end(), info.name); in LoadPostShaderInfo() 75 shaderInfo.erase(beginErase, shaderInfo.end()); in LoadPostShaderInfo() 77 shaderInfo.push_back(info); in LoadPostShaderInfo() 237 return &shaderInfo[i]; in GetPostShaderInfo() 245 while (shaderInfo) { in GetPostShaderChain() 249 shaderInfo = GetPostShaderInfo(shaderInfo->parent); in GetPostShaderChain() 251 shaderInfo = nullptr; in GetPostShaderChain() 276 for (auto shaderInfo : chain) { in PostShaderChainRequires60FPS() local [all …]
|
H A D | PresentationCommon.cpp | 219 std::vector<const ShaderInfo *> shaderInfo; in UpdatePostShader() local 226 if (shaderInfo.empty()) in UpdatePostShader() 232 const ShaderInfo *next = i + 1 < shaderInfo.size() ? shaderInfo[i + 1] : nullptr; in UpdatePostShader() 237 if (shaderInfo[i]->usePreviousFrame) { in UpdatePostShader() 335 postShaderInfo_.push_back(*shaderInfo); in BuildPostShader() 667 if (shaderInfo->usePreviousFrame) in CopyToOutput() 684 if (shaderInfo->usePreviousFrame) in CopyToOutput() 817 bool firstIsUpscalingFilter = shaderInfo.empty() ? false : shaderInfo.front()->isUpscalingFilter; in CalculateRenderResolution() 818 int firstSSAAFilterLevel = shaderInfo.empty() ? 0 : shaderInfo.front()->SSAAFilterLevel; in CalculateRenderResolution() 838 for (auto &info : shaderInfo) { in CalculateRenderResolution() [all …]
|
/dports/misc/qt5-examples/qt-everywhere-src-5.15.2/qtbase/examples/vulkan/hellovulkancubes/ |
H A D | shader.cpp | 68 VkShaderModuleCreateInfo shaderInfo; in load() local 69 memset(&shaderInfo, 0, sizeof(shaderInfo)); in load() 70 shaderInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; in load() 71 shaderInfo.codeSize = blob.size(); in load() 72 shaderInfo.pCode = reinterpret_cast<const uint32_t *>(blob.constData()); in load() 73 …VkResult err = inst->deviceFunctions(dev)->vkCreateShaderModule(dev, &shaderInfo, nullptr, &sd.sha… in load()
|
/dports/www/chromium-legacy/chromium-88.0.4324.182/third_party/angle/third_party/VK-GL-CTS/src/external/vulkancts/framework/vulkan/ |
H A D | vkSpirVProgram.cpp | 31 tcu::TestLog& operator<< (tcu::TestLog& log, const SpirVProgramInfo& shaderInfo) in operator <<() argument 33 log << tcu::TestLog::ShaderProgram(shaderInfo.compileOk , shaderInfo.infoLog) in operator <<() 34 << tcu::TestLog::SpirVAssemblySource(shaderInfo.source) in operator <<() 40 "ms", QP_KEY_TAG_TIME, (float)shaderInfo.compileTimeUs / 1000.0f); in operator <<()
|
/dports/x11-toolkits/qt5-quick3d/kde-qtquick3d-5.15.2p19/src/quick3d/ |
H A D | qquick3dcustommaterial.cpp | 284 QQuick3DShaderUtilsShaderInfo *QQuick3DCustomMaterial::shaderInfo() const in shaderInfo() function in QQuick3DCustomMaterial 328 void QQuick3DCustomMaterial::setShaderInfo(QQuick3DShaderUtilsShaderInfo *shaderInfo) in setShaderInfo() argument 330 m_shaderInfo = shaderInfo; in setShaderInfo() 365 auto &shaderInfo = customMaterial->shaderInfo; in updateSpatialNode() local 366 shaderInfo.type = m_shaderInfo->type; in updateSpatialNode() 367 shaderInfo.version = m_shaderInfo->version; in updateSpatialNode() 368 shaderInfo.shaderPrefix = QByteArrayLiteral("#include \"customMaterial.glsllib\"\n"); in updateSpatialNode() 405 …appendShaderUniform(ShaderType<QVariant::Bool>::name(), property.name(), &shaderInfo.shaderPrefix); in updateSpatialNode() 417 … appendShaderUniform(ShaderType<QVariant::Int>::name(), property.name(), &shaderInfo.shaderPrefix); in updateSpatialNode() 451 QSSGShaderUtils::addSnapperSampler(textureData.name, shaderInfo.shaderPrefix); in updateSpatialNode() [all …]
|
H A D | qquick3dcustommaterial_p.h | 62 Q_PROPERTY(QQuick3DShaderUtilsShaderInfo *shaderInfo READ shaderInfo WRITE setShaderInfo) 73 QQuick3DShaderUtilsShaderInfo *shaderInfo() const; 79 void setShaderInfo(QQuick3DShaderUtilsShaderInfo *shaderInfo);
|
/dports/games/gtkradiant/GPL/GtkRadiant/tools/quake3/q3map2/ |
H A D | surface_fur.c | 62 if( ds == NULL || ds->fur || ds->shaderInfo->furNumLayers < 1 ) in Fur() 66 numLayers = ds->shaderInfo->furNumLayers; in Fur() 67 offset = ds->shaderInfo->furOffset; in Fur() 68 fade = ds->shaderInfo->furFade * 255.0f; in Fur() 91 fur = CloneSurface( ds, ds->shaderInfo ); in Fur()
|
H A D | surface.c | 136 ds->shaderInfo = si; in CloneSurface() 494 si = ds->shaderInfo; in ClassifySurfaces() 859 si = s->shaderInfo; in DrawSurfaceForSide() 910 ds->shaderInfo = si; in DrawSurfaceForSide() 1034 si = p->shaderInfo; in DrawSurfaceForMesh() 1095 ds->shaderInfo = si; in DrawSurfaceForMesh() 1570 if( side->shaderInfo->autosprite || side->shaderInfo->polygonOffset ) in SideInBrush() 1971 si = ds->shaderInfo; in FilterWindingIntoTree_r() 2426 …out->shaderNum = EmitShader( ds->shaderInfo->shader, &ds->shaderInfo->contentFlags, &ds->shaderInf… in EmitFlareSurface() 2518 …out->shaderNum = EmitShader( ds->shaderInfo->shader, &ds->shaderInfo->contentFlags, &ds->shaderInf… in EmitPatchSurface() [all …]
|
H A D | lightmaps.c | 215 Sys_Printf( "NPMS: %3d vertexes, %s\n", ds->numVerts, ds->shaderInfo->shader ); in AllocateLightmapForSurface() 217 Sys_Printf( "PMS: %3d vertexes, %s\n", ds->numVerts, ds->shaderInfo->shader ); in AllocateLightmapForSurface() 392 si = ds->shaderInfo; in AllocateLightmaps() 408 if( ds->shaderInfo == surfsOnShader[ j ]->shaderInfo ) in AllocateLightmaps() 432 si = ds->shaderInfo; in AllocateLightmaps() 449 if( ds->shaderInfo == surfsOnShader[ j ]->shaderInfo ) in AllocateLightmaps() 474 si = surfsOnShader[ i ]->shaderInfo; in AllocateLightmaps()
|
/dports/games/netradiant/netradiant-20150621-src/tools/quake3/q3map2/ |
H A D | surface_fur.c | 61 if ( ds == NULL || ds->fur || ds->shaderInfo->furNumLayers < 1 ) { in Fur() 66 numLayers = ds->shaderInfo->furNumLayers; in Fur() 67 offset = ds->shaderInfo->furOffset; in Fur() 68 fade = ds->shaderInfo->furFade * 255.0f; in Fur() 91 fur = CloneSurface( ds, ds->shaderInfo ); in Fur()
|
H A D | surface.c | 140 ds->shaderInfo = si; in CloneSurface() 512 si = ds->shaderInfo; in ClassifySurfaces() 903 si = s->shaderInfo; in DrawSurfaceForSide() 953 ds->shaderInfo = si; in DrawSurfaceForSide() 1081 si = p->shaderInfo; in DrawSurfaceForMesh() 1144 ds->shaderInfo = si; in DrawSurfaceForMesh() 2118 si = ds->shaderInfo; in FilterWindingIntoTree_r() 2570 …out->shaderNum = EmitShader( ds->shaderInfo->shader, &ds->shaderInfo->contentFlags, &ds->shaderInf… in EmitFlareSurface() 2664 …out->shaderNum = EmitShader( ds->shaderInfo->shader, &ds->shaderInfo->contentFlags, &ds->shaderInf… in EmitPatchSurface() 2879 …out->shaderNum = EmitShader( ds->shaderInfo->shader, &ds->shaderInfo->contentFlags, &ds->shaderInf… in EmitTriangleSurface() [all …]
|
H A D | convert_map.c | 272 buildSide->shaderInfo = ShaderInfoForShader( shader->shader ); in ConvertBrush() 293 if ( buildSide->shaderInfo == NULL || buildSide->winding == NULL ) { in ConvertBrush() 311 texture = buildSide->shaderInfo->shader + 9; in ConvertBrush() 314 texture = buildSide->shaderInfo->shader; in ConvertBrush() 431 …stI[0] = vert[0]->st[0] * buildSide->shaderInfo->shaderWidth; stI[1] = vert[0]->st[1] * buildSide-… in ConvertBrush() 432 …stJ[0] = vert[1]->st[0] * buildSide->shaderInfo->shaderWidth; stJ[1] = vert[1]->st[1] * buildSide-… in ConvertBrush() 433 …stK[0] = vert[2]->st[0] * buildSide->shaderInfo->shaderWidth; stK[1] = vert[2]->st[1] * buildSide-… in ConvertBrush() 481 …shift[0] = buildSide->shaderInfo->shaderWidth * FRAC( sts[0][2] / buildSide->shaderInfo->shaderWid… in ConvertBrush() 482 …shift[1] = buildSide->shaderInfo->shaderHeight * FRAC( sts[1][2] / buildSide->shaderInfo->shaderHe… in ConvertBrush() 500 if ( strcmp( buildSide->shaderInfo->shader, "noshader" ) ) { in ConvertBrush() [all …]
|
/dports/x11-toolkits/qt5-declarative/kde-qtdeclarative-5.15.2p41/src/quick/scenegraph/ |
H A D | qsgrhishadereffectnode.cpp | 69 Q_ASSERT(shader.shaderInfo.variables.count() == shader.varData.count()); in feedConstants() 72 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedConstants() 99 const int offset = shader.shaderInfo.variables.at(idx).offset; in feedConstants() 103 qDebug() << "cbuf update" << shader.shaderInfo.name in feedConstants() 113 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedSamplers() 666 defaultSD.shaderInfo.rhiShader = m_material.m_vertexShader; in syncMaterial() 674 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 678 defaultSD.shaderInfo.constantDataSize = (16 + 1) * sizeof(float); in syncMaterial() 688 defaultSD.shaderInfo.rhiShader = m_material.m_fragmentShader; in syncMaterial() 696 defaultSD.shaderInfo.variables.append(v); in syncMaterial() [all …]
|
/dports/x11-toolkits/qt5-declarative-test/kde-qtdeclarative-5.15.2p41/src/quick/scenegraph/ |
H A D | qsgrhishadereffectnode.cpp | 69 Q_ASSERT(shader.shaderInfo.variables.count() == shader.varData.count()); in feedConstants() 72 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedConstants() 99 const int offset = shader.shaderInfo.variables.at(idx).offset; in feedConstants() 103 qDebug() << "cbuf update" << shader.shaderInfo.name in feedConstants() 113 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedSamplers() 666 defaultSD.shaderInfo.rhiShader = m_material.m_vertexShader; in syncMaterial() 674 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 678 defaultSD.shaderInfo.constantDataSize = (16 + 1) * sizeof(float); in syncMaterial() 688 defaultSD.shaderInfo.rhiShader = m_material.m_fragmentShader; in syncMaterial() 696 defaultSD.shaderInfo.variables.append(v); in syncMaterial() [all …]
|
/dports/x11-toolkits/qt5-declarative/kde-qtdeclarative-5.15.2p41/src/plugins/scenegraph/d3d12/ |
H A D | qsgd3d12shadereffectnode.cpp | 87 const auto &var(shader.shaderInfo.variables.at(i)); in feedConstants() 110 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedSamplers() 111 const auto &var(shader.shaderInfo.variables.at(i)); in feedSamplers() 123 const auto &var(shader.shaderInfo.variables.at(i)); in feedTextures() 133 const auto &var(shader.shaderInfo.variables.at(idx)); in feedTextures() 614 defaultSD.shaderInfo.blob = vertBlob; in syncMaterial() 622 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 637 defaultSD.shaderInfo.blob = fragBlob; in syncMaterial() 645 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 653 defaultSD.shaderInfo.variables.append(v); in syncMaterial() [all …]
|
/dports/x11-toolkits/qt5-declarative-test/kde-qtdeclarative-5.15.2p41/src/plugins/scenegraph/d3d12/ |
H A D | qsgd3d12shadereffectnode.cpp | 87 const auto &var(shader.shaderInfo.variables.at(i)); in feedConstants() 110 for (int i = 0; i < shader.shaderInfo.variables.count(); ++i) { in feedSamplers() 111 const auto &var(shader.shaderInfo.variables.at(i)); in feedSamplers() 123 const auto &var(shader.shaderInfo.variables.at(i)); in feedTextures() 133 const auto &var(shader.shaderInfo.variables.at(idx)); in feedTextures() 614 defaultSD.shaderInfo.blob = vertBlob; in syncMaterial() 622 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 637 defaultSD.shaderInfo.blob = fragBlob; in syncMaterial() 645 defaultSD.shaderInfo.variables.append(v); in syncMaterial() 653 defaultSD.shaderInfo.variables.append(v); in syncMaterial() [all …]
|
/dports/misc/mnn/MNN-1.2.0/source/backend/opencl/core/runtime/ |
H A D | OpenCLRuntime.cpp | 490 auto shaderInfo = programs->GetAs<Shader>(i); in setCache() local 491 …if (nullptr == shaderInfo->program() || nullptr == shaderInfo->kernel() || nullptr == shaderInfo->… in setCache() 495 auto program = shaderInfo->program()->str(); in setCache() 496 auto kernel = shaderInfo->kernel()->str(); in setCache() 498 std::string buildinfo = shaderInfo->buildInfo()->str(); in setCache() 500 auto buffer = shaderInfo->buffer()->data(); in setCache() 501 size_t bufferSize = shaderInfo->buffer()->size(); in setCache()
|
/dports/misc/qt5-examples/qt-everywhere-src-5.15.2/qtdeclarative/examples/quick/scenegraph/vulkanunderqml/ |
H A D | vulkansquircle.cpp | 465 VkShaderModuleCreateInfo shaderInfo; in init() local 466 memset(&shaderInfo, 0, sizeof(shaderInfo)); in init() 467 shaderInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; in init() 468 shaderInfo.codeSize = m_vert.size(); in init() 469 shaderInfo.pCode = reinterpret_cast<const quint32 *>(m_vert.constData()); in init() 471 err = m_devFuncs->vkCreateShaderModule(m_dev, &shaderInfo, nullptr, &vertShaderModule); in init() 475 shaderInfo.codeSize = m_frag.size(); in init() 476 shaderInfo.pCode = reinterpret_cast<const quint32 *>(m_frag.constData()); in init() 478 err = m_devFuncs->vkCreateShaderModule(m_dev, &shaderInfo, nullptr, &fragShaderModule); in init()
|
/dports/www/chromium-legacy/chromium-88.0.4324.182/third_party/dawn/src/dawn_native/ |
H A D | ShaderModule.cpp | 322 const auto& shaderInfo = shaderBindings.find(bindingInfo.binding); in GetBindGroupMinBufferSizes() local 323 if (shaderInfo != shaderBindings.end()) { in GetBindGroupMinBufferSizes() 324 requiredBufferSizes[packedIdx] = shaderInfo->second.minBufferBindingSize; in GetBindGroupMinBufferSizes() 385 const EntryPointMetadata::ShaderBindingInfo& shaderInfo = it.second; in ValidateCompatibilityWithBindGroupLayout() local 395 if (layoutInfo.type != shaderInfo.type) { in ValidateCompatibilityWithBindGroupLayout() 402 shaderInfo.type == wgpu::BindingType::ReadonlyStorageBuffer; in ValidateCompatibilityWithBindGroupLayout() 409 shaderInfo.type == wgpu::BindingType::ComparisonSampler); in ValidateCompatibilityWithBindGroupLayout() 412 shaderInfo.type == wgpu::BindingType::Sampler); in ValidateCompatibilityWithBindGroupLayout() 434 shaderInfo.textureComponentType == in ValidateCompatibilityWithBindGroupLayout() 449 if (layoutInfo.viewDimension != shaderInfo.viewDimension) { in ValidateCompatibilityWithBindGroupLayout() [all …]
|