华为云用户手册
-
操作步骤 进入金山云KS3对象存储控制台界面,单击左侧导航树存储空间。 在存储空间列表中,单击目标存储空间名称,打开该存储空间内容管理页面。 找到您需要解冻的文件,单击文件名或操作列的“详情”。 在文件详情页,单击“解冻”按钮, 单击“确定”。 解冻操作预计1分钟。 解冻状态默认持续24小时,最多可延长7天,到期后文件自动恢复归档状态。 您还可以通过调用Restore Object接口解冻归档对象,更多详情,请参见金山云对象存储Restore Object接口相关文档。 解冻完成后,请参考金山云KS3迁移至华为云OBS教程,将数据迁移到华为云OBS。
-
修订记录 发布日期 修订记录 2024-05-07 第十五次正式发布。 新增阿里云OSS配置同步请求 新增腾讯云COS配置同步请求 2024-03-22 第十四次正式发布。 新增自动检查并重启失败的迁移任务 新增青云QingStor迁移至华为云OBS教程 新增谷歌云storage迁移至华为云OBS教程 新增亚马逊云S3迁移至华为云教程 新增微软云Blob迁移至华为云OBS教程 新增其他迁移场景 2022-11-10 第十三次正式发布。 更新各云服务商迁移教程。 2022-06-01 第十二次正式发布。 新增归档数据迁移方案章节。 2021-11-16 第十一次正式发布。 新增HTTP/HTTPS 数据源迁移至华为云OBS教程章节。 2021-10-27 第十次正式发布。 新增金山云KS3迁移至华为云OBS教程章节。 2021-10-25 第九次正式发布。 新增优刻得US3迁移至华为云OBS教程章节。 2021-10-20 第八次正式发布。 新增百度云BOS迁移至华为云OBS教程章节。 2021-07-28 第七次正式发布。 新增七牛云迁移至华为云OBS教程章节。 2021-06-26 第六次正式发布。 新增腾讯云COS迁移至华为云OBS教程章节。 2021-06-15 第五次正式发布。 新增阿里云OSS迁移至华为云OBS教程章节。 2021-05-21 第四次正式发布。 新增华为云OBS之间迁移教程章节。 2021-03-16 第三次正式发布。 更新使用“回源配置方案”迁移增量对象数据章节。 更新使用“源端/目的端双写方案”方案迁移增量对象数据章节。 更新使用"多次同步方案"迁移增量对象数据章节。 更新迁移归档存储数据章节。 2020-12-08 第二次正式发布。 新增使用“回源配置方案”迁移增量对象数据。 新增使用“源端/目的端双写方案”方案迁移增量对象数据。 新增使用"多次同步方案"迁移增量对象数据。 新增迁移归档存储数据。 2019-08-31 第一次正式发布。
-
操作场景 当源端对象存储有数据处于归档状态,直接使用 OMS 迁移,解冻时间长导致迁移时间较长,可参考以下方案。 如果不提前使用恢复归档存储,全量依靠OMS自动恢复功能,每个对象触发解冻后,会等待1-5分钟(具体时间由源端对象存储决定),最终导致迁移速度缓慢,影响您的整体迁移进度。 在OBS桶中仅开启归档数据直读功能,仅支持直接下载归档存储数据,并未修改相应存储类型,因此OMS无法正常直接下载对象。 归档存储开启直读,和使用OMS自动恢复归档存储,源端 对象存储服务 都会收取相应费用,详见产品价格详情。 迁移归档数据时,目的端桶类型建议选择为“标准存储”,待迁移完成确认数据无误后,再通过对象生命周期将对应数据的存储类型改为“归档存储”。
-
最佳实践汇总 本文汇总了基于 对象存储迁移 服务(Object Storage Migration Service,OMS)常见应用场景的操作实践,每个实践我们提供详细的方案描述和操作指导,用于指导您快速实现对象存储数据迁移。 表1 OMS最佳实践一览表 最佳实践 使用场景 优势 使用“回源配置方案”迁移增量对象数据 大批量数据迁移场景使用,优先选择此方案。此方案受OBS限制,具体的约束请见数据回源。 业务零中断,增量迁移间未同步的数据通过回源配置保证用户无感知。 可靠性高:割接前用户业务校验充分,增量迁移时全量扫描校验确保数据无遗漏。 使用“源端/目的端双写方案”方案迁移增量对象数据 适用大批量数据迁移且OBS回源不支持场景。由于需要客户同时对源端和目的端写数据,因此总体费用比“回源配置方案”高。 适用于双云备份场景: 业务零中断,业务切换时间根据客户业务确认,可随意调整。 一次迁移,操作简单。 使用"多次同步方案"迁移增量对象数据 少量数据快速增量迁移场景使用: 客户自动识别增量对象列表,然后使用OMS对象列表迁移; 记录迁移开始时间,设置迁移指定时间 速度快,业务短时间中断,操作简单。 增量迁移时长评估: 增量迁移时长=识别增量数据的时间(源端桶和目的端桶比对识别新增数据)+增量数据迁移时间。 迁移归档存储数据 源端存在归档存储数据,可使用此方案。 先解冻后迁移,相对直接使用OMS迁移:迁移速度较快。
-
版本发布记录 表1 Redis 6内核版本发布记录 版本 日期 特性描述 6.2.10 2023年11月 修复cluster因为publish消息至所有连接节点导致的内存增长后无法下降的问题。 2023年5月 支持写带宽控制。 2023年3月 修复带宽流控统计。 2023年3月 修复带宽module中的连接类型错误。 2022年10月 修复更新密文时的内存释放错误。 2022年5月 sentinel支持拓展功能。 2022年5月 支持过期键老化速度优化。 2022年5月 合入Redis社区6.2.10版本。 表2 Redis 5内核版本发布记录 版本 日期 特性描述 5.0.14 2023年11月 新增persistence-error-check配置项。 2023年10月 支持集群模式磁盘故障下倒换。 2023年4月 修改内核,定制化slowlog输出。 2023年3月 优化流控默认参数。 2023年1月 更改计数器流控为令牌桶。 2022年10月 添加 watch,wait,psubscribe到只读命令。 2022年10月 支持运行时动态重命名命令功能。 2022年4月 合入Redis社区5.0.14版本。 2021年10月 修复中文格式乱码问题。 2021年10月 过期key内核老化速度优化。 2021年9月 内核过期速度优化。 2021年8月 支持写带宽控制。 2021年8月 支持带宽控制和命令时延记录。 2021年4月 修复redis代码中announce模块存在数据溢出风险的问题。 2021年1月 修复新创建的redis实例无法写入AOF的问题。 2020年10月 修复用户的身份验证命令。 2020年10月 在通用模块API函数中支持流。 2020年5月 修复migrate日志、slowlog和monitor输出中可能出现明文密码的问题。 2020年4月 合入Redis社区5.0.9版本。 2020年3月 修复aof rewrite小概率存在无法结束的bug。 2020年3月 修复lua相关的内存泄漏。 2019年11月 合入Redis社区5.0.7版本。 表3 Redis 4内核版本发布记录 版本 日期 特性描述 4.0.14 2023年4月 支持动态重命名。 2023年3月 日志修改。 2022年10月 添加watch,wait,psubscribe到只读命令。 2022年7月 支持rename-command命令。 2021年12月 修复安全漏洞CVE-2020-14147。 2021年10月 过期key内核老化速度优化。 2021年9月 内核过期速度优化。 2021年8月 支持写带宽控制。 2021年4月 优化重构monitor代码,去除数据面冗余文件。 2020年8月 删除Lua中的随机值函数。 2020年4月 修复使用redis crash时日志打印不适用bio线程的问题。 2020年3月 解决EulerOS中glibc版本过老问题。 2020年1月 增加maxrss配置项,删除maxkeys配置项。 2020年1月 支持maxkeys配置,keys个数据超过maxkeys时,强制淘汰。 2019年7月 修复安全漏洞CVE-2019-10193。 2019年7月 修复安全漏洞CVE-2019-10192。 2019年3月 合入Redis社区4.0.14版本。
-
响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表5 响应Body参数 参数 参数类型 描述 app_id String 应用id record_callback AppCallbackUrl object 回调信息 表6 AppCallbackUrl 参数 参数类型 描述 url String 回调通知url地址,url必须以http://或https://开头,需要支持POST调用。 auth_key String 回调秘钥,主要用于鉴权。如果不设置或者为空,则回调不会增加鉴权头域字段。 notify_event_subscription Array of strings 订阅云端录制通知消息。 取值如下: RECORD_NEW_FILE_START:开始创建新的录制文件。 RECORD_FILE_COMPLETE:录制文件生成完成。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 url 是 String 回调通知url地址,url必须以http://或https://开头,需要支持POST调用。 auth_key 否 String 回调秘钥,主要用于鉴权
-
请求示例 配置指定应用id的增值(录制)事件上报回调,回调通知的地址:http://mydomain.com/callback,回调秘钥:8923ab*******************cef453 PUT https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-callback { "url" : "http://mydomain.com/callback", "auth_key" : "8923ab*******************cef453" }
-
响应示例 状态码: 200 配置成功 { "app_id" : "123456789abcdefghijklmno", "record_callback" : { "url" : "http://mydomain.com", "auth_key" : "78912374ae8cdb38", "notify_event_subscription" : [ "RECORD_NEW_FILE_START", "RECORD_FILE_COMPLETE", "RTC_USER_ROLE_CHANGED", "RTC_AUDIO_STREAM_OPEN", "RTC_AUDIO_STREAM_CLOSE", "RTC_VIDEO_STREAM_OPEN", "RTC_VIDEO_STREAM_CLOSE" ], "update_time" : "2020-07-26T07:53:05.075Z" } } 状态码: 400 配置失败,语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 配置失败,应用不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 配置失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
-
操作步骤 获取用户Token,用于调用SparkRTC接口时进行认证鉴权。 在“我的凭证”页面获取username、password、domainname,调用如下接口 获取Token 。详细信息请参见构造请求。 POST https://iam.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //用户名。 "password": "password", //用户登录密码。 "domain": { "name": "domainname" //用户所属的账号名。 } } } }, "scope": { "domain": { "name": "domainname" //用户所属的账号名。 } } } } 如图1所示,红框中的信息为获取用户Token。 图1 获取用户Token 调用创建应用接口创建SparkRTC应用。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "app_name" : "rtctest" } 请求响应成功后,返回已创建应用的ID。 { "app_id": "5ff9701f2346968bb306cb43", } 调用创建或更新录制规则接口,创建录制规则。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": ["MP4"], "mp4_config": {} } 请求响应成功后,返回已创建的录制规则。 { "app_id": "5ff9701f2346968bb306cb43", "rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab", "create_time": "2021-04-21T10:29:33Z", "hls_config": { "record_cycle": 0, "record_max_duration_to_merge_file": 0 }, "mp4_config": { "record_cycle": 7200, "record_max_duration_to_merge_file": 0, "record_prefix": "Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}" }, "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": [ "MP4" ], "update_time": "2021-04-21T10:29:33Z" } 调用RTC增值(录制)事件回调配置接口,配置录制回调。 选择PUT请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-callback 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "url": "http://mydomain.com/callback", "auth_key": "8923ab8c2dcef4538923ab8c2dcef453" } 请求响应成功后,返回已创建的回调信息。 { "app_id": "5ff9701f2346968bb306cb43", "record_callback": { "auth_key": "8923ab8c2dcef4538923ab8c2dcef453", "update_time": "2021-04-07T12:05:18.0718Z", "url": "http://mydomain.com/callback", "notify_event_subscription": [ "RECORD_NEW_FILE_START", "RECORD_FILE_COMPLETE", "CLOUD_RECORD_OVER" ] } } 终端用户通过SparkRTC APP加入某个SparkRTC房间,SparkRTC APP的集成开发请参见客户端SDK。 调用启动合流任务接口,创建录制任务。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "mix_param": { "room_id": "room001", "encode_template": "1920x1080_30_4620", "max_idle_time": 30, "layout_template": "nine_grids_view" //若视频布局为屏幕共享,则填写为screen_share_left或screen_share_right。 }, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" } } layout_template:视频布局模板编号。 nine_grids_view:九宫格模板(自适应模板)。 每个用户画面平铺在画布上,大小一致。根据用户数量,动态调整每个画面的大小和位置,最多支持25个画面。不同人数的实际布局效果如下图所示: 如果实际视频流的宽高比与视窗的宽高比不一致,则视频画面会裁剪以适配视窗的大小。 如果中途有流退出房间,则该条流的画面会被后进入房间的流顶替。 如果房间内的人数不足,则剩余位置显示背景色。 如果用户只发送音频,仍然会占用画面位置。 支持背景图,如果房间内人数不足,则显示背景图。 screen_share_left、screen_share_right:主视图在左边、右边的屏幕共享模板(自适应模板)。 屏幕分享(或者主讲人摄像头画面)始终占据屏幕左侧或者右侧大画面位置,其他用户依次垂直排列于旁边,最多支持17个画面。不同人数的实际布局效果如下图所示: 大视窗画面,可选择主讲摄像头流或共享屏幕流。 大视窗画面,显示指定的UID用户的视频,如果未指定或者指定用户未进入频道,则大视窗区域显示背景色。 左侧大视窗为了保持内容的完整性采用缩放方式处理,右侧小视窗采用裁剪方式适配视窗的大小。 右侧小视窗画面按照加入房间的时间先后顺序排列。 右侧小视窗有流退出房间,则该条流的画面会被后进入房间的流顶替。 如果房间内的人数不足,则剩余位置显示背景色。 如果用户只发送音频,仍然会占用画面位置。 支持背景图,如果房间内人数不足,则显示背景图。 请求响应成功后,返回合流录制任务信息。 { "app_id": "5ff9701f2346968bb306cb43", "create_time": "2021-04-21T11:47:32Z", "job_id": "607f9fc100d861eeefff9b300b388dab", "job_unique_id": "87b1f2b8da9c44cd", "mix_param": { "room_id": "room001", "layout_template": "nine_grids_view", "encode_template": "1920x1080_30_4620", "max_idle_time": 30 }, "push_param": { "rtmp_urls": null }, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" }, "room_id": "room001", "start_time": "2021-04-21T11:47:32Z", "state": "INIT", "stop_time": "0001-01-01T00:00:00Z", "stream_name": "m_607f9fc100d861eeefff9b300b388dab_room001", "update_time": "2021-04-21T11:47:32Z" } SparkRTC房间结束音视频互动后,您可以在配置的OBS桶中获取录制文件。
-
请求示例 创建或更新一个录制规则,区域为北京四,录制文件将被保存在名为obsName的桶上,录制文件格式为MP4,录制周期为60秒 POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules { "obs_addr" : { "bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/", "project_id" : "ad7456ce8ef89adf567" }, "record_formats" : [ "MP4" ], "mp4_config" : { "record_cycle" : 60, "record_max_duration_to_merge_file" : 0 } }
-
响应示例 状态码: 201 创建配置成功 { "app_id" : "123456abc", "rule_id" : "456789abc", "create_time" : "2006-01-02T15:04:05.075Z", "obs_addr" : { "bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/", "project_id" : "ad7456ce8ef89adf567" }, "record_formats" : [ "MP4" ], "mp4_config" : { "record_cycle" : 60, "record_max_duration_to_merge_file" : 0 }, "update_time" : "2006-01-02T15:04:05.075Z" } 状态码: 200 更新配置成功 { "app_id" : "123456abc", "rule_id" : "456789abc", "create_time" : "2006-01-02T15:04:05.075Z", "obs_addr" : { "bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/", "project_id" : "ad7456ce8ef89adf567" }, "record_formats" : [ "MP4" ], "mp4_config" : { "record_cycle" : 60, "record_max_duration_to_merge_file" : 0 }, "update_time" : "2006-01-02T15:04:05.075Z" } 状态码: 400 配置失败,语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 配置失败,应用不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 配置失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
-
响应参数 状态码: 201 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 rule_id String 规则id,由服务端返回。创建或修改规则的时候不携带 app_id String 应用id obs_addr RecordObsFileAddr object 保存录制文件所在的桶信息 record_formats Array of strings 录制格式:HLS格式或者MP4格式 hls_config HLSRecordConfig object hls格式录制规则管理 mp4_config MP4RecordConfig object mp4格式录制规则管理 create_time String 创建时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表9 RecordObsFileAddr 参数 参数类型 描述 location String OBS Bucket所在RegionID cn-north-4 project_id String OBS Bucket所在Region的项目ID bucket String OBS的bucket名称 object String OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 表10 HLSRecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,43200]或者0,如果为0则整个流录制为一个文件。 单位:秒。 record_prefix String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_slice_duration Integer 录制HLS时ts的切片时长,非必填。 取值范围:[2,60],缺省为10。 单位:秒。 record_max_duration_to_merge_file Integer 录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[-1,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 如果为-1则表示流中断恢复后追加到原来的文件中(相隔不超过30天)。 表11 MP4RecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,10800]。 单位:秒。 record_prefix String 录制文件含路径和文件名的前缀。 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_max_duration_to_merge_file Integer 录制MP4拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[0,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 状态码: 200 表12 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表13 响应Body参数 参数 参数类型 描述 rule_id String 规则id,由服务端返回。创建或修改规则的时候不携带 app_id String 应用id obs_addr RecordObsFileAddr object 保存录制文件所在的桶信息 record_formats Array of strings 录制格式:HLS格式或者MP4格式 hls_config HLSRecordConfig object hls格式录制规则管理 mp4_config MP4RecordConfig object mp4格式录制规则管理 create_time String 创建时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表14 RecordObsFileAddr 参数 参数类型 描述 location String OBS Bucket所在RegionID cn-north-4 project_id String OBS Bucket所在Region的项目ID bucket String OBS的bucket名称 object String OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 表15 HLSRecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,43200]或者0,如果为0则整个流录制为一个文件。 单位:秒。 record_prefix String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_slice_duration Integer 录制HLS时ts的切片时长,非必填。 取值范围:[2,60],缺省为10。 单位:秒。 record_max_duration_to_merge_file Integer 录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[-1,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 如果为-1则表示流中断恢复后追加到原来的文件中(相隔不超过30天)。 表16 MP4RecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,10800]。 单位:秒。 record_prefix String 录制文件含路径和文件名的前缀。 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_max_duration_to_merge_file Integer 录制MP4拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[0,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 状态码: 400 表17 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表19 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表21 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 obs_addr 是 RecordObsFileAddr object 保存录制文件所在的桶信息 record_formats 是 Array of strings 录制格式:支持HLS格式和MP4格式(HLS和MP4为大写)。 若配置HLS则必须携带HLSRecordConfig参数 若配置MP4则需要携带MP4RecordConfig hls_config 否 HLSRecordConfig object HLS格式录制规则管理 mp4_config 否 MP4RecordConfig object MP4格式录制规则管理 表4 RecordObsFileAddr 参数 是否必选 参数类型 描述 location 是 String OBS Bucket所在RegionID cn-north-4 project_id 是 String OBS Bucket所在Region的项目ID bucket 是 String OBS的bucket名称 object 否 String OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 表5 HLSRecordConfig 参数 是否必选 参数类型 描述 record_cycle 是 Integer 周期录制时长。 取值范围:[60,43200]或者0,如果为0则整个流录制为一个文件。 单位:秒。 record_prefix 否 String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_slice_duration 否 Integer 录制HLS时ts的切片时长,非必填。 取值范围:[2,60],缺省为10。 单位:秒。 record_max_duration_to_merge_file 否 Integer 录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[-1,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 如果为-1则表示流中断恢复后追加到原来的文件中(相隔不超过30天)。 表6 MP4RecordConfig 参数 是否必选 参数类型 描述 record_cycle 是 Integer 周期录制时长。 取值范围:[60,10800]。 单位:秒。 record_prefix 否 String 录制文件含路径和文件名的前缀。 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_max_duration_to_merge_file 否 Integer 录制MP4拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[0,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息,与路径参数中的项目ID相同。
-
响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 usage Array of RtcHistoryUsage objects 时间戳及相应时间的指标数值列表 表6 RtcHistoryUsage 参数 参数类型 描述 date String 采样时间。日期格式按照ISO8601表示法,并使用UTC时间。格式为YYYY-MM-DD video_sd Long 标清视频时长,单位秒 video_hd Long 高清视频时长,单位秒 video_hdp Long 超高清视频时长,单位秒 audio Long 音频时长,单位秒 total_duration Long 音视频总时长,单位秒 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
-
响应示例 状态码: 200 查询成功返回。 { "usage" : [ { "date" : "2020-06-04", "video_sd" : 1, "video_hd" : 1, "video_hdp" : 1, "audio" : 1, "total_duration" : 4 } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
-
URI GET /v1/{project_id}/rtc/history/usage 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 metric 是 String 查询的数据类型 CommunicationDuration:音视频通话时长 start_date 是 String 查询起始时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23,不写默认读取过去1天数据数据。 end_date 是 String 查询结束时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23。
-
响应示例 状态码: 200 app详细信息 { "app_name" : "example", "app_id" : "123456789abcdefghijklmno", "state" : { "state" : "ACTIVATION", "update_time" : "2020-07-26T07:03:05.075Z" }, "scope" : "DOMESTIC", "tenant_name" : "hwstaff_pub_videortc", "domain" : "123456789abcdefghijklmno.rtc.huawei.com", "create_time" : "2020-07-26T07:03:05.075Z", "authentication" : { "enable" : true, "expire" : 300, "app_key" : "12345ABCDEF12345", "update_time" : "2020-07-26T07:03:05.075Z" }, "callbacks" : { "record_callback" : { "url" : "http://mydomain.com", "auth_key" : "78912374ae8cdb38", "update_time" : "2020-07-26T07:53:05.075Z" } }, "auto_record_mode" : { "mode" : "AUTO_RECORD_OFF", "update_time" : "2020-07-26T07:53:05.075Z" } } 状态码: 400 语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 app编号不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 查询失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。
-
响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 app_name String app名称 app_id String 应用id state AppState object app状态 scope String RTC覆盖范围。 取值如下: DOMESTIC:国内范围。 OVERSEA:海外范围。 GLOBAL:全球范围。 tenant_name String 账号名 domain String 域名 ,App对应域名 create_time String 创建时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC authentication AppAuth object 鉴权配置 callbacks AppCallbacks object 回调配置 auto_record_mode AppAutoRecordMode object 自动录制配置 表5 AppState 参数 参数类型 描述 state String 状态 ACTIVATION:开启 DEACTIVATION:停用 ARREARS:欠费 DELETED:已删除 update_time String app鉴权的更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表6 AppAuth 参数 参数类型 描述 enable Boolean 开启或关闭URL鉴权 expire Integer 接入RTC建链认证时的signature的有效期。单位:秒。默认300秒。signature由app_key生成 app_key String app鉴权秘钥 update_time String app鉴权的更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表7 AppCallbacks 参数 参数类型 描述 push_callback AppCallbackUrl object 转推回调 record_callback AppCallbackUrl object 录制回调 表8 AppCallbackUrl 参数 参数类型 描述 url String 回调通知url地址,url必须以http://或https://开头,需要支持POST调用。 auth_key String 回调秘钥,主要用于鉴权。如果不设置或者为空,则回调不会增加鉴权头域字段。 notify_event_subscription Array of strings 订阅云端录制通知消息。 取值如下: RECORD_NEW_FILE_START:开始创建新的录制文件。 RECORD_FILE_COMPLETE:录制文件生成完成。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 表9 AppAutoRecordMode 参数 参数类型 描述 mode String 录制模式。 AUTO_RECORD_OFF:关闭自动录制。 AUTO_INDIVIDUAL_RECORD:开启单流自动录制,此时record_rule_id必须非空。 record_rule_id String 录制规则id。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表10 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表12 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表14 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 mode 是 String 录制模式。 AUTO_RECORD_OFF:关闭自动录制。 AUTO_INDIVIDUAL_RECORD:开启单流自动录制,此时record_rule_id必须非空。 record_rule_id 否 String 录制规则id。
-
响应示例 状态码: 200 任务创建成功,返回app的概要信息,如包含app_id { "app_id" : "123456789abcdefghijklmno", "auto_record_mode" : { "mode" : "AUTO_RECORD_OFF", "update_time" : "2020-07-26T07:53:05.075Z" } } 状态码: 400 更新自动录制任务失败,语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 更新自动录制任务失败,应用不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 更新自动录制任务失败,服务器错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
-
接口约束 开启自动单流录制功能之后,只针对新创建的房间有效,对开启自动录制功能之前已经创建的房间不生效。 单流自动录制任务的流名规则: {appid}_{roomid}_{userid}_{media_type}_{video_type} {media_type}可取值为v(代表纯视频录制),av(代表音视频录制)。 {video_type}可取值为m(代表录主流摄像头视频),a(代表录辅流视频)。 可能的组合有_av_m(自动录制主流和音频)和_v_a(自动录制辅流视频,无音频)。
-
响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表5 响应Body参数 参数 参数类型 描述 app_id String 应用id auto_record_mode AppAutoRecordMode object 自动录制配置 表6 AppAutoRecordMode 参数 参数类型 描述 mode String 录制模式。 AUTO_RECORD_OFF:关闭自动录制。 AUTO_INDIVIDUAL_RECORD:开启单流自动录制,此时record_rule_id必须非空。 record_rule_id String 录制规则id。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息,与路径参数中的项目ID相同。
-
响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 quality Array of TimeDoubleValueData objects 时间戳及相应时间的指标数值列表 表6 TimeDoubleValueData 参数 参数类型 描述 time String 采样时间。日期格式按照ISO8601表示法,并使用UTC时间。格式为YYYY-MM-DDThh:mm:ssZ value Double 当前时间返回参数取值 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
-
响应示例 状态码: 200 查询成功返回。 { "quality" : [ { "time" : "2020-06-04T07:00:00Z", "value" : 0 } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
-
URI GET /v1/{project_id}/rtc/realtime/quality 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 room_id 否 String 房间ID metric 是 String 查询的数据类型: JoinSuccessRate:加入房间成功率 JoinSuccess5SecsRate:5秒加入成功率 VideoFreezeRate:视频卡顿率 AudioFreezeRate:音频卡顿率 sdk_type 是 String sdk类型 native:非web版sdk webrtc:web版sdk start_time 否 String 查询起始时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T06:00:00Z,不写默认读取过去1小时数据。 end_time 否 String 查询结束时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T06:00:00Z,不写默认为当前时间。
-
响应参数 状态码: 204 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 状态码: 404 表4 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
共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
推荐文章