PrusaSlicer是一款开源的3D打印机切片软件,它将3D模型文件转换为3D打印机可以理解的指令。该软件在开源社区中颇受欢迎,开发者可以利用其源码进行自定义和扩展功能。PrusaSlicer第三方库源码包的出现,解决了在编译PrusaSlicer时遇到的一些常见问题,比如重复下载和编译第三方库。 第三方库源码包可以理解为一个预先下载好的第三方依赖代码集合,这些代码库对于确保PrusaSlicer的正常运行至关重要。有了这个源码包,开发者在搭建开发环境或进行编译时,可以直接使用这些预先准备好的源码,从而大大缩短了整个构建的时间。这不仅提高了开发效率,还降低了因网络问题导致的源码下载失败的风险。 这些第三方库通常包含了各种专门的功能实现,例如图形用户界面(GUI)、数学运算、文件操作、网络通信等。它们可能以C++库的形式存在,因为PrusaSlicer是用C++编写的。这样的库通常有广泛的社区支持和维护,能够确保软件的稳定性和安全性。 在使用PrusaSlicer第三方库源码包时,开发者需要确保他们的构建系统与源码包兼容。一般情况下,PrusaSlicer会要求特定版本的第三方库,以保证功能的兼容和性能的稳定。此外,使用源码包还可以帮助开发者在没有互联网连接的情况下完成编译工作,这对于那些在离线环境下工作的开发者来说是一个非常有用的功能。 PrusaSlicer第三方库源码包的提供,是该项目支持开源社区、鼓励开发者贡献的一个体现。它不仅提高了开发效率,还增强了软件的稳定性和可访问性。对于那些致力于改进和扩展PrusaSlicer功能的开发者而言,源码包是一个非常宝贵的资源。
2025-08-26 13:37:18 421.49MB 源码
1
OpenGL库文件工具包是计算机图形学领域中一个重要的软件开发资源,主要包含了用于在Windows操作系统上进行三维图形渲染的一系列头文件、库文件以及动态链接库。这些文件为开发者提供了与OpenGL交互的基础,使得程序员可以利用OpenGL的强大功能来创建复杂的可视化应用。 1. **OpenGL**:OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形。它是开放标准的,由Khronos Group维护,旨在为各种硬件提供一致的性能和特性。在Windows系统中,OpenGL通常通过opengl32.dll动态链接库实现,而opengl32.h是对应的头文件,包含了许多函数声明和常量定义。 2. **GLU (GL Utility Library)**:GLU是一个辅助库,提供了许多OpenGL的标准实用程序,如曲线和曲面的构建、错误检查、视口和投影转换等。glu32.h是GLU的头文件,glu32.lib则是对应的静态链接库,glu32.dll是动态链接库。 3. **Glaux**:Glaux是一个较老的库,主要用于简化OpenGL的某些任务,如键盘和鼠标输入处理、辅助几何对象创建等。然而,随着OpenGL的发展,Glaux已逐渐被淘汰,现在更多地被现代库如FreeGLUT所取代。glaux.h是Glaux库的头文件。 4. **GLEW (OpenGL Extension Wrangler Library)**:GLEW是用来管理OpenGL扩展的库,它允许开发者方便地访问硬件的特定功能和最新的OpenGL版本。glew32.h包含GLEW的函数声明,glew32.lib是静态库,glew32.dll是运行时所需的动态链接库。GLEW能够自动检测并加载系统支持的所有OpenGL扩展。 5. **WGLEW (Windows GLEW)**:WGLEW是GLEW的一个扩展,专门针对Windows平台,增加了对WGL(Windows OpenGL)函数的支持,帮助开发者访问和使用Windows特定的OpenGL特性。 在开发过程中,开发者首先需要包含对应的头文件,然后链接相应的库文件,才能在程序中使用OpenGL的功能。例如,通过`#include "opengl32.h"`导入OpenGL的基本函数,通过`#include "glu32.h"`获取GLU的帮助函数。在编译阶段,链接器会连接到glu32.lib和opengl32.lib,而在运行时,系统会查找glu32.dll和opengl32.dll。对于GLEW和WGLEW,也需要类似的过程。 使用这些库文件,开发者可以创建从简单的几何形状绘制到复杂场景渲染的各种应用程序,包括游戏、科学可视化工具、工程设计软件等。同时,OpenGL库文件工具包也支持硬件加速,使得高性能图形计算成为可能。不过,随着现代图形API如Vulkan和DirectX 12的出现,OpenGL在某些领域的地位受到了挑战,但其仍然是一个广泛使用的图形接口,尤其在教育和科研领域。
2025-08-26 11:46:22 995KB OpenGL glaux
1
QT第三方库全局快捷键热键.zip是一个包含关于在Qt应用程序中使用全局快捷键(热键)的资源包。这个包特别关注的是一个名为qxtglobalshortcut5的第三方库,它是Qt的一个扩展,允许开发者创建可以在应用程序任何状态下响应的全局键盘快捷键。在Windows 10操作系统上,并且与QT 5.9版本兼容的情况下,该库已被验证可以成功使用。 让我们深入了解一下Qt框架。Qt是一个跨平台的应用程序开发框架,由C++编写,广泛用于桌面、移动和嵌入式平台。它提供了丰富的图形用户界面(GUI)工具包,以及用于网络、数据库、XML处理等功能的模块。 全局快捷键,或称全局热键,是指能够在应用程序窗口不在焦点时仍然能够响应的键盘组合。这在许多应用中都很有用,例如音乐播放器、文本编辑器,或者系统托盘应用,用户可以通过全局快捷键快速执行特定操作,无需将鼠标移到应用程序窗口上。 qxtglobalshortcut5库就是为了解决这个问题而创建的。它扩展了Qt的核心功能,提供了一个方便的API来注册和管理全局快捷键。在使用这个库之前,你需要将其添加到你的Qt项目中,通常是通过包含头文件和链接库来实现。 以下是如何使用qxtglobalshortcut5的基本步骤: 1. **导入库**:在你的C++源代码中,你需要导入`QxtGlobalShortcut`模块: ```cpp #include ``` 2. **创建全局快捷键**:然后,你可以创建一个`QxtGlobalShortcut`对象并设置快捷键: ```cpp QxtGlobalShortcut *shortcut = new QxtGlobalShortcut(this); shortcut->setKey(QKeySequence("Ctrl+Alt+A")); // 设置快捷键为Ctrl+Alt+A ``` 3. **连接信号与槽**:当快捷键被按下时,你可以连接到其触发的信号,执行相应的动作: ```cpp connect(shortcut, &QxtGlobalShortcut::activated, this, &YourClass::yourMethod); // 当快捷键被按下时,调用yourMethod方法 ``` 4. **管理快捷键**:在应用运行过程中,可能需要添加、修改或删除全局快捷键。为此,你可以使用`setEnabled()`方法来启用或禁用快捷键,`remove()`方法来移除它。 5. **注意事项**:由于全局快捷键可能与其他系统级别的快捷键冲突,所以在设置快捷键时,最好检查当前系统中是否已有相同的快捷键分配。此外,某些快捷键可能在某些情况下无法生效,例如在全屏游戏或某些全屏应用中。 这个资源包中的示例程序可能是用来演示如何在实际项目中应用这些概念。它可能包含了创建、管理和响应全局快捷键的完整代码,对于学习和理解qxtglobalshortcut5库的使用非常有帮助。 qxtglobalshortcut5库为Qt开发者提供了一种有效的方式来实现全局快捷键,提高了应用的用户体验和交互性。通过熟练掌握这个库的使用,你可以创建更高效、更易于操控的跨平台应用。
2025-08-26 09:25:56 34KB 全局快捷键
1
c#调用开源软件winscp开源库实现ftp、Sftp、scp的上传和下载,调用winscp的dll可以快速集成到自己的软件中。 本来想找别人写的,没找到,只好自己写了一个。给有这需求的人使用,省的自己再去查看winscp的接口文档。 在当今信息化快速发展的时代,网络文件传输协议的应用愈发广泛,尤其是FTP、SFTP和SCP协议,在软件开发、数据备份、文件共享等多个领域都扮演着重要的角色。C#作为微软推出的一种面向对象的编程语言,凭借其强大的开发能力和高效的运行效率,在企业级应用开发中占据了重要地位。然而,要在C#开发的软件中实现这些协议的上传下载功能,通常需要借助第三方库来简化开发过程。WinSCP开源库正是这样一个强大的工具,它允许开发者通过调用其DLL库,轻松地在自己的C#应用程序中集成FTP、SFTP和SCP等文件传输功能。 WinSCP(Windows Secure CoPy)是一款开源的SFTP客户端,同时也支持FTP和SCP协议。它基于.NET框架编写,提供了友好的图形用户界面和命令行界面,方便用户进行文件传输。作为一个开源项目,WinSCP具有活跃的开发社区和完善的文档支持,这使得开发者可以快速地掌握其API的使用方法,并将其集成到自己的项目中。 对于希望在C#中实现文件上传下载功能的开发者而言,WinSCP的.NET封装版本提供了方便快捷的解决方案。开发者可以通过添加WinSCP的DLL引用,直接在C#代码中调用其丰富的API接口,从而实现复杂文件传输逻辑的快速开发。WinSCP的API支持多种操作模式,包括上传、下载、同步、重命名等,而且支持断点续传、传输加密、文件权限管理等高级功能,极大地提升了文件传输的安全性和可靠性。 在实际应用中,开发者首先需要从WinSCP官网下载相应的DLL文件,并将其添加到C#项目中。然后,通过实例化WinSCP.Session类,设置SessionOptions来配置连接参数,包括主机地址、用户名、密码、端口等。之后,就可以通过Session对象提供的Upload、Download、ListDirectory等方法来执行具体的文件操作。此外,WinSCP还提供了事件处理机制,允许开发者订阅各种传输事件,以实现对文件传输过程的监控和控制。 除了通过代码调用WinSCP库,用户还可以利用WinSCP提供的图形界面工具进行手动文件传输操作。这为不熟悉命令行操作的用户提供了一种更为直观的使用方式,同时也为开发者进行测试和验证提供了便利。 WinSCP作为一个功能强大的开源文件传输工具,为C#开发者提供了一个简单高效的文件传输解决方案。它不仅支持多种传输协议,还具有易于集成、功能全面、安全可靠等优点。通过调用WinSCP的DLL库,开发者可以快速地在自己的软件项目中实现文件的上传下载功能,极大提高了开发效率和产品质量。
2025-08-26 00:04:02 54.64MB ftp sftp
1
STM32原理图库是一个非常宝贵的资源,专为电子工程师设计和开发基于STM32微控制器的系统提供了必要的元件模型。STM32是意法半导体(STMicroelectronics)推出的一系列高性能、低功耗的32位微控制器,广泛应用于各种嵌入式系统中。这些原理图库包含了STM32家族不同系列的元器件,覆盖了8位、16位以及32位的微控制器,方便在电路设计软件中进行选择和使用。 让我们逐一了解压缩包中的文件: 1. **ST Microcontroller 8-Bit.IntLib**:这个文件代表8位STM8系列微控制器的原理图库。STM8系列是意法半导体提供的8位微控制器,虽然功能相对较简单,但依然具备高集成度和低功耗特性,适用于一些对性能要求不高的应用。 2. **ST Microprocessor 32-Bit.IntLib**:这是一个通用的32位微处理器库,可能包含了STM32家族中多个系列的微处理器。STM32的32位架构基于ARM Cortex-M内核,提供从基础功能到高级应用的各种选项。 3. **ST Microcontroller 16-Bit.IntLib**:这是16位STM16系列微控制器的原理图库,适合需要比8位更强大性能但又不追求32位处理能力的应用场景。 4. **ST Microcontroller 32-Bit ARM.IntLib**:此文件特指基于ARM Cortex-M内核的STM32微控制器的原理图库。STM32的ARM Cortex-M系列包括M0、M0+、M3、M4和M7等不同内核,具有不同的性能和功耗特点。 5. **ST Microcontroller 32-Bit STM32.IntLib**:这个文件专门针对STM32系列的32位微控制器,可能是对上述32-Bit ARM.IntLib的补充或细分,可能包含特定系列的STM32元器件。 6. **ST Microcontroller 32-Bit STR9.IntLib**:STR9是意法半导体的另一款32位微控制器系列,基于ARM926EJ-S内核,相比于Cortex-M系列,STR9提供了更强大的计算能力和更丰富的外设接口,适合复杂的应用场合。 这些原理图库对于电子设计人员来说非常重要,因为它们简化了设计流程,允许工程师快速、准确地在电路设计软件(如Altium Designer、Cadence OrCAD或EAGLE等)中添加STM32微控制器及其相关的外围组件。每个库文件通常包含了微控制器的封装信息、管脚定义、电气特性等关键数据,使得设计者能够根据项目需求选择合适的微控制器并进行布局布线。 通过这些原理图库,工程师可以预览元器件的外形,了解引脚分布,以便于在电路板上进行布局优化,同时也可以检查引脚功能,确保与外设和电源管理等其他组件的兼容性。此外,这些库还帮助确保设计符合电气规范,减少设计错误,提高设计质量和效率。 STM32原理图库是STM32微控制器设计的必备工具,它提供了全面、精确的元器件模型,有助于电子工程师在开发过程中节省时间,提升设计质量,并确保最终产品的可靠性。
2025-08-25 15:52:26 11.5MB STM32 原理图库
1
STM32原理图库是电子设计工程师在使用意法半导体(STMicroelectronics)的STM32微控制器进行项目开发时的重要资源。STM32系列是基于ARM Cortex-M内核的一系列高性能、低功耗的32位微控制器,广泛应用于各种嵌入式系统,如物联网设备、消费电子产品、工业控制等。 STM32原理图库包含了STM32芯片的各种电气连接信息和封装细节,是电路设计中必不可少的一部分。这些原理图库文件通常以Liberal Office、Altium Designer、EAGLE、KiCad或其他CAD软件支持的格式存在,供设计师导入到他们的电路设计软件中。这些文件包含了每个引脚的功能定义,以及电气特性,例如输入/输出电压等级、电流限制、电容和电阻值等,确保了与STM32芯片的兼容性和正确连接。 在STM32原理图库中,每个STM32型号都有其特定的配置,例如STM32F103、STM32L476或STM32H750等,每种型号都有不同的功能集和性能指标。设计者需要根据实际应用需求选择合适的型号,并利用对应的原理图库元件进行布局布线。 STM32系列的特点包括: 1. 高性能:采用ARM Cortex-M内核,处理速度快,功耗低。 2. 强大的外设集:如GPIO、ADC、DAC、SPI、I2C、UART、CAN、USB、以太网等,满足多样化的需求。 3. 宽泛的存储器选项:ROM、RAM大小不一,满足不同容量需求。 4. 丰富的电源管理功能:便于优化能耗。 5. 强大的定时器和中断系统:便于实时控制。 6. 集成的硬件加密模块:提高系统的安全性。 在设计过程中,设计师需要注意以下几点: 1. 确保电源和地线规划合理,以减少噪声和干扰。 2. 合理分配IO口的驱动能力,防止过载或无法驱动负载。 3. 注意晶体振荡器的选择和连接,以确保系统时钟稳定。 4. 考虑到EMC(电磁兼容性)和ESD(静电放电)防护,避免电路受到外界影响。 5. 使用库中的元器件时,要与最新的数据手册对照,确保信息的准确性。 在使用STM32原理图库时,设计师还需要关注ST官方的更新和技术支持,以获取最新的芯片信息、固件升级以及错误修复。此外,参与相关的技术论坛和社区可以获取其他工程师的经验分享,帮助解决设计中遇到的问题。 总结来说,STM32原理图库是设计基于STM32微控制器的电路板时不可或缺的工具,它提供了芯片电气特性的详细信息,确保了设计的正确性和可靠性。通过深入理解和充分利用这些资源,设计师可以更高效地开发出满足需求的嵌入式系统。
2025-08-25 15:36:24 3.15MB STM32 原理图库
1
获取源代码 git clone https://github.com/mpx/lua-cjson.git 手动编译 注意:需要安装 vs2022 、下载 lua5.1.5 软件;将 lua_cjson.c 文件中 strncasecmp 函数替换为 strncmp 函数 方法一:参考 https://www.bilibili.com/video/BV1GDigeKEor 视频编译 方法二:使用 luarocks 编译 luarocks make 在64位的Windows操作系统中,Lua语言能够通过调用动态链接库(DLL)的方式实现与C语言编写的功能模块交互。其中,cjson.dll是一个常用的支持库,它允许Lua程序方便地进行JSON数据的编码和解码。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其易读性和简洁性在数据交换领域得到了广泛应用。cjson库为Lua提供了一套高效的API,使得在Lua程序中处理JSON数据就像操作Lua表一样简单。 要使用cjson.dll,首先需要获取其源代码。源代码托管在GitHub上,可以通过git clone命令轻松获取。下载源代码后,需要进行编译以生成适用于Windows 64位系统的cjson.dll动态链接库文件。在编译之前,有几点需要注意。必须安装Visual Studio 2022开发环境,这是进行C/C++程序开发和编译的必要条件。需要下载Lua 5.1.5版本的软件,这是因为cjson库是基于Lua 5.1版本的API设计的,尽管它也可以在新版本的Lua上工作。 编译过程中可能会遇到一些问题,例如在处理源代码文件lua_cjson.c时,会发现使用了strncasecmp函数,这个函数在某些旧的Windows编译环境中可能不可用。这时需要手动将strncasecmp替换为strncmp函数,以避免编译错误。 编译cjson.dll可以通过不同的方法来完成。方法一是参考视频教程,例如Bilibili上的相关视频,按照视频中的步骤进行操作。视频通常会提供详细的指令和解释,帮助开发者顺利编译出所需的库文件。方法二是使用luarocks工具,它是一个Lua的包管理器,可以自动化编译和安装Lua模块。通过执行luarocks make命令,可以自动地下载依赖、编译并安装cjson模块,整个过程简洁高效。 标签中提到的“lua”、“cjson”和“luarocks”分别代表了这门编程语言、处理JSON数据的库以及Lua的包管理工具。在进行Lua开发时,这些工具和库的组合可以极大地提高开发效率和程序的执行能力。 要在Windows 64位系统上使用Lua调用cjson动态库,需要通过获取cjson库的源代码、安装必要的编译环境、替换特定函数、选择合适的编译方法来编译出cjson.dll。整个流程涉及到多个步骤,需要开发者具备一定的编程基础和对工具的熟悉度。一旦成功编译并安装了cjson.dll,Lua程序处理JSON数据的便捷性将会大大增强,对于需要数据交换的应用开发来说是一个强大的工具。
2025-08-25 12:36:07 29KB lua cjson
1
所有的安装文件全部来自微软官方网站整合,且为最新数字签名版本。比如说某些网站和论坛的部分精简软件没有附带这些公用 DLL,所以安装这些运行库是重装系统后第一件要做的事情。 Visual C++ 微软常用运行库合集 (32+64位合集) Repacked by Dreamcast (Build on 2023.02.22) 本集合包含下列组件: Visual Basic Virtual Machine(5.1) Visual Basic Virtual Machine(6.0) Microsoft C Runtime Library 2002(7.0.9975.0) Microsoft C Runtime Library 2003(7.10.6119.0) Microsoft Visual C++2005 SP1(8.0.61187) Microsoft Visual C++2008 SP1(9.0.30729.7523) Microsoft Visual C++2010 SP1(10.0.40219.473) 。。。。。
2025-08-23 20:19:32 76.71MB microsoft
1
EhLib是面向Delphi开发者的数据库编程控件库,它提供了一系列增强数据库功能的组件和类库,帮助开发者更高效地完成数据库相关应用程序的开发。EhLib版本11.0.7针对Delphi 12(D12)环境进行了优化和更新,确保了与最新Delphi版本的兼容性,同时可能还包含了一些新特性和改进。 由于EhLib库被设计成与Delphi开发环境无缝集成,因此它在使用时会特别关注减少开发者在数据库操作中所遇到的编程难题。通过提供丰富的数据感知控件,如表格(grid)、编辑器(editors)、数据管理组件等,EhLib大大简化了数据绑定、编辑和展示的过程。此外,EhLib还支持多种数据库系统,包括但不限于Firebird、SQLite、MySQL、PostgreSQL以及主流的SQL Server和Oracle数据库,通过一套统一的API和组件,为Delphi开发者提供跨平台数据库解决方案。 EhLib库中可能包含的功能组件如: - 丰富的数据网格(DBGrid)组件,支持多字段排序、分组、过滤、自定义单元格编辑器等; - 高效的数据集(DataSet)组件,用于数据的快速读取和写入; - 高级报表生成工具,允许生成复杂的报表; - 数据迁移和转换工具,便于不同数据库之间的数据迁移操作; - 强大的数据验证机制,确保数据的准确性和一致性; - 用户友好的数据库连接管理,支持多种数据库连接方式; - 高级SQL查询构建器,简化复杂SQL语句的编写; - 集成了数据访问层组件,方便实现业务逻辑和数据访问层的分离。 在Delphi环境中,EhLib库可以帮助开发者更快速地实现数据库应用程序的开发,并且通过它的高级特性,开发者能够创建出更加健壮和用户友好的数据库应用程序。对于希望提高生产力和减少编码错误的Delphi开发者来说,EhLib是一个不可多得的工具。 EhLib的升级版本不仅提供了对新Delphi版本的支持,还可能引入了新的编程接口或改进了现有功能,使得开发者在编写数据库应用程序时能够更加高效。开发者可以利用EhLib提供的功能,大幅减少重复代码的编写,从而将更多的精力集中在业务逻辑的实现上。 由于直接从文件名“d5825-main”中得到的信息有限,难以得知具体包含哪些子文件或者功能模块,但通常这样的命名习惯可能暗示了该压缩包是EhLib库的主文件包,包含了核心功能和可能的示例代码、文档等资源。 开发者在使用EhLib时,应遵循其许可协议,并确保对所使用的组件和功能有充分的了解,以便更好地利用EhLib库的强大功能,优化数据库应用程序的开发工作。
2025-08-23 10:42:02 33.23MB delphi
1
在当今电子设计自动化(EDA)领域,Altium Designer是一款流行的电路设计软件,广泛应用于电子产品的设计和开发。Altium Designer支持多种设计文件格式,其中.SchLib、.PcbLib和.LibPkg是与PCB设计相关的关键文件类型。SchLib是原理图库文件,包含了用于设计电路原理图的元件符号;PcbLib是PCB封装库文件,存储了元件在PCB板上的物理布局和引脚信息;LibPkg则是封装库包文件,可以包含多个相关联的封装和原理图库,便于管理和共享。 在本案例中,提供了一个共享的Type C PCB封装库,其中包含了6Pin和24Pin的Type C连接器,且分别提供了公头和母头的版本。这使得用户可以根据不同的设计需求选择合适的连接器封装,从而在他们的PCB设计中实现Type C接口的功能。 Type C接口是一种USB接口标准,广泛应用于各种电子设备中,如智能手机、平板电脑、笔记本电脑以及其他外设设备。它具有正反两面插拔、支持多种协议(包括USB 3.1、USB Power Delivery、DisplayPort和HDMI)以及较快的数据传输速度和电力传输能力。因此,Type C连接器已成为现代电子设备中不可或缺的组件之一。 Altium格式的PCB封装库允许设计师在Altium Designer软件中直接导入和使用这些Type C连接器,大大节省了设计时间并提高了设计效率。这些封装库文件的下载分享,使得设计者能够在项目开发初期快速地获得所需的Type C接口设计元素,从而专注于其他设计创新和优化工作。 从文件名列表可以看出,此次分享包括了多个与Type C接口相关的Altium文件。typecINTlib.LibPkg文件包可能包含了Type C接口的内部分割细节,有助于在设计时对其进行高级定制。type-c_pcb.PcbLib文件则提供了Type C连接器的PCB封装设计。typec3.1.PcbLib文件可能涵盖了USB 3.1标准下的Type C接口封装。type-c-sch.SchLib包含了与Type C连接器相关的原理图符号,以便在设计电路原理图时使用。 设计者在使用这些库文件时应确保它们与Altium Designer软件的版本兼容,以避免在导入和使用过程中发生问题。此外,设计师还需要考虑到实际应用中的电气特性和物理尺寸,确保设计最终能够满足产品的性能和可靠性要求。 对于电子硬件设计者而言,良好的封装库资源是提高设计效率和保证产品质量的重要因素。这些封装库文件的分享,不仅展示了电子设计社区中的知识共享精神,还促进了电子设计领域的发展和创新。通过利用现成的高质量封装库,设计者可以将精力更多地投入到产品的功能创新和优化上,而不是从零开始设计每一个组件,这对于缩短产品上市时间、降低成本和提高市场竞争力都具有重要意义。
2025-08-23 10:17:42 41KB Altium格式 PCB封装库 TypeC
1