华为云用户手册
-
URI GET /v2/{project_id}/msgsms/apps 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,参考“获取帐号、用户、项目的名称和ID” 表2 Query参数 参数 是否必选 参数类型 描述 app_name 否 String 应用名称 end_time 否 String 结束时间 limit 否 Integer 数量,默认值10 offset 否 Integer 偏移量 region 否 String 地域 cn:国内 intl:国际 sort_dir 否 String 排序方式 desc:降序 asc:升序 sort_key 否 String 排序字段,仅支持create_time start_time 否 String 开始时间 status 否 String 状态
-
安装SDK 执行如下命令安装华为云Python SDK核心库以及相关服务库。 使用SDK前,您需要安装“huaweicloudsdkcore”和“huaweicloudsdkmsgsms”,具体的SDK版本号请参见SDK开发中心。 使用pip安装 执行如下命令安装华为云Python SDK核心库以及相关服务库: # 安装核心库 pip install huaweicloudsdkcore # 安装MSG SMS 服务库 pip install huaweicloudsdkmsgsms 使用源码安装 执行如下命令安装华为云Python SDK核心库以及相关服务库: # 安装核心库 cd huaweicloudsdkcore-${version} python setup.py install # 安装MSGSMS服务库 cd huaweicloudsdkmsgsms-${version} python setup.py install
-
代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Python SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkmsgsms.v2.region.msgsms_region import MsgsmsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkmsgsms.v2 import * if __name__ == "__main__": # 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 # 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] # 创建认证 # 创建BasicCredentials实例并初始化 credentials = BasicCredentials(ak, sk) client = MsgsmsClient.new_builder() \ .with_credentials(credentials) \ .with_region(MsgsmsRegion.value_of("cn-north-4")) \ .build() try: # 实例化请求对象 request = CreateAppRequest() request.body = SmsAppAddReq( ) # 调用创建短信应用接口 response = client.create_app(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 MsgsmsRegion.valueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码msgsms_region.py中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区 域名 称。 项目源码及更多详细的使用指导请参考华为云Python软件开发工具包(Python SDK)。 推荐您使用API在线调试工具 API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
-
代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Java SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 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.msgsms.v2.region.MsgsmsRegion; import com.huaweicloud.sdk.msgsms.v2.*; import com.huaweicloud.sdk.msgsms.v2.model.*; public class CreateAppSolution { public static void main(String[] args) { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); // 创建认证 ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); // 创建MsgsmsClient实例并初始化 MsgsmsClient client = MsgsmsClient.newBuilder() .withCredential(auth) .withRegion(MsgsmsRegion.valueOf("cn-north-4")) .build(); // 实例化请求对象 CreateAppRequest request = new CreateAppRequest(); SmsAppAddReq body = new SmsAppAddReq(); request.withBody(body); try { // 调用创建短信应用接口 CreateAppResponse response = client.createApp(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()); } } } 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 MsgsmsRegion.valueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码MsgsmsRegion.java中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区域名称。 项目源码及更多详细的使用指导请参考华为云Java软件开发工具包(Java SDK)。 推荐您使用API在线调试工具API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
-
代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Go SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" msgsms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2/region" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") // 创建认证 auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() // 创建MsgsmsClient实例并初始化 client := msgsms.NewMsgsmsClient( msgsms.MsgsmsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) // 实例化请求对象 request := &model.CreateAppRequest{} request.Body = &model.SmsAppAddReq{ } // 调用创建短信应用接口 response, err := client.CreateApp(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 region.ValueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码region.go中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区域名称。 项目源码及更多详细的使用指导请参考华为云Go软件开发工具包(Go SDK)。 推荐您使用API在线调试工具API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
-
开发前准备 已 注册华为账号 并开通华为云,完成企业实名认证。 已开通华为云MSGSMS服务。 已具备Java开发环境 ,支持Java JDK 1.8及以上版本。 已获取应用的Application Key(app_key)和Application Secret(app_secret)。 请在华为云控制台“应用管理”页面上创建和查看您的Application Key和Application Secret。具体请参见应用管理。 已获取您要发送短信的通道号。 由于通道号与签名关联,请在华为云控制台“签名管理”页面上查看您的通道号,如果您还没有通道号,则您需要先提交签名申请,待签名申请通过后,系统会分配通道号。具体请参见签名管理。 已获取您要发送短信的模板ID。 请在华为云控制台“模板管理”页面上创建和查看您的模板ID。具体请参见模板管理。
-
运行结果 发送短信(BatchSendSms) ```json class BatchSendSmsResponse { code: 000000 description: Success result: [class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3774 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3434030 status: 000000 countryId: CN total: 1 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3776 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3434031 status: 000000 countryId: CN total: 1 }] } ``` 发送分批短信(BatchSendDiffSms) ```json class BatchSendDiffSmsResponse { code: 000000 description: Success result: [class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3774 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435044 status: 000000 countryId: CN total: 0 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3775 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435045 status: 000000 countryId: CN total: 0 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3777 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435046 status: 000000 countryId: CN total: 1 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3778 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435047 status: 000000 countryId: CN total: 1 }] } ```
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的IP和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
实例化 表1 实例化参数 参数名 参数类型 是否必选 参数描述 base_url str False 模型网关开放的ip和端口,有默认值可以不填。功能类似OpenAI的base_url。 custom_hearders dict False 其他自定义请求头信息。 http_client httpx.client False 自定义的httpx client。 kwargs - False 其他可选参数,如api_key、timeout等。
-
运维中心SDK类型介绍 运维中心为开发者提供访问凭证管理服务(Access Credential Management Service,简称ACMS)、服务发现(NUWA Cloud Map,简称Cloud Map)、负载均衡(Software/Server Load Balancer,简称SLB)和数据库治理(WiseDBA)的SDK,方便开发者将运维中心的能力快速集成到自己的应用中。 表1 SDK列表 SDK分类 说明 编程语言 下载地址 参考文档 ACMS的SDK:STS SDK STS SDK(Security Token Service,简称STS)服务软件开发工具包是对访问凭据管理服务(ACMS)提供的REST API进行的封装,以简化用户的开发工作。用户直接调用SecurityTokenService SDK提供的接口函数即可实现使用ACMS业务能力的目的。 使用STS SDK即可使用运维中心ACMS的敏感配置项托管和微服务之间请求认证功能。 Java nuwa-open-sdk-1.1.0-20240204093135.zip 完整性校验nuwa-open-sdk-1.1.0-20240204093135.zip.sha256 下载包nuwa-open-sdk-1.1.0-20240204093135.zip中的文件介绍请参见表2。 STS SDK Cloud Map的SDK:Cloud Map SDK Cloud Map SDK服务软件开发工具包是对服务发现(Cloud Map)服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用Cloud Map SDK提供的接口函数即可实现使用Cloud Map服务业务能力的目的。 Java Cloud Map SDK SLB的SDK:Gray SDK Gray SDK负责业务的负载均衡,Nginx组件通过反向代理实现了业务的负载均衡,通过丰富的扩展功能,可以对HTTP消息定制丰富的控制策略。 使用Gray SDK即可使用运维中心负载均衡(SLB)的灰度管理功能。 Java Gray SDK WiseDBA的SDK:Rainbow SDK Rainbow SDK构建云原生DevOps全流程可信build-in的数据库治理解决方案。使用Rainbow SDK即可使用运维中心的数据库治理(WiseDBA)功能。 提供MySQL/Cassandra/ GaussDB /DRDS全流程设计、开发、发布、运维(管理、治理、诊断)方案。 可信build-in:过程可信,结果可信,接入安全(无人工接入密码),操作(资源高危操作)安全。 Java Rainbow SDK 表2 SDK jar包介绍 文件夹 SDK分类 对应的jar包 nuwa-cse-sdk:适用于基于NUWA框架且不使用spring boot的项目 STS SDK sts-key-sdk-1.1.17.109.jar sts-sdk-base-1.1.17.109.jar cloudsoa-security-1.1.13.100.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.1.5.100.jar Rainbow SDK rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.1.5.100.jar nuwa-core-3.1.5.100.jar nuwa-cse-foundation-3.1.5.100.jar nuwa-share-libs-3.1.5.100.jar nuwa-tenant-sdk-3.1.5.100.jar spring-cloud-sdk:适用于基于Spring Cloud框架的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-1.0.12.100.jar spring-cloud-starter-cloudmap-discovery-1.0.12.100.jar Gray SDK 不支持 Rainbow SDK gpaas-jetcd-api-2.0.0.106.jar gpaas-jetcd-v2-2.0.0.106.jar gpaas-middleware-common-2.2.6.100.jar nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-api-1.2.18.201.jar rainbow-core-1.2.18.201.jar rainbow-core-drds-1.2.18.201.jar rainbow-core-gaussdb-1.2.18.201.jar rainbow-proxy-1.2.18.201.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar spring-cse-sdk:适用于基于NUWA框架且使用spring boot的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-3.2.2.100.jar nuwa-gpaas-cloudmap-3.2.2.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.2.2.100.jar nuwa-graysdk-spring-boot-starter-3.2.2.100.jar Rainbow SDK nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar nuwa-cse-foundation-3.2.2.100.jar nuwa-cse-foundation-spring-boot-starter-3.2.2.100.jar nuwa-tenant-sdk-3.2.2.100.jar tools:configparser为自定义参数解析工具,通过NUWA部署时,解析参数模板,将模板中的参数变量,替换为实际的配置项值,具体使用方式请参见使用configparser工具优化代码。 -
-
AI原生应用引擎SDK介绍 AI原生应用引擎面向开发者提供了一套搭建原生应用的Python SDK,包含了模型调用,知识获取,工具调用等功能。开发者可以使用SDK调用AI原生应用引擎的各种能力,快速构建大模型应用。 AI原生应用引擎SDK获取地址:wiseagent-dev-sdk-python。您也可以参考下载SDK获取AI原生应用引擎SDK并进行完整性校验。 AI原生应用引擎SDK参考文档:AI原生应用引擎SDK API。
-
接口调用 PromptTemplate.from_template 初始化提示语模板,支持两种占位符格式以及部分变量值的预先填入。 参数说明 表2 参数说明 参数名称 参数类型 是否必选 参数描述 template str True 提示语模板。 template_format str False 提示语模板格式,支持f-string、jinja2两种。默认f-string。 partial_variable dict False 格式化模板的部分变量。 返回值:PromptTemplate object
-
类属性 表1 类属性 参数名 参数类型 是否必选 参数描述 input_variables List[str] True 提示语模板所需的变量名称列表 template str True 提示语模板 template_format str True 提示语模板格式,支持f-string、jinja2两种。默认f-string partial_variable dict False 格式化模板的部分变量 validate_template bool False 是否尝试验证模板
-
操作步骤 申请注册Huawei ID账号(已有华为ID账号跳过此步)。 注册链接:华为云,打开后单击“注册”,填写完整信息。 图1 注册HuaweiID账号 访问OrgID服务,创建OrgID组织。 单击“创建组织”,填写组织信息。 单击“进入控制台”,进入控制台。 在OrgID管理中心创建自身对接Demo应用信息。 进入控制台单击刚创建好的组织即可进入业务侧管理中心,或直接访问管理中心。 选择“应用管理”,单击右上角的“添加自建应用”。 图2 添加自建应用 填写应用信息,上传应用图标,选择Oauth协议。 图3 添加自建应用 配置Demo应用信息。 表1 应用配置参数说明 参数 说明 首页URL Oauth登录交互流程的回调地址。 管理员登录URL 如果Demo应用区分管理员角色,且登录后为管理后台,可自行配置。 退出地址 OrgID退出登录时,通知应用的回调接口。 Token有效期 OrgID侧会话最长时间,默认两小时。 图4 应用参数配置 授权登录用户。 在应用管理页面选择“授权管理”,单击“授权设置”。 图5 授权设置 自行选择授权范围。 图6 选择授权范围 查看创建好的Demo应用配置密钥。 在应用管理页面,选择“通用配置”,复制接口认证凭证。 接口认证凭证为OrgID侧生成的应用密钥,请开发者妥善保管。 图7 查看应用密钥 修改Demo工程的应用配置信息。 将application.yml.tmpl中的clientSecret配置为创建好的应用凭证信息,同时将login.html中的按钮登录链接改为已创建好的应用的登录链接,链接地址如图8所示。 图8 查看应用的登录链接 修改完成后,启动工程,访问首页登录地址。 通过“域名+端口号+/login”访问首页地址,单击“登录”跳转OrgID登录页,输入账号后,可成功跳转登录后的首页地址。
-
响应示例 { "server_group": { "id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", "name": "test", "policies": ["anti-affinity"], "members": [], "metadata": {} } }
-
响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 server_group Object 弹性云服务器组信息,参考表3 server_group参数信息。 表3 server_group参数信息 参数 参数类型 描述 id String 弹性云服务器组UUID。 name String 弹性云服务器组名称。 policies Array of strings 弹性云服务器组类型。 members Array of strings 弹性云服务器组中包含的弹性云服务器的ID列表。 metadata Object 弹性云服务器组元数据。
-
响应示例 响应示例请参见 响应(批量操作类)所示。 { "response": [ { "id": "616fb98f-46ca-475e-917e-2563e5a8cd19" }, { "id": "516fb98f-46ca-475e-917e-2563e5a8cd12" } ] }
-
请求消息 请求参数如表2所示。 表2 请求参数 参数 参数类型 是否必选 描述 name String 是 弹性云服务器修改后的名称。 规则如下: 只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[1-128]个英文字符或[1-64]个中文字符。 批量修改弹性云服务器名称时,名不会自动按序增加数字尾缀。例如: 三个E CS 的名称为test_0001,test_0002,test_0003,批量修改弹性云服务器名称为develop,则修改后3个弹性云服务器名称为develop,develop,develop。 dry_run Boolean 否 是否只预检此次请求。 true:发送检查请求,不会修改云服务器名称。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回正常响应信息。 响应结构请参见 7.5.1 响应 所示。 false:发送正常请求,通过检查后并且执行修改云服务器名称的请求。 默认值:false servers Array of objects 是 待修改的弹性云服务器ID信息,详情请参见 表3。 表3 servers字段数据结构说明 参数 参数类型 是否必选 描述 id String 是 弹性云服务器ID。
-
请求示例 批量修改ID为“260a0917-f7df-4b25-93ac-950da6c6b5d6”和“f6d8df1a-e257-48e2-b617-1dd92ced8c20”的云服务器的名称为“new-server-name”。 PUT https://{endpoint}/v1/{project_id}/cloudservers/server-name { "name": "new-server-name", "dry_run": false, "servers": [ { "id":"260a0917-f7df-4b25-93ac-950da6c6b5d6" }, { "id":"f6d8df1a-e257-48e2-b617-1dd92ced8c20" } ] }
-
操作步骤 创建网卡。 创建网络。 接口相关信息 URI格式:POST /v1/{project_id}/vpcs 详情请参见创建网络。 请求示例 POST https://{Endpoint}/v1/{project_id}/vpcs {endpoint}信息请从地区和终端节点获取。 Body: { "vpc": { "name": "vpc", "description": "test", "cidr": "192.168.0.0/16" } } 响应示例 { "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "CREATING", "routes": [] } } 记录响应中“vpc”的ID。 创建子网。 接口相关信息 URI格式:POST /v2.0/subnets 详情请参见创建子网。 请求示例 POST https://{endpoint}/v2.0/subnets {endpoint}信息请从地区和终端节点获取。 Body: { "subnet": { "name": "testsubnet", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1", "cidr": "10.0.10.0/24" } } 响应示例 { "subnet": { "name": "testsubnet", "cidr": "10.0.10.0/24", "id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1" } } 记录响应中“subnet”的ID。 创建端口。 接口相关信息 URI格式:POST /v2.0/ports 详情请参见创建端口。 请求示例 POST https://{endpoint}/v2.0/ports {endpoint}信息请从地区和终端节点获取。 Body: { "port": { "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } ], "name": "test", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27" } } 响应示例 { "port": { "id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "name": "test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "mac_address": "fa:16:3e:db:91:f6", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "device_id": "", "device_owner": "", "security_groups": [ "93031677-2895-4b83-855a-637e309aa9e6" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {} } } 记录响应中“port”的ID。 挂载网卡。 接口相关信息 URI格式:POST /v1/{project_id}/cloudservers/{server_id}/nics 详情请参见“批量添加云服务器网卡”。 请求示例 POST https://{endpoint}/v1/74610f3a5ad941998e91f076297ecf27/cloudservers/9f4d9281-95e7-4915-a126-1ee597101e2e/nics {endpoint}信息请从地区和终端节点获取。 Body: { "nics": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } ] } 响应示例 { "job_id": "ff80808288d41e1b018990260955686a" } 确认挂载结果。 接口相关信息 URI格式:GET /v1/{project_id}/cloudservers/{server_id}/os-interface 详情请参见查询云服务器网卡信息。 请求示例 GET https://{endpoint}/v1/74610f3a5ad941998e91f076297ecf27/cloudservers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-interface {endpoint}信息请从地区和终端节点获取。 响应示例 { "interfaceAttachments": [ { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "46712fe4-25bd-4eae-874b-a528abfb76be", "ip_address": "192.168.0.50" } ], "net_id": "17251a8f-a671-4d7c-85d9-af5415962994", "port_id": "dd706739-b696-40be-a9f4-477ce478cb18", "mac_addr": "fa:16:3e:a5:e0:3c" }, { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "net_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "mac_addr": "fa:16:3e:db:91:f6" } ] }
-
API风格说明 当前ECS服务对外开放两类风格的API: ECS服务自定义规范的API(以下简称ECS API) 顺从OpenStack社区标准原生规范的API 两种风格不同,功能相近。OpenStack风格API主要用于满足您在开源生态工具方面的对接需求,在某些功能上ECS API在OpenStack社区的API基础上,做了功能增强。为了更好地使用OpenStack风格API,建议您提前了解OpenStack相关概念与知识。
-
微版本号介绍 微版本说明:标识API中小的改动。当接口URI使用v2.1版本的时候,用户可以指定微版本号使用相应API的新功能。使用查询API版本信息列表(废弃),可以查询当前支持的主版本和支持的最大与最小的微版本。 微版本的使用说明:用户想要使用微版本特性,需要在请求Openstack接口时,在请求头中加入微版本头:X-OpenStack-Nova-API-Version或者Openstack-API-Version,例如使用微版本2.26需要在https的请求头中加入: X-OpenStack-Nova-API-Version: 2.26或Openstack-API-Version: compute 2.26 当用户使用v2.1接口不传入微版本头时,默认使用的微版本Openstack-API-Version: compute 2.1(X-OpenStack-Nova-API-Version: 2.1)。
-
微版本请求样例 假设使用弹性云服务器详情信息列表API接口查询"OS-EXT-SRV-ATTR:hostname"字段。 使用v2接口,不加微版本号 GET: https://{Endpoint}/v2/74610f3a5ad941998e91f076297ecf27/servers/detail 其中{Endpoint}为 IAM 的终端节点,请参考终端节点获取。 Headers: Content-Type application/json X-Auth-Token ${token} 响应消息体: { "servers": [ { "tenant_id": "74610f3a5ad941998e91f076297ecf27", "addresses": { "05d4fb93-84e5-4964-853b-32992ffef627": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "fixed", "addr": "192.168.0.228", "version": 4 }, { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "floating", "addr": "192.168.51.61", "version": 4 } ] }, "metadata": {}, "OS-EXT-STS:task_state": null, "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone":"az1-dc1", "links": [ { "rel": "self", "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" }, { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" } ], "OS-EXT-STS:power_state": 1, "id": "89c312bb-285a-4026-a237-d441908c2f9e", "os-extended-volumes:volumes_attached": [ { "id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf" } ], "OS-EXT-SRV-ATTR:host": "pod05.test.01", "image": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000" } ], "id": "1189efbf-d48b-46ad-a823-94b942e2a000" }, "OS-SRV-USG:terminated_at": null, "accessIPv4": "", "accessIPv6": "", "created": "2018-05-11T03:21:56Z", "hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7", "key_name": "id_rsa", "flavor": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1" } ], "id": "s3.small.1" }, "security_groups": [ { "name": "default" } ], "config_drive": "", "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-0016c624", "user_id": "f79791beca3c48159ac2553fff22e166", "name": "zt-test", "progress": 0, "OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600", "updated": "2018-05-11T03:22:51Z", "status": "ACTIVE" } ] } 结论:响应消息体中没有"OS-EXT-SRV-ATTR:hostname"字段。 使用v2.1接口,加微版本号 GET: https://{Endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/detail 其中{Endpoint}为IAM的终端节点,请参考终端节点获取。 Headers: Content-Type application/json X-Auth-Token ${token} X-OpenStack-Nova-API-Version 2.26 响应消息体: { "servers": [ { "tenant_id": "74610f3a5ad941998e91f076297ecf27", "addresses": { "05d4fb93-84e5-4964-853b-32992ffef627": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "fixed", "addr": "192.168.0.228", "version": 4 }, { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95", "OS-EXT-IPS:type": "floating", "addr": "192.168.51.61", "version": 4 } ] }, "metadata": {}, "OS-EXT-STS:task_state": null, "description": "zt-test", "OS-EXT-SRV-ATTR:hostname": "zt-test", "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone":"az-test-01", "links": [ { "rel": "self", "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" }, { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e" } ], "OS-EXT-STS:power_state": 1, "id": "89c312bb-285a-4026-a237-d441908c2f9e", "os-extended-volumes:volumes_attached": [ { "delete_on_termination": true, "id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf" } ], "locked": false, "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:host":"pod05.test.01" , "OS-EXT-SRV-ATTR:ramdisk_id": "", "image": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000" } ], "id": "1189efbf-d48b-46ad-a823-94b942e2a000" }, "accessIPv4": "", "OS-SRV-USG:terminated_at": null, "accessIPv6": "", "OS-EXT-SRV-ATTR:launch_index": 0, "created": "2018-05-11T03:21:56Z", "OS-EXT-SRV-ATTR:user_data": null, "hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f", "OS-EXT-SRV-ATTR:reservation_id": "r-pbqmaxer", "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "host_status": "UP", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7", "tags": [], "key_name": "id_rsa", "flavor": { "links": [ { "rel": "bookmark", "href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1" } ], "id": "s3.small.1" }, "security_groups": [ { "name": "default" } ], "config_drive": "", "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-0016c624", "user_id": "f79791beca3c48159ac2553fff22e166", "name": "zt-test", "progress": 0, "OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600", "updated": "2018-05-11T03:22:51Z", "status": "ACTIVE" } ] } 结论:响应消息体中有"OS-EXT-SRV-ATTR:hostname"字段。
-
版本号介绍 弹性云服务器所提供的接口分为ECS接口与OpenStack原生接口。推荐您使用ECS接口。 Openstack API可以使用v2和v2.1两个版本号,v2.1版本支持v2版本所有功能,且v2.1版本支持微版本。如果使用Openstack API推荐用户使用v2.1接口。 若使用v2版本的openstack API接口,只需要把对应的API接口URI中的v2.1版本号改为v2版本号即可。
-
微版本响应样例 如果“version”和“min_version”这两个值为空字符串,说明此endpoint不支持微版本。其中: version: 最大微版本号。 min_version:最小微版本号。 客户端应该指定最大和最小微版本范围内的微版本号去访问endpoint。客户端通过以下HTTP header指定微版本号: X-OpenStack-Nova-API-Version: 2.4 从微版本2.27开始,也可以用以下header指定微版本: Openstack-API-Version: compute 2.27 如下响应样例中支持的最大微版本为“2.14”,最小微版本为“2.1”: { "versions": [ { "id": "v2.0", "links": [ { "href": "http://openstack.example.com/v2/", "rel": "self" } ], "status": "SUPPORTED", "version": "", "min_version": "", "updated": "2011-01-21T11:33:21Z" }, { "id": "v2.1", "links": [ { "href": "http://openstack.example.com/v2.1/", "rel": "self" } ], "status": "CURRENT", "version": "2.14", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z" } ] }
-
OpenStack原生接口说明 表2 OpenStack原生接口说明 类型 说明 查询API版本信息 查询API版本信息列表 查询指定API版本信息 生命周期管理 包括弹性云服务器的创建、删除、修改、查询等接口。 状态管理 包括弹性云服务器的开机、关机、重启、锁定/解锁定、变更/回退变更规格等接口。 网络管理 查询租户、弹性云服务器的网络等接口。 镜像管理 包括删除、查询镜像等接口。 当前镜像管理API已废弃,请使用 镜像服务 接口。 安全组管理 包括添加、移除、查询、创建、更新、删除安全组及安全组规则等接口。 规格管理 查询弹性云服务器的规格列表、详情等接口。 网卡管理 包括添加、删除、查询弹性云服务器的网卡等接口。 磁盘管理 包括弹性云服务器的挂载、卸载、查询等接口。 元数据管理 包括更新、设置、删除、查询、获取、修改弹性云服务器元数据等接口。 租户配额管理 查询租户配额。 密钥、密码管理 包括查询、创建、删除SSH密钥等接口。 云服务器组管理 包括创建、查询、删除云服务器组等接口。 云服务器操作管理 包括查询云服务器操作行为列表、通过请求ID查询云服务器行为。 云服务器控制台管理 获取弹性云服务器的控制台日志等接口。 可用区 查询可用区列表。 标签管理 包括弹性云服务器一维标签的创建、删除、查询等接口。 浮动IP管理 包括分配、移除、创建、查询、删除浮动IP等接口。 当前浮动IP管理的API已废弃,请使用对应的网络服务接口。 快照管理 包括创建、查询、删除快照等接口。 当前快照管理的API已废弃,请使用对应的存储服务接口。
-
ECS接口说明 表1 ECS接口说明 类型 说明 生命周期管理 包括弹性云服务器的创建、删除、查询等接口。 状态管理 包括弹性云服务器的变更规格、重装/切换操作系统等接口。 批量操作 包括批量启动、重启、关闭、修改弹性云服务器等接口。 规格管理 查询规格详情、规格的扩展信息等。 网卡管理 批量添加、删除弹性云服务器的网卡。 给弹性云服务器网卡绑定、解绑定私有IP地址。 磁盘管理 包括弹性云服务器的挂载、卸载、查询等接口。 元数据管理 包括更新云服务器元数据和删除云服务器指定元数据的接口 租户配额管理 查询租户的配额,包括配额限制、已使用配额等接口。 查询Job状态 对于创建/删除云服务器、云服务器批量操作和网卡操作等异步API,可以通过该接口查询任务的执行状态。 标签管理 包括弹性云服务器二维标签的添加、删除、查询等接口。 支持批量添加、删除操作。 密码管理 一键重置弹性云服务器密码。 FPGA逻辑文件管理 包括注册、删除、查询FPGA镜像等接口,用于FPGA加速型云服务器。 云服务器组管理 包括创建、删除云服务器组接口、云服务器组添加成员、删除成员接口。 智能购买组管理 包括创建、修改、删除、查询智能购买组等接口。 规格推荐管理 包括地域推荐接口。
-
使用流程 通过图1您可以了解如何在AI原生应用引擎创建数据集、创建微调任务、部署推理模型以及在线测试模型效果。 图1 模型调优流程 创建微调数据集 数据集是模型微调的基础,首先需要创建用于模型训练的数据集。 创建模型微调流水线 通过模型微调任务进行模型训练,微调任务结束后,将生成改进后的新模型。 部署模型 模型部署是通过为基座模型(即原模型)和微调后的新模型创建用于预测的模型服务的过程实现。 测试模型调优效果 在线测试微调后的模型(输入问题发起请求获取数据分析结果),可检验模型的准确性、可靠性及反应效果。 清除相应资源 对于不再需要使用的微调任务和模型服务,及时清除相应资源,避免不必要的扣费。
-
构建版本 在左侧导航栏选择“流水线管理”,进入“流水线管理”页面。 在“流水线管理”页面,选择已创建版本的版本号“24.12.0.1”,单击“关联流水线”,在“关联流水线”页面,根据界面提示单击“立即前往”新建流水线,如图3所示。 图3 新建流水线 在“流水线管理”页面,单击“新建流水线”。 配置基本信息参数,参数说明如表2所示,单击“下一步”,选择“空模板”,单击“确定”,进入“任务编排”页面。 表2 参数说明 参数名称 参数说明 取值示例 名称 输入流水线名称。 Pipeline01 所属项目 服务所在项目。缺省值,不可修改。 - 流水线源 选择代码源。 Repo 创建方式 支持图形化编排、YAML化编排 图形化编排 代码仓 选择已创建的代码仓库。 Repo01 默认分支 选择默认分支。 master 根据需要配置流水线,然后单击“保存”。 进入“流水线管理”页面,单击右上角“关联流水线”。 在“关联流水线”页面,勾选已新建和配置完成的流水线,单击“确定”。 在流水线列表中,单击已关联的流水线所在行“操作”列的“执行”,单击“确定”,流水线开始构建版本的发布软件包。
共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