华为云用户手册
-
网段类型 网段类型配置可以采用两种配置方式。 * : 代表任何IP地址 CIDR格式网段 : CIDR格式地址使用可变长度子网掩码来表示IP地址中网络地址位和主机地址位之间的比例。 CIDR IP地址在普通IP地址的基础上附加了一个后缀值,这个后缀值就是网络地址前缀位数。 例如,192.1.1.0/24 是一个 IPv4 CIDR地址,其中前 24 位(即 192.1.1)是网络地址。任何前24位与192.1.1.0相同的IP都适用于这一条鉴权规则,即192.1.1.1 与 192.1.1.1/32 表达的含义相同。
-
添加授权地址操作步骤 本章节介绍如何通过控制台完成添加授权地址进行权限管理。 如果您想通过API调用完成文件系统权限管理,请参考《高性能弹性文件服务API参考》权限管理章节。 登录SFS Turbo管理控制台。 在SFS Turbo文件系统列表中,找到待添加授权地址的SFS Turbo文件系统并单击目标文件系统名称,进入文件系统详情界面。 在“权限列表”页签,单击“添加”。 图1 添加授权地址 在“添加授权地址”弹窗内,参考表3完成授权地址的添加。 一个文件系统最多可以配置64条权限规则,单次最多可新增5个授权地址。 表3 添加授权地址说明 参数 说明 授权地址 只能输入一个的IP或网段。 输入的IPv4地址/地址段必须合法,且不能为除0.0.0.0/0以外之前0开头的IP地址或地址段,其中当设置为0.0.0.0/0时表示VPC内的任意IP。同时,不能为127以及224~255开头的IP地址或地址段,例如127.0.0.1,224.0.0.1,255.255.255.255,因为以224-239开头的IP地址或地址段是属于D类地址,用于组播;以240-255开头的IP地址或地址段属于E类地址,用于研究。使用非合法的IP或IP地址段可能会导致添加访问规则失败或者添加的访问规则无法生效。 如果要表示一个地址段,如192.168.1.0-192.168.1.255的地址段应使用掩码形式:192.168.1.0/24,不支持192.168.1.0-255等其他地址段表示形式。掩码位数的取值为0到31的整数,且只有为0.0.0.0/0时掩码位数可取0,其他情况均不合法。 网段类型请参见网段类型。 读写权限 支持选择以下读写权限。默认选择“rw”。 rw:用户拥有读写权限。 ro:用户拥有只读权限。 none:用户无权限访问。 用户权限 支持选择以下用户权限。默认选择“all_squash”。 all_squash:所有的用户访问时权限降为nobody。 root_squash:root用户访问时权限降为nobody。 no_root_squash:包括root用户在内的任何用户访问时权限都不会降为nobody。 确认授权地址信息,单击“确定”。
-
在云备份控制台创建备份操作步骤 请确认目标文件系统为“可用”状态,否则无法启动备份任务。此步骤介绍如何手动创建文件系统备份。 备份标准型、标准型-增强版(停售)、性能型、性能型-增强版(停售)等类型的SFS Turbo文件系统过程中,挂载文件系统可能会失败,正在挂载使用的连接会感知30秒左右的IO延迟,建议在业务低峰期备份。 登录云备份管理控制台。 在左侧导航栏选择“SFS Turbo备份”。 参考《云备份用户指南》的“快速创建SFS Turbo备份”章节,完成创建备份存储库的操作,再根据创建文件系统备份完成创建备份操作。 系统会自动进行文件系统的备份。 您可以在备份页面,查看备份创建状态。当文件系统备份的“备份状态”变为“可用”时,表示备份创建成功。 当文件系统发生错误等故障时,可以使用备份创建新的文件系统,具体请参考使用备份创建新文件系统。
-
操作场景 备份是SFS Turbo文件系统在某一时间点的完整备份,记录了这一时刻文件系统的所有配置数据和业务数据。 当您的文件系统出现故障或文件系统中的数据发生逻辑错误时(如误删数据、遭遇黑客攻击或病毒危害等),可快速使用备份恢复数据。 创建备份有以下方式: 方式一:在云备份控制台创建备份,详情请参见在云备份控制台创建备份操作步骤。 方式二:在高性能弹性文件服务控制台创建文件系统时创建备份,详情请参见创建文件系统。 方式三:在高性能弹性文件服务控制台操作列入口创建备份,详情请参见在高性能弹性文件服务控制台创建备份。 使用备份创建新文件系统有以下方式: 方式一:在云备份控制台使用备份创建新文件系统,详情请参见在云备份控制台使用备份创建新文件系统。 方式二:在高性能弹性文件服务控制台使用备份创建新文件系统,详情请参见在高性能弹性文件服务控制台使用备份创建新文件系统。
-
操作步骤 登录SFS Turbo管理控制台。 在文件系统列表中查看所有文件系统的基本信息,参数说明如表1所示。 表1 参数说明 参数 说明 名称 已创建的文件系统名称,例如:sfs-turbo-name001。 状态 文件系统的状态,包含“可用”、“不可用”、“已冻结”、“正在创建”、“正在删除”、“删除错误”、“创建失败”、“正在扩容”、“扩容错误”、“正在缩容”、“缩容错误”和“缩容失败”。 可用区 文件系统所在的可用区。 类型 文件系统的类型。 协议类型 文件系统的协议类型为NFS。 已用容量(GB) 文件系统存放数据已使用的空间。 说明: 该数据不是实时数据,平均15分钟刷新一次。 最大容量(GB) 文件系统的最大使用容量。 加密 已经创建的文件系统的加密状态,包括“是”和“否”。 企业项目 文件系统归属的企业项目。 共享路径 文件系统的挂载路径。 计费模式 已经创建的文件系统的计费模式,包括“按需计费”和“包年/包月”。其中,按需计费模式同时展示创建文件系统的时间,包年/包月模式同时展示包年/包月到期时间 操作 SFS Turbo包含“扩容”、“删除”、“监控”、“转包周期”、“创建备份”、“续订”和“退订”操作。 说明: 包年/包月的SFS Turbo文件系统创建完成后,大约1到2分钟后,才能执行续订、退订等操作。 单击文件系统名称,可查看更多的文件系统信息。 图1 SFS Turbo文件系统的扩展信息 (可选)通过文件系统名称关键字、ID、可用区、类型、协议类型、已用容量或文件系统状态来过滤查看指定的文件系统。
-
包年/包月的SFS Turbo文件系统扩容 登录SFS Turbo管理控制台。 在SFS Turbo文件系统列表中,单击需要扩容的SFS Turbo文件系统所在行的“扩容”,进入“扩容”页面。 图1 包年/包月的SFS Turbo文件系统扩容 表1 参数说明 参数 说明 当前容量 当前文件系统的容量。 目标容量 容量调整后文件系统的容量。 取值约束: 标准型、标准型-增强版(停售)、性能型、性能型-增强版(停售):扩容步长至少为100GB起步。标准型和性能型可调整最大容量不超过32TB,增强版可调整最大容量不超过320TB。 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB:扩容步长为1.2TB起步,且必须为1.2TB的整数倍。可调整最大容量不超过1PB。 HPC缓存型(停售):起步容量=选择的新带宽大小*2,扩容步长为1TB起步,可调整最大容量不超过1PB。 说明: 特殊场景:HPC缓存型(停售)支持在容量不变的情况下,降低带宽。 当前带宽 HPC缓存型文件系统的当前带宽。 目标带宽 扩容后HPC缓存型文件系统的新带宽大小。 根据业务需要,输入目标容量,单击“立即购买”。 确认资源无误后,单击“提交”。 根据页面提示支付成功后,可返回文件系统列表,单击该文件系统名称,确认扩容后的总容量。
-
操作步骤 登录SFS Turbo管理控制台。 在SFS Turbo文件系统列表中,找到待添加标签的SFS Turbo文件系统并单击目标SFS Turbo文件系统名称,进入SFS Turbo文件系统详情界面。 图1 SFS Turbo文件系统标签信息 选择“标签”页签。 在“标签”页签下,单击“编辑标签”按钮。弹出“编辑标签”对话框。 单击“添加新标签”,添加标签的“键”和“值”,并单击“确定”。 键:该项为必选参数。 值:该项为可选参数。 返回标签列表,即可看到新添加的标签,添加完毕。同时也可以对已添加的标签进行编辑和删除操作。
-
文件系统类型 本章节介绍了各种类型的SFS Turbo文件系统的特点、优势及应用场景。 表1 SFS Turbo文件系统 参数 20MB/s/TiB 40MB/s/TiB 125MB/s/TiB 250MB/s/TiB 500MB/s/TiB 1000MB/s/TiB 最大带宽 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 最大IOPS 25万 25万 100万 100万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 1~3ms 容量 3.6TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 优势 大容量、低成本 大容量、低成本 低时延、高性价比 低时延、高性价比 高IOPS、性能高密 高IOPS、性能高密 典型应用场景 日志存储、文件共享、内容管理、网站 日志存储、文件共享、内容管理、网站 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 大规模AI训练、AI大模型、AIGC 大规模AI训练、AI大模型、AIGC 表2 SFS Turbo上一代文件系统 参数 标准型 标准型-增强版(停售) 性能型 性能型-增强版(停售) HPC缓存型(停售) 最大带宽 150MB/s 1GB/s 350MB/s 2GB/s 48GB/s 最大IOPS 5K 15K 20K 100K 2000k 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 读时延:亚毫秒级 容量 500GB~32TB 10TB~320TB 500GB~32TB 10TB~320TB 起步容量(GB)=带宽大小*2 最大容量1PB 优势 大容量、低成本 低时延、高IOPS 大带宽、高IOPS 典型应用场景 代码存储、日志存储、文件共享、企业办公 高性能网站、文件共享、内容管理、图片渲染、AI训练、企业办公 超大规模渲染 最大IOPS、最大带宽两个参数的值均为读写总和。比如最大IOPS=IOPS读+IOPS写。 扩容时,SFS Turbo标准型、标准型-增强版(停售)、性能型、性能型-增强版扩容步长至少为100GB,规格为20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB的文件系统扩容步长为1.2TB,且必须为1.2TB的整数倍。
-
应用场景 SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB级规模,最高可提供亚毫秒级低时延、百万级IOPS、百GB带宽。具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。 适用于多种应用场景,包括AI训练、AIGC、自动驾驶、渲染、EDA仿真、企业NAS应用等。 SFS Turbo为用户提供更为丰富的文件系统规格选择,助力更多不同场景下的业务成功上云。 表1 SFS Turbo文件系统 参数 20MB/s/TiB 40MB/s/TiB 125MB/s/TiB 250MB/s/TiB 500MB/s/TiB 1000MB/s/TiB 最大带宽 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 最高IOPS 25万 25万 100万 100万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 1~3ms 容量 3.6TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 优势 大容量、低成本 大容量、低成本 低时延、高性价比 低时延、高性价比 高IOPS、性能高密 高IOPS、性能高密 典型应用场景 日志存储、文件共享、内容管理、网站 日志存储、文件共享、内容管理、网站 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 大规模AI训练、AI大模型、AIGC 大规模AI训练、AI大模型、AIGC 表2 SFS Turbo上一代文件系统 参数 标准型 标准型-增强版(停售) 性能型 性能型-增强版(停售) HPC缓存型(停售) 最大带宽 150MB/s 1GB/s 350MB/s 2GB/s 48GB/s 最高IOPS 5K 15K 20K 100K 2000k 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 读时延:亚毫秒级 容量 500GB~32TB 10TB~320TB 500GB~32TB 10TB~320TB 起步容量(GB)=带宽大小*2 最大容量1PB 优势 大容量、低成本 低时延、高IOPS 大带宽、高IOPS 典型应用场景 代码存储、日志存储、文件共享、企业办公 高性能网站、文件共享、内容管理、图片渲染、AI训练、企业办公 超大规模渲染 最高IOPS、最大带宽两个参数的值均为读写总和。比如最高IOPS=IOPS读+IOPS写。 扩容时,SFS Turbo标准型、标准型-增强版(停售)、性能型、性能型-增强版(停售)扩容步长至少为100GB,规格为20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB的文件系统扩容步长为1.2TB。
-
SFS Turbo 表3 SFS Turbo文件系统 参数 20MB/s/TiB 40MB/s/TiB 125MB/s/TiB 250MB/s/TiB 500MB/s/TiB 1000MB/s/TiB 最大带宽 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 最高IOPS 25万 25万 100万 100万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 1~3ms 容量 3.6TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 优势 大容量、低成本 大容量、低成本 低时延、高性价比 低时延、高性价比 高IOPS、性能高密 高IOPS、性能高密 典型应用场景 日志存储、文件共享、内容管理、网站 日志存储、文件共享、内容管理、网站 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 大规模AI训练、AI大模型、AIGC 大规模AI训练、AI大模型、AIGC 表4 SFS Turbo上一代文件系统 参数 标准型 标准型-增强版 性能型 性能型-增强版 HPC缓存型 最大带宽 150MB/s 1GB/s 350MB/s 2GB/s 48GB/s 最高IOPS 5K 15K 20K 100K 2000k 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 读时延:亚毫秒级 容量 500GB~32TB 10TB~320TB 500GB~32TB 10TB~320TB 起步容量(GB)=带宽大小*2 最大容量1PB 优势 大容量、低成本 低时延、高IOPS 大带宽、高IOPS 典型应用场景 代码存储、日志存储、文件共享、企业办公 高性能网站、文件共享、内容管理、图片渲染、AI训练、企业办公 超大规模渲染 最高IOPS、最大带宽两个参数的值均为读写总和。比如最高IOPS=IOPS读+IOPS写。 扩容时,SFS Turbo标准型、标准型-增强版、性能型、性能型-增强版扩容步长至少为100GB,规格为20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB的文件系统扩容步长为1.2TB。
-
通用文件系统 表2 通用文件系统 参数 说明 最大带宽 1.25TB/s 最高IOPS 百万 时延 10ms 最大容量 EB 优势 大容量、高带宽、低成本 应用场景 大容量扩展以及成本敏感型业务,如 媒体处理 、文件共享、高性能计算、数据备份等。通用文件系统不适合海量小文件业务,推荐使用SFS Turbo文件系统。 时延是指低负载情况下的最低延迟,非稳定时延。 10MB以上为大文件,1MB以上为大IO。
-
SFS容量型 表1 SFS容量型文件系统 参数 说明 最大带宽 2GB/s 最高IOPS 2K 时延 3~20ms 最大容量 4PB 优势 大容量、高带宽、低成本 应用场景 大容量扩展以及成本敏感型业务,如媒体处理、文件共享、高性能计算、数据备份等。SFS容量型文件系统不适合海量小文件业务,推荐使用SFS Turbo文件系统。 时延是指低负载情况下的最低延迟,非稳定时延。 10MB以上为大文件,1MB以上为大IO。 SFS容量型文件系统目前已售罄,请使用通用文件系统,涉及数据迁移的客户可提交工单解决。
-
通用文件系统限制 表2 通用文件系统限制 限制项 说明 访问方式 仅限内网访问,不支持公网访问。 协议限制 仅支持NFS协议(不支持NFSv4,仅支持NFSv3)。 单文件系统最大挂载客户端数量 10,000 文件系统加密 不支持 单文件系统下文件或子目录数 无上限 单目录下最大文件或子目录数 10亿 文件系统名称限制 需全局唯一,不能与已有的通用文件系统名称重复,包括其他用户创建的通用文件。文件系统创建成功后,不支持修改名称。 删除文件系统限制 删除通用文件系统后,需要等待30分钟才能创建同名通用文件系统。 挂载的操作系统限制 不支持挂载至32位的Linux系统云服务器。 不支持挂载至Windows系统的云服务器。 修改文件系统内根目录权限 不支持 CCE/CCI容器场景下使用限制 使用通用文件系统作为后端存储时,对于pvc/pv关联的非空文件系统,不支持直接删除pvc/pv。需要清空文件系统内容才能删除pvc/pv。在未清理文件系统的情况下直接删除pvc/pv,请到通用文件系统侧查看文件系统是否已删除。 使用通用文件系统作为后端存储时,删除pvc/pv过程存在时延,删除过程会进行计费,请以通用文件系统侧删除时间为准。 生命周期管理策略限制 单个文件系统下最多可配置20条生命周期管理规则。 文件语义锁Flock 不支持 标签限制 单个文件系统最多允许添加20个标签。 当一个文件系统添加了多个标签,标签键不允许重复。
-
SFS Turbo文件系统限制 表3 SFS Turbo文件系统限制 限制项 标准型、标准型-增强版、性能型、性能型-增强版 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB HPC缓存型 支持访问方式 VPN/专线/云连接 VPN/专线/云连接 VPN/专线/云连接 最大带宽 标准型:150MB/s 标准型-增强版:1GB/s 性能型:350MB/s 性能型-增强版:2GB/s 说明: 读写速率受挂载客户端的数量影响,详情请参见常见问题如何发挥SFS Turbo文件系统的最大性能?。 20MB/s/TiB、40MB/s/TiB:8GB/s(如需提高吞吐能力,请提交工单申请,最高可达20 GBps) 125MB/s/TiB、250MB/s/TiB:20GB/s(如需提高吞吐能力,请提交工单申请,最高可达100 GBps) 500MB/s/TiB、1000MB/s/TiB:80GB/s(如需提高吞吐能力,请提交工单申请,最高可达2TBps) 说明: 读写速率受挂载客户端的数量影响,详情请参见常见问题如何发挥SFS Turbo文件系统的最大性能?。 48GB/s 说明: 读写速率受挂载客户端的数量影响,详情请参见常见问题如何发挥SFS Turbo文件系统的最大性能?。 最大IOPS 标准型:5K 标准型-增强版:15K 性能型:20K 性能型-增强版:100K 20MB/s/TiB、40MB/s/TiB:25万 125MB/s/TiB、250MB/s/TiB:100万 500MB/s/TiB、1000MB/s/TiB:400万(如需提高IOPS,请提交工单申请,最高可达3000万) 2000K 最低时延 1~2ms 1~2ms 亚毫秒 单文件系统最大容量 标准型、性能型:32TB 标准型-增强版、性能型-增强版:320TB 1PB 1PB 支持协议 仅支持NFSv3 仅支持NFSv3 仅支持NFSv3 单文件系统最大挂载客户端数量 500 3000 3000 单文件系统可添加VPC数量 20 20 20 单文件大小 最大16TB 最大320TB 最大320TB 单文件系统最大文件或子目录数 10亿 说明: 单文件系统下文件或子目录数=总容量(KB)/16,上限为10亿,即得出数量大于10亿时,数量按10亿算。 20亿 说明: 单文件系统下文件或子目录数=总容量(GB) * 25000,上限为20亿,即得出数量大于20亿时,数量按20亿算。 20亿 说明: 单文件系统下文件或子目录数=总容量(GB) * 25000,上限为20亿,即得出数量大于20亿时,数量按20亿算。 单目录下最大文件或子目录数 2000万 说明: 如果用户需要对整个目录进行ls、du、cp、chmod、chown等操作,建议单层目录下不要放置超过50万的文件或子目录,否则可能由于NFS协议需要向服务端发送大量遍历请求而产生排队,导致请求耗时非常长。 2000万 说明: 如果用户需要对整个目录进行ls、du、cp、chmod、chown等操作,建议单层目录下不要放置超过50万的文件或子目录,否则可能由于NFS协议需要向服务端发送大量遍历请求而产生排队,导致请求耗时非常长。 2000万 说明: 如果用户需要对整个目录进行ls、du、cp、chmod、chown等操作,建议单层目录下不要放置超过50万的文件或子目录,否则可能由于NFS协议需要向服务端发送大量遍历请求而产生排队,导致请求耗时非常长。 目录最大深度(单位:层) 100 100 100 最大路径长度(单位:Byte) 1024 4096 4096 最大软链接长度(单位:Byte) 1024 1024 1024 最大硬链接长度(单位:Byte) 255 255 255 文件系统数量配额 默认32个,可提交工单申请扩大配额 默认32个,可提交工单申请扩大配额 默认32个,可提交工单申请扩大配额 备份 支持 支持 不支持 备份原地恢复 不支持 说明: SFS Turbo为单AZ部署,目前还不具备AZ级以上故障恢复能力。 不支持 不支持 文件语义锁Flock 不支持 不支持 不支持 跨区域 域名 挂载 不支持 说明: 使用域名(DNS)挂载文件系统时,不支持跨区域(Region)挂载。如果需要跨区域挂载,可以通过指定IP的方式挂载。 通过域名(DNS)随机将该文件系统挂载到云服务器时,在未达到云服务器满载性能前,可能出现挂载不均匀的现象。可通过增加挂载点的数量的方式,最大限度利用所有可用云服务器的资源。 不支持 不支持 缓存加速 不支持 支持(仅保证最终一致性,如需关闭,请提交工单反馈) 说明: 最终一致性意味着当通过多客户端访问共享文件系统时,因为一个客户端的访问请求可能路由到不同的分布式后端,当命中到分布式后端的本地cache时,可能无法实时获取到其他客户端的更新操作。 如果一定要多客户端并发写同一个文件,为了增强文件的一致性,建议您将多客户端挂载到同一个虚拟IP上。 支持(仅保证最终一致性,如需关闭,请提交工单反馈) 说明: 最终一致性意味着当通过多客户端访问共享文件系统时,因为一个客户端的访问请求可能路由到不同的分布式后端,当命中到分布式后端的本地cache时,可能无法实时获取到其他客户端的更新操作。 如果一定要多客户端并发写同一个文件,为了增强文件的一致性,建议您将多客户端挂载到同一个虚拟IP上。 标签限制 单个文件系统最多允许添加20个标签。 当一个文件系统添加了多个标签,标签键不允许重复。
-
SFS容量型文件系统限制 表1 SFS容量型文件系统限制 限制项 说明 访问方式 仅限内网访问,不支持公网访问;只能在云上使用,不支持云下使用。 协议限制 支持NFS协议(不支持NFSv4,仅支持NFSv3)和CIFS协议(不支持SMB1.0版本,支持SMB2.0/2.1/3.0版本)。 NFSv3协议下默认的导出选项是rw,no_root_squash,no_all_squash,sync。CIFS协议下默认的导出选项是rw,sync。 CIFS的加密文件系统不支持copychunk复制。 CIFS类型的文件系统不支持使用Linux操作系统的云服务器进行挂载。 同一文件系统不能同时支持NFS协议和CIFS协议。 SMB文件系统只对文件系统级别、而不对文件/目录级别提供权限控制。 单文件系统最大挂载客户端数量 10,000 单文件系统最大容量 4PB 单文件大小 240TB VPC限制 支持多VPC,一个文件系统最多可以添加20个可用的VPC,对于添加的VPC所创建的ACL规则总和不能超过400个。 企业项目限制 不能超过20个,否则可能导致创建SFS容量型文件系统失败。建议使用SFS Turbo文件系统或通用文件系统。 复制功能 不支持 跨区域挂载 不支持 SFS容量型文件系统已售罄,您还可以选择通用文件系统或者SFS Turbo。
-
SFS Turbo SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB级规模,最高可提供亚毫秒级低时延、千万级IOPS、百GB带宽。具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。 适用于多种应用场景,包括AI训练、AIGC、自动驾驶、渲染、EDA仿真、企业NAS应用等。 SFS Turbo为用户提供更为丰富的文件系统规格选择,助力更多不同场景下的业务成功上云。 表2 SFS Turbo文件系统 参数 20MB/s/TiB 40MB/s/TiB 125MB/s/TiB 250MB/s/TiB 500MB/s/TiB 1000MB/s/TiB 最大带宽 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 8GB/s 如需提高吞吐能力,请提交工单申请,最高可达20 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 20GB/s 如需提高吞吐能力,请提交工单申请,最高可达100 GBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 80GB/s 如需提高吞吐能力,请提交工单申请,最高可达2TBps 最高IOPS 25万 25万 100万 100万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 400万 如需提高IOPS,请提交工单申请,最高可达3000万 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 1~3ms 容量 3.6TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 1.2TB~1PB 优势 大容量、低成本 大容量、低成本 低时延、高性价比 低时延、高性价比 高IOPS、性能高密 高IOPS、性能高密 典型应用场景 日志存储、文件共享、内容管理、网站 日志存储、文件共享、内容管理、网站 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 AI训练、自动驾驶、EDA仿真、渲染、企业NAS应用、高性能web应用 大规模AI训练、AI大模型、AIGC 大规模AI训练、AI大模型、AIGC 表3 SFS Turbo上一代文件系统 参数 标准型 标准型-增强版 性能型 性能型-增强版 HPC缓存型 最大带宽 150MB/s 1GB/s 350MB/s 2GB/s 48GB/s 最高IOPS 5K 15K 20K 100K 2000k 平均单路4K延迟 2~5ms 2~5ms 1~3ms 1~3ms 1~3ms 读时延:亚毫秒级 容量 500GB~32TB 10TB~320TB 500GB~32TB 10TB~320TB 起步容量(GB)=带宽大小*2 最大容量1PB 优势 大容量、低成本 低时延、高IOPS 大带宽、高IOPS 典型应用场景 代码存储、日志存储、文件共享、企业办公 高性能网站、文件共享、内容管理、图片渲染、AI训练、企业办公 超大规模渲染 最高IOPS、最大带宽两个参数的值均为读写总和。比如最高IOPS=IOPS读+IOPS写。 扩容时,SFS Turbo标准型、标准型-增强版、性能型、性能型-增强版扩容步长至少为100GB,规格为20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB的文件系统扩容步长为1.2TB。
-
通用文件系统 通用文件系统为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模、TB级带宽,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。 适用于多种应用场景,包括高性能计算、媒体处理、文件共享、内容管理和Web服务等,并且支持低频存储。 如表1,和传统的SFS容量型文件系统对比,通用文件系统具备更高性能。 表1 SFS容量型和通用文件系统 参数 SFS容量型 通用文件系统 最大带宽 2GB/s 1.25TB/s 最高IOPS 2K 百万 时延 3~20ms 10ms 最大容量 4PB EB 优势 大容量、高带宽、低成本 大容量、高带宽、低成本 应用场景 大容量扩展以及成本敏感型业务,如媒体处理、文件共享、高性能计算、数据备份等。 大容量扩展以及成本敏感型业务,如媒体处理、文件共享、高性能计算、数据备份等。 时延是指低负载情况下的最低延迟,非稳定时延。 10MB以上为大文件,1MB以上为大IO。 SFS容量型和通用文件系统不适合海量小文件业务,推荐使用SFS Turbo文件系统。 SFS容量型文件系统目前已售罄,请使用通用文件系统,涉及数据迁移的客户可提交工单解决。
-
跨Region容灾 RDS支持使用 数据复制服务 (Data Replication Service,简称DRS)创建灾备任务,当主实例所在区域发生突发性自然灾害等状况,主节点(Master)和备节点(Slave)均无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库链接地址后,即可快速恢复应用的业务访问。数据复制服务提供的实时灾备功能,可实现主实例和跨区域的灾备实例之间的单主灾备(详见“MySQL到MySQL单主灾备”)或双主灾备(详见“MySQL到MySQL双主灾备”)。
-
风格/情感声音录制 MetaStudio支持6种情感:高兴、悲伤、生气、害怕、惊讶、安慰;6种风格:直播、教培、新闻、营销、客服、故事;外加一个通用风格,共计13种情感/风格。 费用:真人声音录制需要消耗资源,风格/情感的训练无需收费。 音频录制:每种风格/情感录制3句音频,文本样例可参考表1,也可以阅读自己熟悉的情感/风格文本,生成30秒音频。其他音频录制要求,可参考真人声音录制。 音频提交:在创建声音录制任务的时候,将真人声音录制和风格/情感录制的音频全量上传至控制台即可。 目前仅进阶版和高品质声音制作支持风格/情感训练。 表1 情感/情感声音示例 类别 情感/风格 文本 示例音频 情感 悲伤 我的心像是被撕裂了一般疼痛的难受,我的眼泪默默地滑落像是断了线的珠子。 悲伤 生气 郭宇恒你快去写作业,你为什么不能把作业写完了再看电视呢?啊?要妈妈说很多遍吗?为什么就不听呢? 生气 高兴 当录取通知书到手,满心欢喜简直要溢出来啦,好开心呀,终于可以准备去期待已久旅行啦。 高兴 惊讶 诶,好奇怪,我打开冰箱门发现,昨天放进去的两个蛋糕好像不见了?蛋糕怎么会平白无故没了呢? 惊讶 安慰 别难过啦,生活就像天气,有阴也有晴。当下的挫折只是暂时的,往后定有美好在等你。 安慰 恐惧 我的内心充满了恐惧,仿佛有双手、正在勒紧我的脖子我都无法呼吸了。 恐惧 风格 直播 宝子们,福利来啦!今天这款人气单品,现在下单立享五折优惠,库存有限,手慢无哦 直播 新闻 今日,旨在改善民生的新政策正式实施,从住房到医疗,将惠及众多不同年龄段的市民群体。 新闻 故事 很久很久以前,在一片古老森林深处,矗立着一座神秘的城堡,传说其中藏有无尽的宝藏。 故事 教培 同学们,遇到这类难题,这个解题思路很关键,仔细听,掌握了它,同类题都能迎刃而解。 教培 营销 家人们注意!此次特惠商品数量有限,先到先得,如此超值好物,赶紧抢购别错过! 营销 客服 亲,您反馈的问题我们已收到,售后团队马上为您核实处理,定会给您满意答复 。 客服 通用 中性 静静地躺在草地上、看着天空中悠闲的云朵,聆听着轻柔的音乐。 中性 父主题: 声音制作
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。 Content-Type 是 String 发送的实体的MIME类型,参数值为“application/json”。 Enterprise-Project-Id 否 String 企业项目ID。FRS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账,当前仅支持按需计费模式。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 说明: 创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用FRS服务,账单的企业项目会被分类到企业ID对应的企业项目中。 携带格式正确但不存在的ID,正常使用FRS服务,账单的企业项目会显示对应不存在的企业项目ID。 不携带ID或格式错误ID(包含特殊字符等),正常使用FRS服务,账单的企业项目会被分类到"default"中。 表3 请求Body参数 参数名 参数类型 是否必选 说明 image_url String 与image_file、image_base64三选一 图片的URL路径,目前仅支持华为云上OBS的URL,使用时只需保证FRS有权限读取该OBS桶的数据。开通读取权限的操作请参见服务授权。 image_file File 与image_url、image_base64三选一 本地图片文件,图片不能超过8MB,建议小于1MB。上传文件时,请求格式为multipart。 image_base64 String 与image_file、image_url三选一 图像数据,Base64编码,要求: Base64编码后大小不超过8MB,建议小于1MB。 图片为JPG/JPEG/BMP/PNG格式。 external_image_id String 否 用户指定的图片外部ID,与当前图像绑定。用户没提供,系统会生成一个。 该ID长度范围为1~36位,可以包含字母、数字、中划线或者下划线,不包含其他的特殊字符。 external_fields Object 否 根据用户自定义数据类型,填入相应的数值。 需在创建人脸库时定义external_fields字段,才可以在添加人脸时使用该字段,参考自定义字段。 single boolean 否 是否将图片中的最大人脸添加至人脸库。可选值包括: true:传入的单张图片中如果包含多张人脸,则只将最大人脸添加到人脸库中。 false:默认为false。传入的单张图片中如果包含多张人脸,则将所有人脸添加至人脸库中。
-
功能介绍 添加人脸到人脸库中。将单张图片中的人脸添加至人脸库中,支持添加最大人脸或所有人脸。 前提条件: 请确保您已开通人脸搜索服务。 约束限制: 只支持识别JPG、PNG、JPEG、BMP格式的图片。 application/json请求的body中,请使用标准Json格式。 Base64编码中请勿使用回车换行。 系统不保存用户图片。 图片大小小于8MB,由于过大图片会导致时延较长,并且图片信息量不大,建议小于1MB。 图片分辨率小于4096*4096,图片中人脸像素大于80*80,建议120*120以上。 为保证识别效果,人脸图片建议要求如下: 光照大于200lux、无反光强光阴影现象。 人脸无遮挡、整体清晰无拖尾抖动等运动模糊。 侧脸不超过30°、俯仰角小于15°、偏转角小于15°、图片中人脸保持竖置正脸。 其他的约束限制信息请参见约束与限制章节。 建议: 由于过大图片对识别算法精度无明显提升,同时会导致时延较长,建议传入图片小于1MB,一般500KB左右足够。 OBS上存储的图片也建议小于1MB。
-
响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 face_set_id String 人脸库ID。 调用失败时无此字段。 face_set_name String 人脸库名称。 调用失败时无此字段。 faces Array of FaceSetFace objects 人脸库当中的人脸结构,详见FaceSetFace。 调用失败时无此字段。 表5 FaceSetFace 参数 参数类型 描述 bounding_box BoundingBox object 人脸在图像中的位置。 BoundingBox结构见BoundingBox。 external_fields Object 用户添加的额外字段。 external_image_id String 人脸所在的外部图片ID。 face_id String 人脸ID,由系统内部生成的唯一ID。 表6 BoundingBox 参数 参数类型 描述 width Integer 矩形框宽度。 top_left_y Integer 矩形框左上角纵坐标。 top_left_x Integer 矩形框左上角横坐标。 height Integer 矩形框高度。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参考错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
-
通过SQL API 访问数据源 创建 DLI 跨源访问 dws 的关联表。 1 2 3 4 5 6 7 sparkSession.sql( "CREATE TABLE IF NOT EXISTS dli_to_dws USING JDBC OPTIONS ( 'url'='jdbc:postgresql://to-dws-1174404951-W8W4cW8I.datasource.com:8000/postgres',\ 'dbtable'='customer',\ 'user'='dbadmin',\ 'password'='######',\ 'driver'='org.postgresql.Driver')") 建表参数详情可参考表1。 插入数据 1 sparkSession.sql("insert into dli_to_dws values(2,'John',24)") 查询数据 1 jdbcDF = sparkSession.sql("select * from dli_to_dws").show() 操作结果
-
完整示例代码 通过DataFrame API访问 认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 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 # _*_ coding: utf-8 _*_ from __future__ import print_function from pyspark.sql.types import StructType, StructField, IntegerType, StringType from pyspark.sql import SparkSession if __name__ == "__main__": # Create a SparkSession session. sparkSession = SparkSession.builder.appName("datasource-dws").getOrCreate() # Set cross-source connection parameters url = "jdbc:postgresql://to-dws-1174404951-W8W4cW8I.datasource.com:8000/postgres" dbtable = "customer" user = "dbadmin" password = "######" driver = "org.postgresql.Driver" # Create a DataFrame and initialize the DataFrame data. dataList = sparkSession.sparkContext.parallelize([(1, "Katie", 19)]) # Setting schema schema = StructType([StructField("id", IntegerType(), False),\ StructField("name", StringType(), False),\ StructField("age", IntegerType(), False)]) # Create a DataFrame from RDD and schema dataFrame = sparkSession.createDataFrame(dataList, schema) # Write data to the DWS table dataFrame.write \ .format("jdbc") \ .option("url", url) \ .option("dbtable", dbtable) \ .option("user", user) \ .option("password", password) \ .option("driver", driver) \ .mode("Overwrite") \ .save() # Read data jdbcDF = sparkSession.read \ .format("jdbc") \ .option("url", url) \ .option("dbtable", dbtable) \ .option("user", user) \ .option("password", password) \ .option("driver", driver) \ .load() jdbcDF.show() # close session sparkSession.stop() 通过SQL API访问 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 # _*_ coding: utf-8 _*_ from __future__ import print_function from pyspark.sql import SparkSession if __name__ == "__main__": # Create a SparkSession session. sparkSession = SparkSession.builder.appName("datasource-dws").getOrCreate() # Createa data table for DLI - associated DWS sparkSession.sql( "CREATE TABLE IF NOT EXISTS dli_to_dws USING JDBC OPTIONS (\ 'url'='jdbc:postgresql://to-dws-1174404951-W8W4cW8I.datasource.com:8000/postgres',\ 'dbtable'='customer',\ 'user'='dbadmin',\ 'password'='######',\ 'driver'='org.postgresql.Driver')") # Insert data into the DLI data table sparkSession.sql("insert into dli_to_dws values(2,'John',24)") # Read data from DLI data table jdbcDF = sparkSession.sql("select * from dli_to_dws").show() # close session sparkSession.stop()
-
操作前准备 import相关依赖包 1 2 3 from __future__ import print_function from pyspark.sql.types import StructType, StructField, IntegerType, StringType from pyspark.sql import SparkSession 创建会话 1 sparkSession = SparkSession.builder.appName("datasource-dws").getOrCreate()
-
通过DataFrame API访问数据源 连接参数配置 1 2 3 4 5 url = "jdbc:postgresql://to-dws-1174404951-W8W4cW8I.datasource.com:8000/postgres" dbtable = "customer" user = "dbadmin" password = "######" driver = "org.postgresql.Driver" 设置数据 1 dataList = sparkSession.sparkContext.parallelize([(1, "Katie", 19)]) 设置schema 1 2 3 schema = StructType([StructField("id", IntegerType(), False),\ StructField("name", StringType(), False),\ StructField("age", IntegerType(), False)]) 创建DataFrame 1 dataFrame = sparkSession.createDataFrame(dataList, schema) 保存数据到DWS 1 2 3 4 5 6 7 8 9 dataFrame.write \ .format("jdbc") \ .option("url", url) \ .option("dbtable", dbtable) \ .option("user", user) \ .option("password", password) \ .option("driver", driver) \ .mode("Overwrite") \ .save() mode 有四种保存类型: ErrorIfExis:如果已经存在数据,则抛出异常。 Overwrite:如果已经存在数据,则覆盖原数据。 Append:如果已经存在数据,则追加保存。 Ignore:如果已经存在数据,则不做操作。这类似于SQL中的“如果不存在则创建表”。 读取DWS上的数据 1 2 3 4 5 6 7 8 9 jdbcDF = sparkSession.read \ .format("jdbc") \ .option("url", url) \ .option("dbtable", dbtable) \ .option("user", user) \ .option("password", password) \ .option("driver", driver) \ .load() jdbcDF.show() 操作结果
-
完整示例代码 通过SQL API 访问DWS表 import org.apache.spark.sql.SparkSession; public class java_dws { public static void main(String[] args) { SparkSession sparkSession = SparkSession.builder().appName("datasource-dws").getOrCreate(); sparkSession.sql("CREATE TABLE IF NOT EXISTS dli_to_dws USING JDBC OPTIONS ('url'='jdbc:postgresql://10.0.0.233:8000/postgres','dbtable'='test','user'='dbadmin','password'='**')"); //*****************************SQL model*********************************** //Insert data into the DLI data table sparkSession.sql("insert into dli_to_dws values(3,'Liu'),(4,'Xie')"); //Read data from DLI data table sparkSession.sql("select * from dli_to_dws").show(); //drop table sparkSession.sql("drop table dli_to_dws"); sparkSession.close(); } }
-
通过SQL API 访问数据源 创建DLI跨源访问DWS的关联表,填写连接参数。 1 sparkSession.sql("CREATE TABLE IF NOT EXISTS dli_to_dws USING JDBC OPTIONS ('url'='jdbc:postgresql://10.0.0.233:8000/postgres','dbtable'='test','user'='dbadmin','password'='**')"); 插入数据 1 sparkSession.sql("insert into dli_to_dws values(3,'Liu'),(4,'Xie')"); 查询数据 1 sparkSession.sql("select * from dli_to_dws").show(); 插入数据后:
-
整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建Kafka的Topic:创建Kafka生产消费数据的Topic。 步骤3:创建RDS数据库和表:创建RDS MySQL数据库和表信息。 步骤4:创建增强型跨源连接:DLI上创建连接Kafka和RDS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:Kafka上发送流数据,在RDS上查看运行结果。
-
场景描述 该场景为根据商品的实时点击量,获取每小时内点击量最高的3个商品及其相关信息。商品的实时点击量数据为输入源发送到Kafka中,再将Kafka数据的分析结果输出到RDS中。 例如,输入如下样例数据: {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:01:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:02:00", "product_id":"0002", "product_name":"name1"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 08:06:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:10:00", "product_id":"0003", "product_name":"name3"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:15:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0003", "user_name":"Cindy", "event_time":"2021-03-24 08:16:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 08:56:00", "product_id":"0004", "product_name":"name2"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:05:00", "product_id":"0005", "product_name":"name4"} {"user_id":"0001", "user_name":"Alice", "event_time":"2021-03-24 09:10:00", "product_id":"0006", "product_name":"name5"} {"user_id":"0002", "user_name":"Bob", "event_time":"2021-03-24 09:13:00", "product_id":"0006", "product_name":"name5"} 预期输出: 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0002,name1,2 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0004,name2,2 2021-03-24 08:00:00 - 2021-03-24 08:59:59,0005,name4,2 2021-03-24 09:00:00 - 2021-03-24 09:59:59,0006,name5,2 2021-03-24 09:00:00 - 2021-03-24 09:59:59,0005,name4,1
共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