华为云用户手册
-
操作步骤 登录云容器引擎CCE控制台。 在左侧导航栏上单击“插件市场”。 在插件市场页面上方搜索框输入“cosign”并搜索。 在下方的搜索结果中找到“容器镜像签名验证”插件,单击“安装”。 填写“安装插件”页面的相关参数。 选择集群:选择镜像所在集群。该插件只能在K8S V1.23及以上版本集群上安装。 对集群某个命名空间进行镜像验签时,需要先为该命名空间添加 policy.sigstore.dev/include:true 标签。 选择版本:选择插件版本 规格配置 单仓库:当前插件只支持在1个仓库上使用。 高可用:当前插件支持在2个仓库上使用。 自定义:自定义仓库数、CPU配额、容器配额。 表1 swr-cosign插件规格配置 参数 参数说明 插件规格 该插件可配置“单实例”、“高可用”或“自定义”规格。 实例数 选择上方插件规格后,显示跟插件规格匹配的实例数。 选择“自定义”规格时,您可根据需求调整插件实例数。 容器 选择“自定义”规格时,您可根据需求调整插件实例的容器规格。 参数配置 KMS密钥:选择一个创建非对称密钥中创建好的密钥。 验签镜像:单击,选择需要验签的镜像。 表2 swr-cosign插件参数配置 参数 参数说明 KMS密钥 选择一个密钥,仅支持 EC_P256、EC_P384、SM2 类型的密钥。 您可以前往密钥管理服务新增密钥。 验签镜像 验签镜像地址通过正则表达式进行匹配,例如填写docker.io/**表示对docker.io镜像仓库的镜像进行验签。如需对所有镜像验签,请填写**。 填写完成后,单击“安装”。 待插件安装完成后,选择对应的集群,然后单击左侧导航栏的“插件中心”,可筛选“已安装插件”查看相应的插件。
-
常用软件兼容性 HCE 2.0兼容openEuler 22.03 LTS版本兼容列表下的所有开源软件,详情请参见oepkgs官网。 在此基础上,HCE 2.0额外兼容以下软件: 表1 HCE 2.0软件兼容列表 架构 软件名称 操作系统 版本 x86_64 Tomcat HCE 2.0 5.5.36 HCE 2.0 6.0.28 HCE 2.0 6.0.53 HCE 2.0 7.0.54 HCE 2.0 7.0.68 HCE 2.0 7.0.76 HCE 2.0 7.0.92 HCE 2.0 7.0.107 HCE 2.0 7.0.109 HCE 2.0 8.0.53 HCE 2.0 8.5.50 HCE 2.0 8.5.56 HCE 2.0 8.5.57 HCE 2.0 8.5.58 HCE 2.0 8.5.59 HCE 2.0 8.5.60 HCE 2.0 8.5.61 HCE 2.0 8.5.73 HCE 2.0 8.5.88 HCE 2.0 8.5.93 HCE 2.0 8.5.99 HCE 2.0 9.0.10 HCE 2.0 9.0.14 HCE 2.0 9.0.37 HCE 2.0 9.0.52 HCE 2.0 9.0.58 HCE 2.0 9.0.64 HCE 2.0 9.0.78 HCE 2.0 9.0.91 HCE 2.0 10.0.10 HCE 2.0 10.0.16 x86_64 Nginx HCE 2.0 1.12.2 HCE 2.0 1.13.1 HCE 2.0 1.16.1 HCE 2.0 1.18.0 HCE 2.0 1.20.1 HCE 2.0 1.20.2 HCE 2.0 1.21.5 HCE 2.0 1.22.0 HCE 2.0 1.22.1 HCE 2.0 1.23.0 HCE 2.0 1.23.1 HCE 2.0 1.23.2 HCE 2.0 1.23.3 HCE 2.0 1.24.0 HCE 2.0 1.25.0 x86_64 .net HCE 2.0 .net 5 for Linux HCE 2.0 .net 6 for Linux HCE 2.0 .net 7 for Linux HCE 2.0 .net 8 for Linux x86_64 Jetty HCE 2.0 9.4.15 HCE 2.0 9.4.16 HCE 2.0 9.4.31 HCE 2.0 9.4.40 x86_64 openjdk HCE 2.0 1.7.0 HCE 2.0 1.8.0 HCE 2.0 11 HCE 2.0 17 x86_64 Keepalived HCE 2.0 2.1.5 HCE 2.0 2.2.4 x86_64 Springboot HCE 2.0 1.5.19 HCE 2.0 2.0.3 HCE 2.0 2.2 HCE 2.0 2.3.9 x86_64 Kafka HCE 2.0 2.6.0 HCE 2.0 2.7.2 HCE 2.0 2.8.2 HCE 2.0 3.0.0 HCE 2.0 3.1.2 HCE 2.0 3.2.3 HCE 2.0 3.3.1 HCE 2.0 3.3.2 HCE 2.0 3.4.0 HCE 2.0 3.4.1 HCE 2.0 3.5.1 HCE 2.0 3.7.1 x86_64 RabbitMQ HCE 2.0 3.9.10 HCE 2.0 3.10.1 HCE 2.0 3.11.0 HCE 2.0 3.11.28 HCE 2.0 3.12.0 HCE 2.0 3.12.4 HCE 2.0 3.12.9 HCE 2.0 3.12.13 HCE 2.0 3.13.0 HCE 2.0 3.13.2 HCE 2.0 3.13.5 HCE 2.0 3.13.6 x86_64 Zookeeper HCE 2.0 3.5.5 HCE 2.0 3.5.7 HCE 2.0 3.5.9 HCE 2.0 3.5.10 HCE 2.0 3.6.1 HCE 2.0 3.6.2 HCE 2.0 3.6.4 HCE 2.0 3.7.0 HCE 2.0 3.7.2 HCE 2.0 3.8.0 HCE 2.0 3.8.4 HCE 2.0 3.9.0 HCE 2.0 3.9.2 x86_64 spring-cloud-gateway HCE 2.0 2.1.3 HCE 2.0 2.2 HCE 2.0 3.1.4 x86_64 ElasticSearch HCE 2.0 6.8.23 HCE 2.0 7.5.1 HCE 2.0 7.6 HCE 2.0 7.6.1 HCE 2.0 7.7.0 HCE 2.0 7.7.1 HCE 2.0 7.8 HCE 2.0 7.9.0 HCE 2.0 7.9.1 HCE 2.0 7.9.2 HCE 2.0 7.9.3 HCE 2.0 7.10.0 HCE 2.0 7.10.1 HCE 2.0 7.11.2 HCE 2.0 7.12.0 HCE 2.0 7.12.1 HCE 2.0 7.13.0 HCE 2.0 7.13.1 HCE 2.0 7.13.4 HCE 2.0 7.14.0 HCE 2.0 7.15.0 HCE 2.0 7.15.2 HCE 2.0 7.16.0 HCE 2.0 7.16.1 HCE 2.0 7.16.2 HCE 2.0 7.16.3 HCE 2.0 7.17.2 HCE 2.0 7.17.6 HCE 2.0 7.17.5 HCE 2.0 7.17.7 HCE 2.0 8.0.0 HCE 2.0 8.3.3 HCE 2.0 8.5.0 HCE 2.0 8.8.0 HCE 2.0 8.10.0 HCE 2.0 8.14.3 x86_64 apollo HCE 2.0 1.1.2 HCE 2.0 1.2.0 HCE 2.0 1.2.2 HCE 2.0 1.4.1 x86_64 Minio HCE 2.0 2023.01.31T02.24.19Z-91.1 HCE 2.0 RELEASE.2023-10-07T15-07-38Z HCE 2.0 RELEASE.2023-12-23T07-19-11Z HCE 2.0 RELEASE.2024-01-16T16-07-38Z HCE 2.0 RELEASE.2024-04-28T17-53-50Z HCE 2.0 RELEASE.2024-07-16T23-46-41Z x86_64 Kibana HCE 2.0 5.1.1 HCE 2.0 5.2.1 HCE 2.0 5.6.16 HCE 2.0 6.1.0 HCE 2.0 6.2.0 HCE 2.0 6.6.0 HCE 2.0 6.8.23 HCE 2.0 7.0.0 HCE 2.0 7.10.1 HCE 2.0 7.17.22 HCE 2.0 8.1.0 HCE 2.0 8.2.0 HCE 2.0 8.3.0 HCE 2.0 8.4.0 HCE 2.0 8.6.0 HCE 2.0 8.8.0 HCE 2.0 8.10.1 HCE 2.0 8.13.0 HCE 2.0 8.14.13 x86_64 Prometheus HCE 2.0 2.1.0 HCE 2.0 2.3.2 HCE 2.0 2.5.0 HCE 2.0 2.6.0 HCE 2.0 2.6.1 HCE 2.0 2.7.1 HCE 2.0 2.8.1 HCE 2.0 2.9.2 HCE 2.0 2.10.0 HCE 2.0 2.11.2 HCE 2.0 2.12.0 HCE 2.0 2.13.1 HCE 2.0 2.14.0 HCE 2.0 2.15.2 HCE 2.0 2.16.0 HCE 2.0 2.17.0 HCE 2.0 2.18.1 HCE 2.0 2.19.3 HCE 2.0 2.20.1 HCE 2.0 2.22.2 HCE 2.0 2.24.1 HCE 2.0 2.29.1 HCE 2.0 2.37.1 HCE 2.0 2.45.6 HCE 2.0 2.53.1 x86_64 rocketmq HCE 2.0 5.1.4 x86_64 Redis HCE 2.0 6.2.14 x86_64 MySQL HCE 2.0 5.7.39 HCE 2.0 8.0.28 HCE 2.0 8.0.29 HCE 2.0 8.0.35 HCE 2.0 8.0.37 x86_64 postgres HCE 2.0 15.7 x86_64 hadoop HCE 2.0 3.3.5 x86_64 hive HCE 2.0 3.1.3 x86_64 iceberg HCE 2.0 1.2.0 x86_64 spark HCE 2.0 3.3.2 x86_64 Flink HCE 2.0 1.16.2 x86_64 eureka HCE 2.0 3.2.0
-
产品功能 选择Linux kernel 5.10作为HCE的内核,为云上应用程序环境提供企业级高可靠性保障,并同步更新Linux社区的最新功能。 支持云原生调度增强、内存分级扩展,支持操作系统迁移、兼容性评估。 支持SM2等国密算法,等保2.0/CC EAL4+安全能力。 提供gcc 10.3、binutils 2.37、glibc 2.34编译器,增强稳定性并提高与其它软件的兼容性。 对Intel、AMD、Arm等平台进行功能适配、性能调优和稳定性加固,保证操作系统在各平台都能稳定可靠地长期运行。 兼容常见的开源软件,如apache、mysql、tomcat、nginx、flink等,帮助客户高效部署业务。
-
支持的实例规格 Huawei Cloud EulerOS支持部分弹性云服务器实例规格,请根据需要选择合适的实例规格。 不同区域支持的弹性云服务器实例规格存在差异,以控制台实际显示为准。对于控制台未显示的实例规格,表示该区域不支持此实例规格。 Huawei Cloud EulerOS 2.0镜像支持Flexus X实例、Flexus L实例 和弹性云服务器实例。 弹性云服务器支持的的实例规格如下表所示。 表1 支持的弹性云服务器实例规格 弹性云服务器实例类型 支持的规格族 通用计算型 s7/s6/x1 通用计算增强型 c7/c6s/c6/x1e 内存优化型 m7/m6 超大内存型 e6 磁盘增强型 d6/d7 Huawei Cloud EulerOS 1.1 支持实例规格如下所述。 表2 支持的弹性云服务器实例规格 弹性云服务器实例类型 支持的规格族 通用计算型 s6 通用计算增强型 c6s/c6 内存优化型 m6 磁盘增强型 d6
-
Huawei Cloud EulerOS镜像 发行版 镜像名称 镜像说明 Huawei Cloud EulerOS 2.0 Huawei Cloud EulerOS 2.0 标准版 64位 支持x86架构的默认标准镜像。 Huawei Cloud EulerOS 2.0 Huawei Cloud EulerOS 2.0 等保2.0三级版 64位 基于x86架构默认标准镜像进行等保加固的镜像版本,该镜像符合等保2.0三级安全保护的基本要求。详情请参见Huawei Cloud EulerOS 2.0等保2.0三级版镜像概述。 Huawei Cloud EulerOS 2.0 Huawei Cloud EulerOS 2.0 标准版 64位 Arm版 支持Arm架构的默认标准镜像。 Huawei Cloud EulerOS 2.0 Huawei Cloud EulerOS 2.0 等保2.0三级版 64位 Arm版 支持Arm架构的等保2.0三级版镜像。 Huawei Cloud EulerOS 1.1 Huawei Cloud EulerOS 1.1 CentOS兼容版 64位 支持x86架构的兼容CentOS 7.9镜像。 说明: 仅在新加坡区域发布。
-
方案优势 灵活高效:新一代木星工业自动化平台,开发效率和成本显著优化,灵活高效地接入不同厂家、不同类型、不同型号的设备OT及IT数据。 OT与IT原生融合:通过IoT Edge在边侧实现IT、OT数据采集和分析处理。基于华龙讯达工业自动化体系,实现在管理侧对OT和IT数据的全栈式融合应用 核心数据安全保障:核心关键数据不出企业,在工业云小站进行数据的处理和留存,消除客户安全顾虑。 多协议支持:工业网关21年行业经验积累,90%主流工业协议识别与解析能力,极大提升设备接入成功率。 跨终端支持:木星工业自动化平台构建的HMI等系统,可支持各类鸿蒙终端形式访问,如:工业大屏、工业平板、工业PDA、工控屏、办公电脑。
-
方案架构 业务架构 图1 业务架构图 基于华龙讯达自主研发的大型工业控制器(JIC PLC 8010)、工业操作系统(Hualong OS)为核心基础底座,充分融合华龙讯达在工业网关、数据采集、SCADA系统、低代码平台、时序数据库、数字孪生技术和HMI等多个关键技术领域的积累来建构工业自动化平台,平台采用分层的架构来建设,各层级各司其职且紧密协作,包括设备层、控制层、边缘层、平台层和应用层。 在设备层和控制层是各种工业设备,如传感器、执行器、控制器等,负责采集和执行物理世界的信息和指令。 边缘层部署边缘计算设备,如工业网关,对设备层的数据进行初步处理和过滤,减少数据传输到平台层的压力,通过人机交互界面实现对设备的实时控制和管理。 平台层是整个工业自动化平台的核心,包括数据采集及监控系统、低代码平台、时序数据库、数字孪生系统等组件,负责数据的集中存储、管理、分析和应用服务的提供。 应用层则是面向企业用户的各种应用程序,如生产管理系统、质量管理系统、设备维护系统等,通过与平台层的接口调用实现业务功能,同时支持与上游企业的 MES、ERP、SCM、PLM 等信息化系统无缝集成。 本次建设的工业自动化平台由工业控制器、工业操作系统、工业网关、数据采集、云化SCADA、数字孪生、时序数据库、低代码平台、人机交互九大核心组件构建。 部署架构图 图2 部署架构图 方案通过华为云基础设施,以及CCE、IoT DA等高阶云服务实现应用软件开发部署、生产数据接入和采集、生产工艺优化、设备控制程序优化等能力。 通过工业数据网关完成设备数据运行数据的采集与边缘计算。 通过IoT完成对设备数据的上通下达。 通过鸿蒙终端实现对人机交互应用的访问
-
约束与限制 硬件限制:在与不同厂家、不同型号的工业设备进行连接和协同工作时,可能会遇到兼容性问题。虽然华龙讯达的工业自动化平台能够识别和兼容 80% 比例的主流工业协议,但仍有部分小众或老旧设备的协议无法兼容,导致这些设备无法接入平台,影响整体自动化系统的完整性 软件限制:华龙讯达工业自动化软件可能对操作系统有一定的要求,如果企业的计算机使用的是较旧的操作系统版本,软件可能无法正常安装或运行。 用户技能要求: 熟悉电脑常规操作 具备Javascript基本编程能力 熟悉数据数据库数据应用 熟悉API接口使用
-
应用场景 客户痛点: 在我国推进新型工业化进程中,制造业急需推动产业升级,面临着自动化和信息化的双重任务,自动化作为信息化实现的底层基础显得尤为迫切。 工艺流程难调整:调整周期长,缺少快速验证手段,风险大; 应用创新慢:项目型建设,周期长,投资大,见效慢。 通过本方案实现的业务效果: 工业自动化系统易维护,灵活适应不同生产场景; 高安全,核心数据不出企业,保障企业数据资产安全; 灵活高效适配不同设备和数据,打通工厂数据烟囱; 开发效率和成本显著优化;
-
资源和成本规划 表1 资源和成本规划 资源名称 详细配置 每月费用(元) 数采管理服务器 规格: X86计算 | 通用计算型 | c1.2xlarge | 8核 | 8GB 数量:1台 492 SCADA服务器 规格: CCE容器集群 | Standard/Turbo | 200节点 | 3实例(高可用) 2398 SCADA服务器节点 规格类型: 通用计算增强型 节点规格: c7t.4xlarge.2 | 16vCPUs | 32GB 数量:3台 65592 低代码服务器 规格: X86计算 | 通用计算增强型 | c3.4xlarge.2 | 16核 | 32GB 数量:2台 2484 时序数据库服务器 规格: X86计算 | 通用计算增强型 | c3.2xlarge.2 | 8核 | 16GB 数量:3台 4009.8 数字孪生服务器 规格: X86计算 | 通用计算型 | c1.2xlarge |16核 | 32GB 数量:2台 3184 云备份 存储库类型: 云服务器备份存储库 | 1000GB 200 企业主机安全 规格: 企业版 数量:11个(跟E CS 的个数一致) 990 云堡垒机 实例类型: 单机 性能规格: 10资产标准版 700 Anti-DDoS流量清洗 Anti-DDoS流量清洗 6860 分布式缓存服务Redis 产品类型: 基础版 | 6.0 | 主备 | X86 | D RAM | 2 | 32 GB 3345.6 云数据库 RDS(for MySQL) 规格: 通用可用区 | MySQL | 8.0 | 主备 | 通用型 | 16核32GB 存储空间: SSD云盘 | 500GB 2800 云数据库GeminiDB Mongo 性能规格: MongoDB | 副本集 | 4.0 | x86 | 8核16GB | 3 个 存储空间: 超高IO | 500GB 7010 分布式消息服务 RabbitMQ版 规格: 集群 | 8u16g.cluster | 代理个数:3 单个代理存储空间: 超高IO | 200GB ( 总存储空间: 600GB ) 2490 弹性公网IP 带宽费用: 独享 | 全动态BGP | 按带宽计费 | 5Mbit/s 弹性公网IP费用: 1个 数量:5 115 弹性负载均衡 实例类型: 共享型负载均衡(性能保障模式) IP费用: 1个 | 全动态BGP 带宽: 全动态BGP | 带宽 | 1Mbit/s 150 分布式消息服务 规格: 集群 | 16u32g.cluster | 代理个数:3 单个代理存储空间: 超高IO | 500GB ( 总存储空间:1.5TB ) 15000
-
入门实践 您可以根据自身业务需求使用ServiceStage提供的一系列常用实践,以帮助您更好地理解和使用ServiceStage。 表1 常用最佳实践 实践 描述 使用ServiceStage托管微服务应用 基于ServiceComb(SpringMVC)框架,快速创建微服务应用,供您体验ServiceStage的功能。 开启微服务引擎专享版安全认证 微服务引擎专享版支持基于RBAC(Role-Based Access Control,基于角色的访问控制)策略的安全认证,并支持开启/关闭安全认证。引擎开启了安全认证之后,要求所有连接该引擎的微服务都要配置安全认证账号和密码。否则,微服务将注册失败,导致业务受损。 本实践介绍未开启安全认证的微服务引擎专享版,开启安全认证并确保已接入引擎的微服务组件业务不受影响,即如何平滑开启安全认证。 微服务引擎仪表盘中的数据通过ServiceStage对接到 AOM 部署到微服务引擎的Java Chassis应用,在微服务引擎仪表盘上的实时监控数据默认保留5分钟。如果需要持久化存储历史监控数据用于后续查询分析,可以使用ServiceStage的自定义指标监控功能,将微服务显示到微服务引擎仪表盘中的数据对接到AOM。 本实践以软件包部署应用为例,指导您完成将微服务引擎仪表盘中的数据通过ServiceStage对接到AOM。 使用ServiceStage零代码修改实现微服务注册引擎迁移 本实践指导您将使用Java Chassis微服务框架开发并注册在ServiceStage微服务引擎专业版上的微服务应用组件,零代码修改迁移注册到微服务引擎专享版。
-
访问应用 单击“应用管理”,进入应用列表。 单击创建应用时创建的应用名称(例如:servicecomb),进入“应用概览”页。 在“组件列表”区域,单击创建并部署组件时创建的组件名称(例如:java-test),进入组件“概览”页。 单击“访问方式”。 单击“TCP/UDP路由配置”区域的“添加服务”,参考下表设置参数。 参数 参数说明 服务名称 使用默认。 访问方式 选择“公网访问”。 访问类型 选择“弹性IP”。 服务亲和 保持默认。 端口映射 协议:选择“TCP”。 容器端口:输入8080。 访问端口:选择“自动生成”。 图17 添加访问方式 单击“确定”,生成访问地址。 图18 生成访问地址 单击图18所示“访问地址”列下的访问地址,访问应用。 返回如下结果: {"message":"Not Found"} 在浏览器地址栏输入http://6生成的访问地址/rest/helloworld?name=ServiceStage,再次访问应用。 可以返回如下结果: "ServiceStage"
-
概述 测试计划(CodeArts TestPlan)是面向软件开发者提供的一站式云端测试平台,覆盖测试管理、接口测试,融入DevOps敏捷测试理念,帮助您高效管理测试活动,保障产品高质量交付。您可以使用本文档提供的API对测试计划进行相关操作,如创建、删除测试用例等。支持的全部操作请参见API概览。 在调用测试计划的API之前,请确保已经充分了解测试计划的相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
-
基本概念 账号 用户注册云平台时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用它们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。 Region分为通用Region和专属Region: 通用Region指面向公共租户提供通用云服务的Region。 专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 用户在项目管理中创建的项目,根据模板创建项目,根据您选择的项目模板,还包含有预置的工作项、代码或资源等。通过管理项目IAM用户(即“团队成员”)所需的权限。将IAM用户作为团队成员添加到项目,给每个团队成员分配角色并赋予项目及其资源的操作权限。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
-
终端节点 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 测试计划的终端节点如下表所示,请您根据业务需要选择对应区域的终端节点。 区 域名 称 区域 终端节点 华北-北京四 cn-north-4 cloudtest-ext.cn-north-4.myhuaweicloud.com 华北-北京一 cn-north-1 cloudtest-ext.cn-north-1.myhuaweicloud.com 华东-上海二 cn-east-2 cloudtest-ext.cn-east-2.myhuaweicloud.com 华东-上海一 cn-east-3 cloudtest-ext.cn-east-3.myhuaweicloud.com 华南-广州 cn-south-1 cloudtest-ext.cn-south-1.myhuaweicloud.com 父主题: 使用前必读
-
调用API获取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点,可以从终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中“projects”下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
-
响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "xx-xxxxxx-1",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
-
AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
-
Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如,Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projectsContent-Type: application/jsonX-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
-
请求URI 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 请求URI由四部分构成:{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}。 各参数含义如下: 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。 例如,IAM服务在华北-北京一区域的Endpoint为iam.cn-north-1.myhuaweicloud.com。 resource-path 资源路径,即API访问路径,从具体API的URI模块获取。例如,获取用户Token接口的resource-path为/v3/auth/tokens。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个?,形式为参数名=参数取值。例如,limit=10表示查询不超过10条数据。 例如:如果需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示: https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
-
请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。详情如下: 请求方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 在获取用户Token的URI部分,若请求方法为POST,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
-
请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如,定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中: 名称 描述 是否必选 备注 Content-Type 消息体的类型(格式) 是 默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token 用户Token 否 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 X-Project-ID 子项目ID 否 在多项目场景中使用 X-Domain-ID 账号ID - - 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参考AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
-
请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxx为project的ID,获取方法请参见获取项目ID。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { id": "xxxxxxxx" } } }} 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
-
名人识别示例 本章节对名人识别AK/SK方式使用SDK进行示例说明。 名人识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化CelebrityRecognitionReq中的Image或Url配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。 名人识别调用示例代码如下: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041 package mainimport ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" image "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/region")func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := image.NewImageClient( image.ImageClientBuilder(). WithRegion(region.ValueOf("cn-north-1")). //此处替换为您开通服务的区域,详情请查看地区和终端节点. WithCredential(auth). Build()) request := &model.RunCelebrityRecognitionRequest{} thresholdCelebrityRecognitionReq:= float32(0.48) urlCelebrityRecognitionReq:= "https://XXX.jpg" //此处替换为公网可以访问的图片地址 request.Body = &model.CelebrityRecognitionReq{ Threshold: &thresholdCelebrityRecognitionReq, Url: &urlCelebrityRecognitionReq, } response, err := client.RunCelebrityRecognition(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }} 识别结果输出到控制台表示执行成功。相关参数说明请参考名人识别API。 12 RunCelebrityRecognitionResponse {"result":[{"confidence":0.9990679,"face_detail":{"h":510,"w":357,"x":260,"y":201},"label":"迈克尔·杰克逊"}]}Process exiting with code: 0 父主题: 使用SDK(GO)
-
图像识别概述 图像识别(Image Recognition),是指利用计算机对图像进行分析和理解,以识别各种不同模式的目标和对象的技术,包括媒资图像标签,名人识别,主体识别,翻拍识别,图像标签等。 图像识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。
-
主体识别示例 本章节对主体识别AK/SK方式使用SDK进行示例说明。 主体识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化ImageMainObjectDetectionReq中的Image或Url配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。 主体识别调用示例代码如下: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" image "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/region") func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := image.NewImageClient( image.ImageClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). //此处替换为您开通服务的区域,详情请查看地区和终端节点. WithCredential(auth). Build()) request := &model.RunImageMainObjectDetectionRequest{} thresholdImageMainObjectDetectionReq:= float32(30) urlImageMainObjectDetectionReq:= "https://XXX.jpg" //此处替换为公网可以访问的图片地址 request.Body = &model.ImageMainObjectDetectionReq{ Threshold: &thresholdImageMainObjectDetectionReq, Url: &urlImageMainObjectDetectionReq, } response, err := client.RunImageMainObjectDetection(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }} 识别结果输出到控制台表示执行成功。相关参数说明请参考主体识别API。 1 RunImageMainObjectDetectionResponse {"result":[{"label":"bounding_box","location":{"height":327.77,"top_left_x":3.7,"top_left_y":1.72,"width":463.03},"confidence":"95.73"},{"label":"main_object_box","location":{"height":328.35,"top_left_x":3.22,"top_left_y":1.5,"width":456.63},"confidence":"88.35"}]} 父主题: 使用SDK(GO)
-
主体识别示例 本章节对主体识别AK/SK方式使用SDK进行示例说明。 主体识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化ImageMainObjectDetectionReq中的url或image配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。 主体识别调用示例代码如下: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132 # coding: utf-8from huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkimage.v2.region.image_region import ImageRegionfrom huaweicloudsdkcore.exceptions import exceptionsfrom huaweicloudsdkimage.v2 import * if __name__ == "__main__": # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak = os.getenv("HUAWEICLOUD_SDK_AK") sk = os.getenv("HUAWEICLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = ImageClient.new_builder() \ .with_credentials(credentials) \ .with_region(ImageRegion.value_of("cn-north-4")) \ //此处替换为您开通服务的区域,详情请查看地区和终端节点. .build() try: request = RunImageMainObjectDetectionRequest() request.body = ImageMainObjectDetectionReq( threshold=30, url="https://XXX.jpg" //替换为公网可以访问的图片地址 ) response = client.run_image_main_object_detection(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 执行示例代码文件,控制台输出主体识别结果即表示程序执行成功。相关参数说明请参考主体识别API。 12345678 {"result": [{"label": "bounding_box", "location": {"height": 327.77, "top_left_x": 3.7, "top_left_y": 1.72, "width": 463.03}, "confidence": "95.73"}, {"label": "main_object_box", "location": {"height": 328.35, "top_left_x": 3.22, "top_left_y": 1.5, "width": 456.63}, "confidence": "88.35"}]} 父主题: 使用SDK(Python)
-
翻拍识别示例 本章节对翻拍识别AK/SK方式使用SDK进行示例说明。 翻拍识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用RunRecaptureDetectReq中的withUrl或withImage方法配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点 。 翻拍识别调用示例代码如下: package com.huaweicloud.sdk.test;import com.huaweicloud.sdk.core.auth.ICredential;import com.huaweicloud.sdk.core.auth.BasicCredentials;import com.huaweicloud.sdk.core.exception.ConnectionException;import com.huaweicloud.sdk.core.exception.RequestTimeoutException;import com.huaweicloud.sdk.core.exception.ServiceResponseException;import com.huaweicloud.sdk.image.v2.region.ImageRegion;import com.huaweicloud.sdk.image.v2.*;import com.huaweicloud.sdk.image.v2.model.*;public class RunRecaptureDetectSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); ImageClient client = ImageClient.newBuilder() .withCredential(auth) .withRegion(ImageRegion.valueOf("cn-north-4")) //此处替换为您开通服务的区域,详情请查看地区和终端节点. .build(); RunRecaptureDetectRequest request = new RunRecaptureDetectRequest(); RecaptureDetectReq body = new RecaptureDetectReq(); body.withThreshold(0f); body.withUrl("https://bucketname.obs.cn-north-4.myhuaweicloud.com/image/test1.jpg"); //替换为公网可以访问的图片地址 request.withBody(body); try { RunRecaptureDetectResponse response = client.runRecaptureDetect(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } }} 执行示例代码文件,控制台输出翻拍识别结果即表示程序执行成功。 class RunRecaptureDetectResponse { result: class RecaptureDetectResponseResult { suggestion: false category: recapture score: 0.9998 detail: [class RecaptureDetectResponseResultDetail { label: recapture confidence: 0.9998 }] }} 父主题: 使用SDK(Java)
-
翻拍识别示例 本章节对翻拍识别AK/SK方式使用SDK进行示例说明。 翻拍识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化RunRecaptureDetectReq中的Image或Url配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。 翻拍识别调用示例代码如下: package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" image "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/region") func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := image.NewImageClient( image.ImageClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). //此处替换为您开通服务的区域,详情请查看地区和终端节点. WithCredential(auth). Build()) request := &model.RunRecaptureDetectRequest{} thresholdRecaptureDetectReq:= float32(0) urlRecaptureDetectReq:= "https://bucketname.obs.cn-north-4.myhuaweicloud.com/image/test1.jpg"//替换为公网可以访问的图片地址 request.Body = &model.RecaptureDetectReq{ Threshold: &thresholdRecaptureDetectReq, Url: &urlRecaptureDetectReq, } response, err := client.RunRecaptureDetect(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }} 识别结果输出到控制台表示执行成功。 {"result":{"suggestion":"false","category":"recapture","score":"0.9998","detail":[{"label":"recapture","confidence":"0.9998"}]}} 父主题: 使用SDK(GO)
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- ...
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333