华为云用户手册
-
操作场景 创建TaurusDB数据库实例时,系统默认开启自动备份策略。实例创建成功后,您可根据业务需要设置自动备份策略。TaurusDB按照用户设置的自动备份策略对数据库进行备份。 TaurusDB的备份操作是实例级的,而不是数据库级的。当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。 设置自动备份策略后,会按照策略中的备份时间段和备份周期进行全量备份。实例在执行备份时,按照策略中的保留天数进行存放,备份时长和实例的数据量有关。 在进行全量备份的同时系统每5分钟会自动生成增量备份,用户不需要设置。生成的增量备份可以用来将库表数据恢复到指定时间点。
-
步骤2:测试连通性并安装MySQL客户端 登录E CS 实例,请参见《弹性云服务器用户指南》中“SSH密码方式登录”。 在TaurusDB“实例管理”页面,单击实例名称进入实例概览页面。 在实例的“网络信息”区域获取读写内网地址和数据库端口。 图4 读写内网地址和数据库端口 在ECS上测试是否可以正常连接到TaurusDB实例读写内网地址和端口。 telnet 192.168.6.144 3306 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将TaurusDB实例的读写内网地址和端口添加到出方向规则。 查看TaurusDB的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置TaurusDB安全组规则。 图5 TaurusDB的安全组 在浏览器下载Linux系统的MySQL客户端安装包。 在下载页面找到对应版本链接,以mysql-community-client-8.0.21-1.el6.x86_64为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的TaurusDB实例中数据库版本。 将安装包上传到ECS。 您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将安装包上传至ECS。 在ECS上执行以下命令安装MySQL客户端。 rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下: rpm -ivh --replacefiles mysql-community-client-8.0.21-1.el6.x86_64.rpm 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下: rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm
-
步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 有Windows弹性云服务器,参考通过MySQL-Front连接TaurusDB实例。 无弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载MySQL客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与TaurusDB实例相同的区域、VPC和安全组,便于TaurusDB和ECS网络互通。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在TaurusDB实例概览页面,查看TaurusDB实例的区域和VPC。 图3 查看TaurusDB实例的区域和VPC 确认ECS实例与TaurusDB实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装MySQL客户端。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
-
使用说明 转存冷表数据 您可以在控制台上将指定表设置为冷表,该表数据将存储在OBS上,从而释放磁盘空间并且降低存储成本。具体操作详见通过控制台设置冷表。 查询冷表数据 创建冷表后,对于冷表数据的查询方法与普通表一致,可以使用select命令查询,具体操作详见通过SQL操作设置冷表。 修改冷表数据 如果您需要修改已经存储到OBS上的冷表,您需要先通过控制台的回迁功能将OBS上的冷表回迁到实例上,此回迁操作不会删除OBS上的冷表数据。如果需要删除OBS上的数据,请“提交工单”处理。 删除冷表数据 创建冷表后,便无法对冷表执行DDL语句,因此无法直接删除冷表,也无法删除该表所在的库。 需要将冷表回迁后,使用drop命令删除。
-
原理简介 TaurusDB支持将低频使用的Innodb引擎的表转存到OBS上,这些转存之后的表被称之为冷表。 图1 原理图 创建冷表 为了达到释放磁盘空间并且实现降低存储成本的目的,您可以将暂时不需要修改数据且磁盘空间占用较大的表转存为冷表,该表数据将存储在OBS上。 回迁冷表 将指定表存储为冷表后,如果需要修改该表或频繁查询该表,您可以将该冷表重新回迁到实例上,回迁后不会删除OBS上存储的表数据。
-
注意事项 创建冷表时,禁止执行DDL或DML语句。 创建了冷表的实例不可作为全量备份恢复和时间点恢复操作的目标实例。 冷表仅支持查询操作,不支持DDL和DML语句,且访问速度较慢,建议将不常用的归档类数据表转换为冷表。 当需要归档的表是分区表时,单次归档只支持单个分区;若需要归档多个分区,则需要针对每个分区单独进行归档。 若以分区为对象进行归档,则仅支持对归档分区以外的分区执行DDL语句。对首个分区不支持DROP。不支持REMOVE PARTITIONING。不支持表级别的DDL语句。 若冷表中存在外键,则其对应的主表禁止执行DDL语句。 归档时,对库名,表名,分区名中的特殊字符需要进行转义。 归档的冷数据存储桶为单AZ并行文件系统,AZ级故障时可能会导致冷数据访问异常。 回迁冷表后,存储桶中的冷数据不会自动删除。 回迁冷表后,对应的冷数据在实例自动备份保留周期后,需要手动在控制台下发删除,否则会一直产生冷数据计费。 开启过冷热分离功能的实例恢复到新实例时,会拷贝存储桶中的冷数据,恢复时长会相应的增加。
-
前提条件 需要确认以下参数值才可开启Binlog日志开关。 内核版本小于2.0.45.230900时,需要确认“log-bin”参数值为“ON”。您可参考修改TaurusDB实例参数查看或修改参数值。 内核版本大于或等于2.0.45.230900时,需要确认“rds_global_sql_log_bin”参数值为“ON”。 内核版本的查询方法请参见如何查看云数据库 TaurusDB实例的版本号。 查看和下载Binlog日志前,需要先开启Binlog日志开关,具体操作请参考开启Binlog日志。
-
批量升级内核小版本 在“实例管理”页面,选择多个目标实例,单击列表左上方“补丁升级”。 图7 批量补丁升级 每次选择的实例数量不能超过100个。 在“补丁升级”弹框中,确认需要升级的实例信息,并选择“升级方式”。 图8 选择升级方式 立即升级:系统会立即升级您的数据库内核版本到当前最新版本。操作完成后,可进入任务中心的“即时任务”页签,查看该升级任务的相关信息。 可维护时间段内升级:系统会在您设置的可维护时间段内,升级您的数据库内核版本到当前最新版本。操作完成后,可进入任务中心的“定时任务”页签,查看该升级任务的相关信息。 确认信息无误后,按照提示在输入框中输入“YES”,单击“确定”。 等待2~5分钟,观察实例是否已经开始进行补丁升级,如果没有进行补丁升级,需要检查参数“rds_global_sql_log_bin”的值为“ON”,参数“binlog_expire_logs_seconds”大于或等于“86400”,否则将无法进行补丁版本升级。 如果参数设置正确,实例仍然没有开始升级,有可能是“rds_sql_log_bin_inconsistent_count”的值不为“0”,请等待“rds_sql_log_bin_inconsistent_count”的值为“0”后再进行升级。
-
后续操作 返回实例列表,在左侧导航栏,选择“任务中心”,查看版本升级任务的执行进度。 对于升级方式为“立即升级”的任务: 在“即时任务”页签,搜索“TaurusDB实例版本升级”任务,查看执行进度。即时任务不支持取消。 对于升级方式为“可维护时间段内升级”的任务: 在“定时任务”页签,搜索实例ID,查看该实例下版本升级的任务执行情况。 如果任务为“待执行”状态,单击“取消”,可取消执行该升级任务。 更多操作,请参见查看TaurusDB实例任务。
-
注意事项 当有对应的小版本更新时(定期同步开源社区问题、漏洞修复),请及时手动立即升级或者设置可维护时间段升级小版本。 升级数据库内核小版本会重启TaurusDB实例,服务可能会出现闪断,请您尽量在业务低峰期执行该操作,或确保您的应用有自动重连机制。 如果实例有大量表分区(100w+),重启实例时间可能会达到2小时以上。 如果数据库内核从8.0.18升级到8.0.22版本,分区数大于1000时可能会升级失败,请升级之前联系华为云工程师协助检查版本兼容性。 如果主节点和只读节点在同一个AZ,升级内核小版本会触发一次主备倒换;如果在不同AZ,则会触发两次主备倒换。主备倒换指主节点与只读节点进行切换。 升级实例小版本时,如有只读节点,也会同步升级只读节点的小版本,升级完成会重启实例,请您选择合适的时间升级(不支持单独升级只读实例的小版本)。升级内核小版本后,实例会升级到最新的内核小版本,升级成功,无法降级。 小版本升级过程中禁止EVENT的DDL操作,如CREATE EVENT、DROP EVENT和ALTER EVENT。 如果只读节点到主节点的复制延迟大于300秒,则无法升级小版本。 如果实例当前数据库版本低于2.0.51.240305,实例会先升级到2.0.51.240305。 内核版本需要升级到2.0.54.240600及以上版本时,请先确认参数“rds_global_sql_log_bin”的值为“ON”,参数“binlog_expire_logs_seconds”的值大于或等于“86400”,否则将无法进行补丁版本升级。参数设置请参考修改TaurusDB实例参数。
-
开发环境准备 在开发的过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 HarmonyOS 5.0.1 Release(Build Version: 5.0.0.123)及以上 详见HarmonyOS官网版本说明。 HarmonyOS SDK HarmonyOS 5.0.1 Release SDK(API 13 Release)及以上 - DevEco Studio DevEco Studio 5.0.1(Build Version: 5.0.5.315)及以上 - 测试资源及App ID申请 - 请参见“开发前准备”。 云会议SDK在Harmony OS系统上,仅支持按系统Navigation路由方式集成。鸿蒙系统官方已不推荐使用Router路由方式 。
-
X-WSSE认证 短信发送的接口使用X-WSSE认证。 X-WSSE是具有一定格式的字符串,通常是单个 HTTP 标头行。 X-WSSE格式为:UsernameToken Username="app_key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。 PasswordDigest:根据PasswordDigest = Base64 (SHA256 (Nonce + Created + Password))生成,直接使用Nonce、Created、Password拼接后的字符串进行SHA256加密即可,字符串中无需包含+号和空格。其中,Password为app_secret的值。 Nonce:用户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。 Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中的时间格式转换方式不同,部分语言可参考表3。 获取X-WSSE令牌后,在调用短信发送接口时,您需要在请求消息头中按以下方式添加X-WSSE。 POST /sms/batchSendSms/v1 HTTP/1.1 x-real-ip: 10.10.10.10 x-real-port: 10443 host: ompap.inner content-length: 184 date: Fri, 13 Apr 2018 06:31:39 GMT authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey" x-wsse: UsernameToken Username="ARBRz4bAXoFgEH7o4Ew308eXc1RA",PasswordDigest="NDA1MWIwNjI2ZTkyNWFlM2FhMTE5NDE1YTk5NjU1YWE4NjNlZTY1MmRhYzkxZGViNzczZjdjMjkzZWQ4ZjAwNA==",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z" accept: application/json content-type: application/x-www-form-urlencoded from=1069********0012&to=%2B86155****5678&templateId=abcdefghabcdefghabcdefghabcdefgh&templateParas=%5B%22520520%22%5D&statusCallback=http%3A%2F%2F205%2E145%2E111%2E168%3A9330%2Freport
-
请求示例 查询短信应用,请求方式:GET,请求URI:/v2/{project_id}/msgsms/apps,返回短信应用数据列表,传入参数projectId,limit,offset,region。 GET /v2/845ada5bc7444f1295cd517af0123da1/msgsms/apps?app_name=auto_test789 Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:******
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 results Array of SmsAppQueryResp 查询结果 total Long 总数 表5 响应SmsAppQueryResp参数 参数 是否必选 参数类型 描述 id 否 String 应用主键ID,用于获取、修改应用的唯一标识 create_time 否 String 创建时间 update_time 否 String 更新时间 customer_id 否 String 租户customer id resource_id 否 String 租户resource id developer_account 否 String 租户开发者账号 app_name 否 String 应用名称 omp_app_name 否 String omp应用名称 app_key 否 String 应用key up_link_addr 否 String 上行短信地址 status 否 String 应用状态 CREATED:待上线。应用暂未创建成功,请稍候。 SUSPENDED:暂停。无法发起业务请求。当客户所发短信内容触发业务违规,或客户申请退订短信业务时,运营经理会将客户短信应用暂停。 LAUNCHED:正常。应用添加成功,可以正常使用。 industry 否 Integer 行业类型 region 否 String 地域 1. cn:国内 2. intl:国际 enterprise_project_id 否 String 企业项目ID enterprise_project_name 否 String 企业项目名称 ip_white_list 否 String IP白名单 app_access_addr 否 String 接入地址 protocol 否 String 协议 platform 否 String 平台 is_support_multiomp 否 boolean 是否支持多OMP tenant 否 TentantBasic - 表6 TentantBasic 参数 是否必选 参数类型 描述 customer_id 否 String 租户customer id customer_name 否 String 租户customer name enterprise_name 否 String 租户企业名称
-
响应示例 { "results": [ { "id": "9e61f59c-1a6b-4ee5-9651-5bca450694b3", "create_time": "2022-08-12 06:51:17", "update_time": "2022-08-12 06:51:17", "customer_id": "******c55c3c4526b2ed7a0213bc9871", "resource_id": "******8a-a690-4e14-a1c7-2430937336d0", "developer_account": "****66_sms", "app_name": "auto_test789", "app_key": "******3baZf4c856O4Qrbqvui3K2", "status": "LAUNCHED", "region": "cn", "intl_channel_num": "******886739", "enterprise_project_id": "0", "enterprise_project_name": "default", "app_access_addr": "https://100.**.***.**:8443", "protocol": "HTTP", "platform": "NFV", } ], "total": 1 }
-
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登录页,输入账号后,可成功跳转登录后的首页地址。
共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