华为云用户手册
-
变更配置后对计费的影响 当前包年/包月D CS 缓存实例的规格不满足您的业务需要时,您可以在分布式缓存服务控制台发起变更规格操作,变更时系统将按照如下规则为您计算变更费用: 资源升配:新配置价格高于老配置价格,此时您需要支付新老配置的差价。 资源降配:新配置价格低于老配置价格,此时华为云会将新老配置的差价退给您。 资源降配会影响缓存实例性能,通常不建议您这样操作。这里以资源升配的场景为例,假设您在2023/04/08购买了一个DCS缓存实例(规格:基础版 | Redis 5.0 | 主备 | X86 | 2副本 | 8 GB),购买时长为1个月,计划在2023/04/18变更规格为(规格:基础版 | Redis 5.0 | 主备 | X86 | 2副本 | 16 GB)。旧配置价格为548.8 元/月,新配置价格为1102.4 元/月。计算公式如下: 升配费用=新配置价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。本示例中,剩余周期=12(4月份剩余天数)/ 30(4月份最大天数)+ 8(5月份剩余天数)/ 31(5月份最大天数)=0.6581,代入公式可得升配费用=1102.4*0.6581-548.8*0.6581=364.32(元)。 更多信息请参见变更资源规格费用说明。
-
计费说明 分布式缓存服务的默认计费项为DCS实例,如果您在使用过程中单独升级了缓存实例带宽,会产生相应的带宽费用。具体内容如表1所示。 表1 分布式缓存服务计费项 计费项 计费项说明 适用的计费模式 计费公式 DCS实例 华为云DCS按照您选择的DCS实例规格进行计费。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见分布式缓存服务价格详情。 升级带宽 当您的实例带宽带宽不足,并且进行了调整实例带宽,华为云DCS将按照您升级的DCS实例带宽规格进行计费。 按需计费 升级带宽单价 * 购买时长 升级带宽单价以调整实例带宽时控制台显示的价格为准。 在连接DCS缓存实例时,客户端如果通过ECS访问DCS实例,关于ECS计费详情,请参见弹性 云服务器价格 详情。
-
进程监控指标说明 对于不同的操作系统、不同的弹性云服务器类型,在安装Agent后均默认支持查看以下进程监控指标。 表1 进程监控指标说明 指标 指标名称 指标含义 取值范围 测量对象(维度) 监控周期(原始指标) proc_pHashId_cpu CPU使用率 进程消耗的CPU百分比,pHashId是(进程名+进程ID)的md5值。 单位:百分比 采集方式(Linux):通过计算/proc/pid/stat的变化得出。 采集方式(Windows):通过Windows API GetProcessTimes获取进程CPU使用率。 0-100% 云服务器 1分钟 proc_pHashId_mem 内存使用率 进程消耗的内存百分比,pHashId是(进程名+进程ID)的md5值。 单位:百分比 采集方式(Linux): RSS*PAGESIZE/MemTotal RSS: 通过获取/proc/pid/statm第二列得到 PAGESIZE: 通过命令getconf PAGESIZE获取 MemTotal:通过/proc/meminfo获取 采集方式(Windows):使用Windows API procGlobalMemoryStatusEx获取内存总量,通过GetProcessMemoryInfo获取内存已使用量,计算两者比值得到内存使用率。 0-100% 云服务器 1分钟 proc_pHashId_file 打开文件数 进程打开文件数,pHashId是(进程名+进程ID)的md5值。 采集方式(Linux):通过执行ls -l /proc/pid/fd 可以查看数量。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_running_count (Agent) 运行中进程数 该指标用于统计测量对象处于运行状态的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_idle_count (Agent) 空闲进程数 该指标用于统计测量对象处于空闲状态的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_zombie_count (Agent) 僵死进程数 该指标用于统计测量对象处于僵死状态的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_blocked_count (Agent) 阻塞进程数 该指标用于统计测量对象被阻塞的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_sleeping_count (Agent) 睡眠进程数 该指标用于统计测量对象处于睡眠状态的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):暂不支持。 ≥0 云服务器 1分钟 proc_total_count (Agent) 系统进程数 该指标用于统计测量对象的总进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):通过psapi.dll系统进程状态支持模块得到进程总数。 ≥0 云服务器 1分钟 proc_specified_count (Agent) 指定进程数 该指标用于统计测量对象指定的进程数。 采集方式(Linux):通过统计 /proc/pid/status 中Status值获取每个进程的状态,进而统计各个状态进程总数。 采集方式(Windows):通过psapi.dll系统进程状态支持模块得到进程总数。 ≥0 云服务器 云服务器 - 进程 1分钟
-
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
-
圆桌 事件模板 圆桌应用的最小粒度,一个事件模板由多个组件和多条规则组成。表现为一张带有一定规则的表单,代表一次与系统的交互及留存的记录。 事件流 由一个或多个事件模板组成,代表一个业务流程。 圆桌应用 事件流和管理视图组成了圆桌应用,用户使用圆桌应用完成自己的业务诉求。 管理视图 汇聚了业务数据,使其可以以一个可视化的形式展现在用户面前。用户可以通过管理视图操作自己的业务环节,查找业务数据。 主题 业务的对象/范围,可以简单理解为一个团队。所有的业务都是在团队内进行的。 父子主题 可以简单理解为具有上下级关系的团队,父级可以看到所有子级的业务数据,子级只能看到自己的业务数据。 表单触发 以监听的表单产生实例/更新等动作为契机,触发下一步动作。 按钮触发 以单击表单中的按钮为契机,触发下一步动作。 模板市场 交易/启用圆桌应用的市场,构建者可以将自己构建的圆桌应用上架到模板市场,交易给其他用户。 工作台 圆桌工作台,呈现与用户相关的工作信息,如任务、待办等。 数字秘书 数字秘书可以由用户自己定制想要看到的信息,对与自己有关的信息进行筛选和推送。
-
修订记录 发布日期 修改说明 2024-04-29 第十六次正式发布。 新增: 云防火墙 相关概念章节中,防护流量概念。 2023-12-20 第十五次正式发布。 新增: 约束与限制章节中,IP地址组、服务组、 域名 组的约束限制。 2023-10-11 第十四次正式发布。 新增: 个人数据说明章节。 2023-08-02 第十三次正式发布。 新增: 约束与限制章节,新增功能约束与限制。 云防火墙相关概念章节,新增企业路由器、云墙关联子网、Inspection VPC概念。 2023-07-05 第十二次正式发布。 新增: 云防火墙相关概念章节,新增互联网边界防火墙、VPC边界防火墙、入侵防御系统、病毒防御概念。 与其它云服务的关系章节,新增企业路由器、云审计服务、 云日志 服务、 消息通知 服务、企业管理内容。 优化服务版本差异章节,功能描述。 删除“基础版”和“华为旁路引擎”相关描述。 2023-05-06 第十一次正式发布。 新增CFW权限管理中特殊权限策略。 2023-02-02 第十次正式发布。 新增云防火墙相关概念章节中,“Internet访问”和“主动外联访问”概念。 2022-11-14 第九次正式发布。 新增安全章节。 2022-06-27 第八次正式发布。 新增“计费说明”章节。 修改1.3-服务版本差异章节,更新版本差异内容,新增专业版内容。 2022-04-24 第八次正式发布。 修改什么是云防火墙章节,新增支持的访问控制策略内容。 2022-03-15 第七次正式发布。 修改什么是云防火墙。 修改功能特性。 2021-12-10 第六次正式发布。 新增云防火墙相关概念章节。 2021-12-03 第五次正式发布。 新增等保合规能力说明章节。 2021-10-21 第四次正式发布。 修改CFW权限管理章节,新增授权项内容。 2021-10-12 第三次正式发布。 新增服务版本差异章节。 修改功能特性章节,新增资产管理、访问控制和入侵防御特性。 2021-07-09 第二次正式发布。 新增CFW权限管理章节。 2021-06-30 第一次正式发布。
-
示例流程 图1 给用户授权云耀数据库权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予云耀数据库只读权限“RDS ReadOnlyAccess”。 如果需要使用到对接其他服务的一些功能时,除了需要配置“RDS ReadOnlyAccess”权限外,还需要配置对应服务的权限。 例如:使用控制台连接实例时,除了需要配置“RDS ReadOnlyAccess”权限外,您还需要配置数据管理服务“DAS FullAccess”权限后,才可正常使用控制台登录数据库实例。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 进入云耀数据库界面,单击右上角“购买云耀数据库实例”,尝试购买实例,如果无法购买云耀数据库(假设当前权限仅包含RDS ReadOnlyAccess),表示“RDS ReadOnlyAccess”已生效。 选择除云耀数据库外(假设当前策略仅包含RDS ReadOnlyAccess)的任一服务,如果提示权限不足,表示“RDS ReadOnlyAccess”已生效。
-
限定条件下载 下载对象时,可以指定一个或多个限定条件,满足限定条件时则进行下载,否则抛出异常,下载对象失败。 您可以使用的限定条件如下: 参数 作用 OBS iOS SDK对应方法 ifModifiedSince 如果对象在指定的时间后有修改,则返回对象内容,否则返回错误。 request.ifModifiedSince ifUnmodifiedSince 如果对象在指定的时间后没有修改,则返回对象内容,否则返回错误。 request.ifUnmodifiedSince ifETagMatch 如果对象的ETag值与该参数值相同,则返回对象内容,否则抛出异常。 request.ifETagMatch ifETagNoneMatch 如果对象的ETag值与该参数值不相同,则返回对象内容,否则抛出异常。 request.ifETagNoneMatch 对象的ETag值是指对象数据的MD5校验值。 如果限制条件不符合,则会返回错误preconditionFailed。 以下代码展示了如何进行限定条件下载: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 流式下载 OBSGetObjectToDataRequest *request = [[OBSGetObjectToDataRequest alloc]initWithBucketName:@"bucketname" objectKey:@"objectname"]; // 限定条件 request.ifModifiedSince = [[OBSUtils getDateFormatterRFC1123]dateFromString:@"Mon, 18 Dec 2017 03:50:49 GMT"]; // Etag相等 request.ifETagMatch = @"123223"; // 下载进度 request.downloadProgressBlock = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) { NSLog(@"%0.1f%%",(float)(totalBytesWritten)*100/(float)totalBytesExpectedToWrite); }; // 下载的数据 __block NSMutableData *objectData = [NSMutableData new]; request.onReceiveDataBlock = ^(NSData *data) { [objectData appendData:data]; }; // 下载结果 [client getObject:request completionHandler:^(OBSGetObjectResponse *response, NSError *error){ NSLog(@"%@",response); }] ; 当使用OBSGetObjectToFileRequest时,可以设置background属性为YES进行后台下载。 父主题: 下载对象
-
修订记录 发布日期 修订记录 2024-04-30 第十次正式发布。 修改章节: SDK下载。 2020-04-21 第九次正式发布。 修改章节: 配置OBS客户端,新增配置请求连接数的相关说明。 2020-03-13 第八次正式发布。 修改章节: 使用临时URL进行授权访问,新增获取对象的示例代码。 2019-11-20 第七次正式发布。 调整以下章节的位置: 示例程序。 技术支持渠道。 2019-11-1 第六次正式发布 修改章节: 2.13-OBS客户端通用示例,新增以局部变量形式创建OBS客户端的相关说明。 3.2-创建OBS客户端,新增以自定义域名访问方式创建OBS客户端的使用说明。 5.5-设置对象属性,新增以任意字符串设置对象上传类型的相关内容。 7.3-列举对象,添加了列举根目录下所有文件夹的代码样例。 7.5-复制对象,完善复制对象时的属性重写相关代码样例。 2019-08-20 第五次正式发布 修改章节: 创建OBS客户端,新增并发场景下的使用说明。 文件上传,完善错误处理的判断方式。 设置对象属性,新增上传时设置文件类型的介绍。 2019-05-30 第四次正式发布 修改章节: OBS服务环境搭建,增加临时访问密钥相关内容。 创建OBS客户端,增加临时访问密钥相关代码样例。 2019-03-05 第三次正式发布 新增章节: API参考。 2018-10-31 第二次正式发布 新增章节: 追加上传。 修改章节: 管理桶访问权限,修改成自定义接口枚举值。 2018-5-31 第一次正式发布。
-
对象上传简介 在OBS中,用户操作的基本数据单元是对象。OBS iOS SDK提供了丰富的对象上传接口,可以通过以下方式上传对象: 流式上传 文件上传 分段上传 追加上传 断点续传上传 SDK支持上传0KB~5GB的对象。流式上传、文件上传和追加上传的内容大小不能超过5GB;当上传较大文件时,请使用分段上传,分段上传每段内容大小不能超过5GB。 如果上传的对象权限设置为匿名用户读取权限,对象上传成功后,匿名用户可通过链接地址访问该对象数据。对象链接地址格式为:https://桶名.域名/文件夹目录层级/对象名。如果该对象存在于桶的根目录下,则链接地址将不需要有文件夹目录层级。 父主题: 上传对象
-
断点续传下载 当下载大对象到本地文件时,经常出现因网络不稳定或程序崩溃导致下载失败的情况。失败后再次重新下载不仅浪费资源,而且当网络不稳定时仍然有下载失败的风险。断点续传下载接口能有效地解决此类问题引起的下载失败,其原理是将待下载的对象分成若干个分段分别下载,并实时地将每段下载结果统一记录在checkpoint文件中,仅当所有分段都下载成功时返回下载成功的结果,否则抛出异常提醒用户再次调用接口进行重新下载(重新下载时因为有checkpoint文件记录当前的下载进度,避免重新下载所有分段,从而节省资源提高效率)。 您可以通过downloadFile进行断点续传下载。该接口可设置的参数如下: 参数 作用 OBS iOS SDK对应方法 bucketName 桶名,必选参数。 request.bucketName objectKey 对象名,必选参数。 request.objectKey downloadFilePath 下载对象的本地文件全路径。 request.downloadFilePath versionID 对象的版本号。 request.versionID enableCheckpoint 是否开启断点续传模式,默认为NO,表示不开启。 request.enableCheckpoint enableMD5Check 是否开启MD5校验。 request.enableMD5Check enableForceOverwrite 是否开启强制覆盖。 request.enableForceOverwrite checkpointFilePath 记录下载进度的文件,只在断点续传模式下有效。当该值为空时,默认与下载对象的本地文件路径同目录。 request.checkpointFilePath partSize 分段大小,单位字节,取值范围是5MB~5GB。 request.partSize ifModifiedSince 如果对象在指定的时间后有修改,则返回对象内容,否则返回错误。。 request.ifModifiedSince ifUnmodifiedSince 如果对象在指定的时间后没有修改,则返回对象内容,否则返回错误。 request.ifUnmodifiedSince ifETagMatch 如果对象的ETag值与该参数值相同,则返回对象内容,否则抛出异常。 request.ifETagMatch ifETagNoneMatch 如果对象的ETag值与该参数值不相同,则返回对象内容,否则抛出异常。 request.ifETagNoneMatch 以下代码展示了如何使用断点续传下载接口下载对象到本地文件: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 存储路径 NSString * outfilePath = [NSTemporaryDirectory() stringByAppendingString:@"filename"]; // 最大并发数 self.client.configuration.maxConcurrentDownloadRequestCount = 5; // 断点续传下载 OBSDownloadFileRequest *request = [[OBSDownloadFileRequest alloc]initWithBucketName:@"bucketname" objectKey:@"objectname" downloadFilePath:outfilePath]; // 是否打开强制覆盖 request.enableForceOverwrite = YES; // 分段大小 request.partSize = [NSNumber numberWithInteger:5*1024*1024]; // 是否开启断点续传 request.enableCheckpoint = YES; request.downloadProgressBlock = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) { NSLog(@"%0.1f%%",(float)floor(totalBytesWritten*10000/totalBytesExpectedToWrite)/100); }; OBSBFTask *task = [client downloadFile:request completionHandler:^(OBSDownloadFileResponse *response, NSError *error) { NSLog(@"%@",response); }]; [task waitUntilFinished]; if(task.error){ // 重新下载 } 父主题: 下载对象
-
断点续传上传 当上传大文件时,经常出现因网络不稳定或程序崩溃导致上传失败的情况。失败后再次重新上传不仅浪费资源,而且当网络不稳定时仍然有上传失败的风险。断点续传上传接口能有效地解决此类问题引起的上传失败,其原理是将待上传的文件分成若干个分段分别上传,并实时地将每段上传结果统一记录在checkpoint文件中,仅当所有分段都上传成功时返回上传成功的结果,否则抛出异常提醒用户再次调用接口进行重新上传(重新上传时因为有checkpoint文件记录当前的上传进度,避免重新上传所有分段,从而节省资源提高效率)。 您可以通过uploadFile进行断点续传上传。该接口可设置的参数如下: 参数 作用 OBS iOS SDK对应方法 bucketName 桶名,必选参数。 request.bucketName objectKey 对象名,必选参数。 request.objectKey objectACLPolicy 对象访问策略。 request.objectACLPolicy storageClass 对象存储类型。 request.storageClass metaDataDict 对象元数据。 request.metaDataDict websiteRedirectLocation 网址重定向位置。 request.websiteRedirectLocation encryption 加密方式。 request.encryption enableCheckpoint 是否开启断点续传模式,默认为NO,表示不开启。 request.enableCheckpoint enableMD5Check 是否开启MD5校验,默认为NO,表示不开启。 request.enableMD5Check checkpointFilePath 记录上传进度的文件,只在断点续传模式下有效。当该值为空时,默认与待上传的本地文件同目录。文件名后缀可指定为obsuploadcheckpoint。 request.checkpointFilePath partSize 分段大小,单位字节,取值范围是100KB~5GB,默认为5MB。 request.partSize 以下代码展示了如何使用断点续传上传接口上传文件: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 分段上传的最大并发数 client.configuration.maxConcurrentUploadRequestCount = 5; // 分段上传请求的最大连接数 client.configuration.uploadSessionConfiguration.HTTPMaximumConnectionsPerHost = 10; NSString *filePath = [[NSBundle mainBundle]pathForResource:@"fileName" ofType:@"Type"]; OBSUploadFileRequest *request = [[OBSUploadFileRequest alloc]initWithBucketName:@"bucketname" objectKey:@"objectname" uploadFilePath:filePath]; // 分段大小为5MB request.partSize = [NSNumber numberWithInteger: 5 * 1024*1024]; // 开启断点续传模式 request.enableCheckpoint = YES; // 指定checkpoint文件路径 request.checkpointFilePath = @"Your CheckPoint File"; // 上传文件 request.uploadProgressBlock = ^(int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend) { NSLog(@"%0.1f%%",(float)floor(totalBytesSent*10000/totalBytesExpectedToSend)/100); }; OBSBFTask *task = [client uploadFile:request completionHandler:^(OBSUploadFileResponse *response, NSError *error) { NSLog(@"%@",response); if(error){ // 再次上传 } }]; 断点续传上传接口是利用分段上传特性实现的,是对分段上传的封装和加强。 断点续传上传接口不仅能在失败重传时节省资源提高效率,还因其对分段进行并发上传的机制能加快上传速度,帮助用户快速完成上传业务;且其对用户透明,用户不用关心checkpoint文件的创建和删除、分段任务的切分、并发上传的实现等内部细节。 enableCheckpoint参数默认是NO,代表不启用断点续传模式,此时断点续传上传接口退化成对分段上传的简单封装,不会产生checkpoint文件。 checkpointFile参数仅在enableCheckpoint参数为YES时有效。 当前,当有多个上传任务需要并发执行时,需为每个上传任务初始化一个client及request进行处理。 父主题: 上传对象
-
示例三:建立固定流程的会签审批工单 前提条件 已完成部门、用户、角色和资源等项的规划和设置。部门设置请参考部门,用户和角色设置请参考用户,资源设置请参考资源。 工单审批流程设置如表3所示,具体操作请参考工单配置。 表3 工单配置参数说明 参数 内容 审批流程 固定流程 审批形式 会签审批 审批节点 3 签核流程 用户提起工单电子流,申请访问非用户所属部门的资源。 工程部管理员User B和User C均拥有审批权,两者都批准则该环节审批通过,任意一人驳回则该环节审批不通过。工程部管理员审批通过后,下一环节将由财务部管理员User D进行审批,以此类推,直到财务部管理员User E审批通过后,用户即可获得相应的权限。审批过程中任意一个环节驳回,则该工单审批不通过,用户不能获取相应的权限。 拥有admin管理员权限的账号可在任意节点审批或驳回任意工单,且结果为最终结果。
-
示例二:按资源所属部门申请资源,建立分级流程工单 前提条件 已完成部门、用户、角色和资源等项的规划和设置。部门设置请参考部门,用户和角色设置请参考用户,资源设置请参考资源。 工单审批流程设置如表2所示,具体操作请参考工单配置。 表2 工单配置参数说明 参数 值 审批流程 分级流程 审批形式 多人审批 审批节点 用户所属部门-部门管理员 审批级数 3 审批流程 用户提起工单电子流,按资源所属部门申请访问资源。 镇管理员User D进行审批,审批通过则由县管理员User E进行下一环节的审批,审批不通过则工单被驳回。以此类推,直到市管理员User F审批通过后,用户即可获得相应的权限。审批的过程中任意一个环节驳回,则该工单审批不通过,用户不能获取相应的权限。 拥有admin管理员权限的账号可在任意节点审批或驳回任意工单,且结果为最终结果。
-
示例一:按用户所属部门申请资源,建立分级流程工单 前提条件 已完成部门、用户、角色和资源等项的规划和设置。部门设置请参考部门,用户和角色设置请参考用户,资源设置请参考资源。 工单审批流程设置如表1所示,具体操作请参考工单配置。 表1 工单配置参数说明 参数 值 审批流程 分级流程 审批形式 多人审批 审批节点 用户所属部门-部门管理员 审批级数 3 审批流程 用户提起工单电子流,按用户所属部门申请访问资源。 大队管理员User A和User B均拥有审批权,只要任意一人批准,则该环节审批通过,任意一人驳回,则该环节审批不通过。大队管理员审批通过后,下一环节将由村管理员User C进行审批。以此类推,直到镇管理员User D审批通过后,用户即可获得相应的权限。审批过程中任意一个环节驳回,则该工单审批不通过,用户不能获得相应的权限。 拥有admin管理员权限的账号可在任意节点审批或驳回任意工单,且结果为最终结果。
-
问题原因 由于Chrome等浏览器只支持硬解码H265(HEVC)视频,当您的PC硬件不支持解码H265(HEVC)视频时,Chrome等浏览器将无法播放H265(HEVC)视频,并获取不到视频分辨率等参数。 在Chrome浏览器中输入“chrome://gpu”后,搜索“coding”。可以检查当前PC的浏览器是否支持H265(HEVC)视频解码。 图2 查看浏览器配置 用ffmpeg检查视频的编码是否是H265(HEVC),输入命令:ffmpeg -i 视频文件名。 图3 检查视频是否是hevc编码 需要先安装ffmpeg,安装方法如下。 ffmpeg下载地址:https://github.com/BtbN/FFmpeg-Builds/releases。 ffmpeg解压后,将其下bin目录加入系统环境变量。 输入命令行ffmpeg后可以显示版本号,说明安装成功。
-
调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65ewtrgaggshhk1223245sghjlse684b", "is_domain": false, "parent_id": "65ewtrgaggshhk1223245sghjlse684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4adasfjljaaaakla12334jklga9sasfg" }, "id": "a4adasfjljaaaakla12334jklga9sasfg", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
-
AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
-
请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,$ADMIN_PASS表示用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 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 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "$ADMIN_PASS", //建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“X-Subject-Token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
-
分区键和排序键有什么区别? 分区键和排序键之间的对比如表1所示 表1 分区键、排序键对比 对比维度 分区键 排序键 应用场景 分区键用于确定该表中的每一个KV所在的分区。例如,对于一个用户表,可以指定用户名属性作为分区键。 KVS会根据此用户名的名称(KV)选择分区,同样的用户名名称存储在同一个分区。 表中的KV会根据排序键进行排序以后存储。查询数据时,您可以按照排序键输出数据。 支持主键 简单主键(分区键)和复合主键(分区键和排序键)。 复合主键(分区键和排序键)。 父主题: 概念类
-
本地二级索引与全局二级索引有什么区别? 本地二级索引和全局二级索引之间的对比如表1所示。 每个索引属于一个表,该表称为索引的主表。 表1 本地二级索引、全局二级索引对比 对比维度 本地二级索引 全局二级索引 概念 对于复合主键(分区键+排序键)的表,支持创建本地二级索引,实现分区键下的多个键值的辅助索引。 表支持创建非主键字段的全局检索,全局二级索引只保存索引记录,不保存完整键值内容。 应用场景 创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;本地二级索引的排序键为运动日期,通过该索引可快速查询某一天的运动时长最长或最短的用户信息。 创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;全局二级索引的分区键为所在城市,排序键为热量消耗,由于主键字段会投影到全局二级索引的键值中,即全局二级索引记录中包含用户名和运动时长的信息,通过该索引可快速查询到在某城市热量消耗最多或者最少的用户信息。 键架构 复合主键(分区键和排序键)。 简单主键(分区键)或复合主键(分区键和排序键)。 特点 分区键与主表相同但排序键不同。 分区键和排序键可与主表中的对应键不同。 一致性 KV写入时,自动生成并存储本地二级索引记录,并保证KV写入与本地二级索引记录的强一致。 KV写入时,自动生成索引记录,并异步写入全局二级索引,KV写入与全局二级索引记录为最终一致。 创建数量 一个表最多支持创建5个本地二级索引。 一个表最多支持创建20个全局二级索引。 父主题: 概念类
-
如何使用KVS 图2 KVS入门流程示意图 创建存储仓。 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 在页面右上角单击“创建仓”。 根据界面提示,配置“仓详细信息”参数。参数信息详见“仓详细信息”参数说明。 根据界面提示,配置“表详细信息”参数。参数信息详见“表详细信息”参数说明。 根据界面提示,配置“二级索引”参数。支持创建本地二级索引和全局二级索引。参数信息详见“创建本地二级索引”和“创建全局二级索引”参数说明。 信息设置完成后,单击“确定”。 创建表。 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 在仓列表中找到需要创建表的仓,在仓对应的操作列,单击“创建表”,或者单击仓名称进入仓的详情页面,在“表信息”下单击“创建表”。 根据界面提示,配置“表详细信息”参数。参数信息详见“表详细信息”参数说明。 根据界面提示,配置“二级索引”参数。支持创建本地二级索引或全局二级索引。参数信息详见“创建本地二级索引”和“创建全局二级索引”参数说明。 信息设置完成后,单击“确定”。 插入KV数据。 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 单击仓名进入要插入KV的仓,单击表名进入要插入KV的表。 选择“KV信息”页签。 单击左上角的“插入KV”。 填写必选属性的属性值,即KV分区键和排序键的值。 【可选】如果您除了分区键和排序键外,还需要新增其他属性,可以单击属性表单下方的“添加KV”,自定义属性和属性值。 所有属性和属性值填写完成后,单击右下角的“确定”,完成KV插入。 查看KV列表,检查新插入的KV是否在列表中,KV存在则插入成功,KV不存在则插入失败。
-
广告归因业务诉求 广告归因(Advertising Tracking)帮助用户量化移动广告推广效果,让广告主投放的每一个广告,成本低效果好。这就需要满足两个基本要求:广告推广的指标量化、指标计算实时性,这就强依赖广告检测。广告检测平台需要接受大量曝光、点击、浏览等事件数据,并实时处理。在落地过程中存在诸多挑战: 数据量大 广告监测平台会收到大量的曝光、点击、浏览时间,其中可能包括大量的造假时间,每天存储数据条数,达到几十到几百亿条,而且很需要长期存储(通常为90天)。 业务请求规模不可预知 广告主推广广告,推广效果无法预知,可能会发生轰动效果,造成大量突发性曝光、点击、浏览事件产生。 数据实时处理 广告主依赖广告监测平台实时处理结果来调整推放广告策略,广告监测平台处理事件数据的实时性直接影响推广策略调整的效率。
-
操作步骤 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 单击仓名进入要插入KV的仓,单击表名进入要插入KV的表。 选择“KV信息”页签。 单击左上角的“插入KV”。 图1 “插入KV”界面 填写必选属性的属性值,即KV分区键和排序键的值。 【可选】如果您除了分区键和排序键外,还需要新增其他属性,可以单击属性表单下方的“添加KV”,自定义属性和属性值。 所有属性和属性值填写完成后,单击右下角的“确定”,完成KV插入。 查看KV列表,检查新插入的KV是否在列表中,KV存在则插入成功,KV不存在则插入失败。
-
操作步骤 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 在仓列表中找到需要创建表的仓,在仓对应的操作列,单击“创建表”,或者单击仓名称进入仓的详情页面,在“表信息”下单击“创建表”。 根据界面提示,配置“表详细信息”参数。 图1 “表详细信息”界面 表1 “表详细信息”参数说明 参数名称 子参数名称 描述 表详细信息 表名称 必选参数。 表的名称。表的名称长度范围为3-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成,且表的名称在存储仓内唯一。 分区键 必选参数。 分区键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 排序键 可选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 根据界面提示,配置“二级索引”。支持创建本地二级索引或全局二级索引。 单击“创建本地二级索引”,配置参数信息如表2所示。确认配置信息后单击“确定”。 图2 “创建本地二级索引”界面 表2 “创建本地二级索引”参数说明 参数名称 子参数名称 描述 创建本地二级索引 名称 必选参数。 本地二级索引的名称。名称的长度范围为1-255个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”、“.”组成。名称不支持设置为“XPriIndex”。 排序键 必选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 摘要 可选参数。 本地二级索引的概述。支持创建多个摘要。摘要的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。首字母不支持设置为“_”。 单击“创建全局二级索引”,配置参数信息如表3所示。确认配置信息后单击“确定”。 图3 “创建全局二级索引”界面 表3 “创建全局二级索引”参数说明 参数名称 子参数名称 描述 创建全局二级索引 名称 必选参数。 本地全局索引的名称。名称的长度范围为1-255个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”、“.”组成。名称不支持设置为“XPriIndex”。 分区键 必选参数。 分区键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 排序键 可选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 摘要 可选参数。 全局二级索引的概述。支持创建多个摘要。摘要的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。首字母不支持设置为“_”。 信息设置完成后,单击“确定”。
-
操作步骤 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 单击仓名进入要插入KV的仓,单击表名进入要插入KV的表。 选择“KV信息”页签。 单击左上角的“插入KV”。 图1 “插入KV”界面 填写必选属性的属性值,即KV分区键和排序键的值。 【可选】如果您除了分区键和排序键外,还需要新增其他属性,可以单击属性表单下方的“添加KV”,自定义属性和属性值。 所有属性和属性值填写完成后,单击右下角的“确定”,完成KV插入。 查看KV列表,检查新插入的KV是否在列表中,KV存在则插入成功,KV不存在则插入失败。
-
操作步骤 进入KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”。 在页面右上角单击“创建仓”。 根据界面提示,配置“仓详细信息”参数,如表1所示。 图1 “仓详细信息”界面 表1 “仓详细信息”参数说明 参数名称 子参数名称 描述 仓详细信息 仓名称 必选参数。 存储仓的名称。存储仓的名称长度范围为16-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”组成,“-”不能出现在名字头部或尾部。仓名称全域唯一,不同租户的仓名不能相同。 存储仓的命名规范为{用户自定义前缀}-{当前控制台所在区域的区域名}-{账号ID} 。 须知: 区域名和账号ID为仓名称的固定部分,用户只需填写自定义前缀部分。 根据界面提示,配置“表详细信息”参数,如表2所示。 图2 “表详细信息”界面 表2 “表详细信息”参数说明 参数名称 子参数名称 描述 表详细信息 表名称 必选参数。 表的名称。表的名称长度范围为3-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成,且表名称在存储仓内唯一。 分区键 必选参数。 分区键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 排序键 可选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 根据界面提示,配置“二级索引”。支持创建本地二级索引和全局二级索引。 单击“创建本地二级索引”,配置参数信息如表3所示。确认配置信息后单击“确定”。 图3 “创建本地二级索引”界面 表3 “创建本地二级索引”参数说明 参数名称 子参数名称 描述 创建本地二级索引 名称 必选参数。 本地二级索引的名称。名称的长度范围为1-255个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”、“.”组成。名称不支持设置为“XPriIndex”。 排序键 必选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。首字母不支持设置为“_”。 摘要 可选参数。 本地二级索引的概述。支持创建多个摘要。摘要的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 单击“创建全局二级索引”,配置参数信息如表4所示。确认配置信息后单击“确定”。 图4 “创建全局二级索引”界面 表4 “创建全局二级索引”参数说明 参数名称 子参数名称 描述 创建全局二级索引 名称 必选参数。 全局二级索引的名称。名称的长度范围为1-255个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”、“.”组成。名称不支持设置为“XPriIndex”。 分区键 必选参数。 分区键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 排序键 可选参数。 排序键的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。 首字母不支持设置为“_”。 摘要 可选参数。 全局二级索引的概述。支持创建多个摘要。摘要的长度范围为1-63个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成。首字母不支持设置为“_”。 信息设置完成后,单击“确定”。
-
约束与限制 存储仓的名称长度范围为16-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”组成,“-”不能出现在名字头部或尾部。仓名称全域唯一,不同租户的仓名不能相同。存储仓的命名规范为{用户自定义前缀}-{当前控制台所在区域的区域名}-{账号ID} ,例如:exampleprefix-cn-north-4-exampledomainid。 为存储仓命名时字母大小写不敏感。例如,KVS已存在存储仓exampleprefix-cn-north-4-exampledomainid,如果您再创建存储仓Exampleprefix-cn-north-4-exampledomainid,系统会认定为同一种仓名,导致创建存储仓失败。 单个账号支持创建的存储仓数量不超过25个。
-
如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“非洲-约翰内斯堡”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 “拉美-圣地亚哥”区域位于智利。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
共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
推荐文章